table of contents
DEBUGVMFS(8) | vmfs-tools | DEBUGVMFS(8) |
NAME¶
debugvmfs - VMFS file system debuggerSYNOPSIS¶
debugvmfs VOLUME... COMMAND [ OPTIONS ]DESCRIPTION¶
The debugvmfs program allows to display various informations about VMFS file systems, and to access data within the file systems.SPECIFYING FILES¶
Some commands take a filespec as an argument. A filespec may take either of the following forms:•A path name, relative to the root of
the filesystem if it starts with '/', or relative to the current working
directory otherwise (interactive mode only).
•An inode number, enclosed between angle
brackets, e.g. '<4>', '<0x1400004>'
COMMANDS¶
cat filespec [ ... ]Outputs the content of the given files from
the VMFS.
ls [ -l ] filespec
Lists files contained at the given location
within the VMFS.
With -l, gives some more information, much like the output from
ls(1) when given the -l option.
truncate filespec length
Truncate the file to the specified length. R/W
support must be enabled.
chmod filespec mode
Change file permissions to the given
mode.
df
Outputs information about file system
size.
get_file_block filespec position
Get file block corresponding to position in
the specified file.
check_vol_bitmaps
Checks volume bitmaps consistency.
show_heartbeats
Outputs active heartbeats on the file
system.
read_block block_id [ ... ]
Outputs content within the specified block_id
in binary
get_block_status block_id
Get status (allocated or free) of the
specified block_id.
alloc_block_fixed block_id
Allocate the specified block_id. R/W support
must be enabled.
alloc_block block_type
Allocate a block of the specified type. R/W
support must be enabled.
Allowed block types are: 1 (File Block), 2 (Sub-Block), 3 (Pointer Block) and 4
(File Descriptor / Inode).
free_block block_id
Free the specified block_id. R/W support must
be enabled.
Warning: can cause damage since no heartbeat is used at this time and a block
used by a file can be freed.
show
Display value(s) of the given variable. See
the VARIABLES section for more details. When no variable is given, it
lists the top-level properties.
shell
Starts an interactive session. All of the
above commands can be executed from within the interactive session.
The current working directory can be changed with the cd command,
followed by a filespec.
The following output redirections are supported within the shell:
•
cmd > output
Puts the output of cmd in the output file.
•
cmd >> output
Appends the output of cmd to the output file.
•
cmd | external command
Sends the output of cmd to the input of external command. The
external command itself can contain output redirection.
Examples:
•read_block 0x00000681 | less
•cat /.fdc.sf | hexdump -C
•cat /.fdc.sf | hexdump -C >
/tmp/fdc.hex
•cat /.fdc.sf | hexdump -C | less
VARIABLES¶
Variables in debugvmfs represent structures on the filesystem. The currently supported top-level variables are the following:•
vol_version
•
version
•
label
•
mode
•
uuid
•
ctime
•
block_size
•
subblock_size
•
fdc_header_size
•
fdc_bitmap_count
•
fbb
•
fdc
•
pbc
•
sbc
•
fs
•
lvm
•
blkid[blk]
•
dirent["path"]
•
inode["filespec"]
•
bitmap.items_per_bitmap_entry
•
bitmap.bmp_entries_per_area
•
bitmap.hdr_size
•
bitmap.data_size
•
bitmap.area_size
•
bitmap.area_count
•
bitmap.total_items
•
bitmap.used_items
•
bitmap.free_items
•
bitmap.entry[n]
•
bitmap.entry[n].id
•
bitmap.entry[n].total
•
bitmap.entry[n].free
•
bitmap.entry[n].ffree
•
bitmap.entry[n].mdh
•
bitmap.entry[n].item[m]
•
bitmap.entry[n].item[m].used
•
bitmap.entry[n].item[m].dump
•
pbc.entry[n].item[m].blocks
•
lvm.uuid
•
lvm.size
•
lvm.blocks
•
lvm.num_extents
•
lvm.extent[n]
•
lvm.extent[n].device
•
lvm.extent[n].uuid
•
lvm.extent[n].lun
•
lvm.extent[n].version
•
lvm.extent[n].name
•
lvm.extent[n].size
•
lvm.extent[n].num_segments
•
lvm.extent[n].first_segment
•
lvm.extent[n].last_segment
•
blkid[blk].item
•
blkid[blk].flags
•
dirent["path"].type
•
dirent["path"].block_id
•
dirent["path"].record_id
•
dirent["path"].name
•
inode["filespec"].id
•
inode["filespec"].id2
•
inode["filespec"].nlink
•
inode["filespec"].type
•
inode["filespec"].flags
•
inode["filespec"].size
•
inode["filespec"].blk_size
•
inode["filespec"].blk_count
•
inode["filespec"].uid
•
inode["filespec"].gid
•
inode["filespec"].mode
•
inode["filespec"].zla
•
inode["filespec"].tbz
•
inode["filespec"].cow
•
inode["filespec"].atime
•
inode["filespec"].mtime
•
inode["filespec"].ctime
•
inode["filespec"].rdm_id
•
inode["filespec"].mdh
•
inode["filespec"].blocks
•
mdh.magic
•
mdh.pos
•
mdh.hb_pos
•
mdh.hb_lock
•
mdh.hb_uuid
•
mdh.hb_seq
•
mdh.obj_seq
•
mdh.mtime
•
blkid[inode["filespec"].id]
•(blkid[blk].item).status
AUTHORS¶
Christophe Fillot < cf@utc.fr[1]>, Mike Hommey <mh@glandium.org[2]>SEE ALSO¶
vmfs-fuse(8)NOTES¶
- 1.
- cf@utc.fr
mailto:cf@utc.fr
- 2.
- mh@glandium.org
mailto:mh@glandium.org
03/25/2012 | 0.2.5.19.g4a80 |