salvage - Recover file data from damaged AdvFS file
domains
/sbin/advfs/salvage [-x | -p] [-l] [-S] [-P] [-v number]
[-d time] [-D directory] [-L path] [-o option] [-F format[-f
[archive]]] {-V special [-V special]... | domain}
[fileset[path]]
Specifies that the utility attempt to recover only those
files that have been modified after the time. Specify the
time as a decimal number in the following format:
[[CC]YY]MMDDhhmm[.SS]
The paired decimal numbers in the format represent
the following:
CC The first two digits of the year (the century)
YY The second two digits of the year (00-99)
MM The month of the year (01-12)
DD The day of the month (00-31)
hh The hour of the day (00-23)
mm The minute of the hour (00-59)
SS The second of the minute (00-61)
Both CC and YY are optional. If neither is specified,
the curent year is the default. If YY is
specified but CC is not, CC is derived as follows:
If YY is 69-99, CC is 19; if YY is 00-68, CC is
20.
The range for SS is 00-61 rather than 00-59 because
of leap seconds. If SS is 60 or 61 and the resulting
time (as affected by the TZ environment variable)
does not refer to a leap second, the resulting
time is one or two seconds after a time where
SS is 59. SS is not a given value; it is assumed
to be 0 (zero). Specifies the path of the directory
to which all recovered files are written. If
you do not specify a directory, the utility writes
recovered files to the current working directory.
Specifies verbose mode for messages written to the
log file. If you specify this option, the utility
writes a message to the log file for every file
that is encountered during the recovery. The message
contains the file name and file status. You
specify the path of the log file by using the -L
option.
If you do not specify this option, the utility
writes a message to the log file only for partially-recovered
and unrecovered files. Specifies
the path of the directory or the file name for the
log file you choose to contain messages logged by
the utility.
When your path specification includes a log file
name, the utility uses that name for the log file.
When your path specification does not include a log
file name, the utility places the log file in that
directory and names it salvage.log.pid, where pid
is the process id of the user process.
When you do not specify this option, the utility
places the log file in the current working directory
and names it salvage.log.pid. Specifies the
action the utility takes when a file being recovered
already exists in the directory to which it is
to be written.
The values for option are: Overwrite the existing
file without querying the user. This is the
default action when option is not specified. Do
not overwrite the existing file. Ask the user
whether to overwrite the existing file.
If you do not specify this option, the default
action is to overwrite an existing file without
querying the user. Specifies that the utility
identifies a partially-recovered file by appending
to its file name. If you do not use this option,
no file name extensions are added to partiallyrecovered
files.
Do not use the -p option with the -x option. If
you do, an error message is displayed and the utility
exits with an exit value of 2. Specifies that
the progress indicators should be turned on and a
progress message printed at regular intervals. The
progress indicators can be useful if salvage is
taking a long time to run on a very large domain.
Specifies that the utility is to run in sequential
search mode, checking each page on each volume in
the domain. This mode of operation will take a
long time on large AdvFS file domains.
The -S option can be used to recover most files
from a domain which has been damaged from an incorrect
execution of the mkfdmn utility. In some
cases, the recovery will need to generate names
based on the file's tag number. These cases usually
happen in the root directory, because mkfdmn
usually overwrites this directory.
When you specify the -S option, there may be a
security issue, because the utility could recover
old filesets and deleted files. Specifies that
salvage should recover files in an archive format
instead of directly to a filesystem. The only
legitimate value for format is tar. The salvage
command uses the next argument as the name of the
archive, or /dev/tape/tape0_d1 if archive is not
specified. If the name of the file is - (dash),
salvage writes to standard output. Specifies the
type of messages directed to stdout. If you do not
specify this option, the default is to direct only
error messages to stdout. If you specify n to be
1, both errors and the names of partially-recovered
files are directed to stdout. If you specify n to
be 2, error messages and the status of all files as
they are recovered are directed to stdout. Specifies
the block device special file names of volumes
in the domain, for example, /dev/disk/dsk3c. The
utility attempts to recover files only from the
volumes you specify.
If you do not specify the -V option, you must specify
the domain operand so that the utility can
obtain the special file names of the volumes in the
domain from the /etc/fdmns directory.
Do not use this option with the domain operand. If
you do, an error message is displayed and the utility
exits with an exit value of 2. Specifies that
partially-recoverable files are not to be recovered.
If you do not use this option, partiallyrecoverable
files are recovered.
Do not use the -x option with the -p option. If
you do, the utility displays an error message and
exits with an exit value of 2.
Specifies the name of an existing AdvFS file domain from
which filesets are to be recovered. Use this parameter
when you want the utility to obtain volume information
from the /etc/fdmns directory. The volume information
used by the utility consists of the device special file
names of the AdvFS volumes in the file domain. When the
domain operand is specified without optional arguments,
the utility attempts to recover the files in all filesets
in the domain.
Do not use this operand when you want to use the -V
special option to specify device special file names
of AdvFS volumes. If you do, the utility displays
an error message and exits with an exit value of 2.
Specifies the name of a fileset to be recovered
from a domain or a volume.
Specify path to indicate the path of a directory or
file in a fileset. When you specify a path that is
a directory, the utility attempts to recover only
the files in that directory tree, starting at the
specified directory. When you specify a path that
is a file, the utility attempts to recover only
that file.
Specify path relative to the mount point of the
fileset.
The salvage utility helps you recover file data after an
AdvFS file domain has become unmountable due to some type
of data corruption. Errors that could cause data corruption
of a file domain include I/O errors in file system
metadata, the accidental removal of a volume, or any I/O
error that produces a panic.
Use the salvage utility as a last resort. You should first
repair domain structures by using the verify utility. If
that repair method is unsatisfactory, attempt to recover
fileset data from backup media. Only if both methods are
unsatisfactory should you employ the salvage utility.
Space Needed By salvage [Toc] [Back]
As the utility recovers files, it writes temporary files
to a subdirectory of the recovery directory, and uses
these files to process the on-disk structures it is reading.
The utility deletes these temporary files when it
exits.
Format of Log File Messages [Toc] [Back]
The following are log file message formats: The general
format is:
fileset/file : uid : gid : size : bytes recovered : type :
file status...
For example, for a regular file:
user_fs/data.file : 3500 : 15 : 56116 : 56116 : REG : file
successfully \ recovered
For example, for a directory:
user_fs/data/ : 3500 : 15 : 8192 : 8192 : DIR : file successfully
\ recovered
For a file and a directory, when its name cannot be found:
user_fs/data.file.lost+found/tag_12345 : 0 : 10 : 24576 :
24576 : REG :\ filename not recovered
user_fs/data/lost+found/tag_54321/ : 0 : 10 : 8192 : 8192
: DIR :\ directory not recovered
For a file, when the ending fragment cannot be found:
user_fs/data.file : 3500: 15 : 56116 : 55092 : REG : file
truncated by \
1024 bytes
For a file, when not all the file's pages can be recovered:
user_fs/data.file : 3500 : 15 : 1646592 : 24576 : REG :
Incomplete file,\
hole between bytes MMMMM and NNNNN, bytes XXXXX
and YYYYY
For a file, when it has an entry in a directory but cannot
be found on disk:
user_fs/data.file : 3500 : 15 : 56116 : 0 : REG : Unable
to locate file
The salvage utility opens and reads block devices directly
and could present a security issue if it recovers data
remaining from previous AdvFS file domains while attempting
to recover data from current AdvFS file domains.
The salvage utility can be run in single-user mode, without
mounting other file systems. The salvage utility is
available from the UNIX Shell option when you are booting
from the Tru64 UNIX Operating System Volume 1 CD-ROM.
The salvage utility can find metadata on disk that appears
valid but might not be: in most cases, the utility can
determine when this suspect metadata should be used or
ignored. One of these problems that the utility cannot
detect is the situation when the metadata contains a tag
number that could be valid on a very large fileset, but is
invalid for common filesets. In this case, the utility
creates a partial file in the lost+found directory.
The salvage utility has a builtin soft limit on the number
of valid tags in a fileset: 10,000,000 tags. If an
application should exceed this soft limit, the user is
prompted about increasing the limit. For example: salvage:
Current soft-limit on tag array 10000000; increase size \
to 538977250?
If you answer y to the prompt, the soft limit is increased
to the new value. If you answer n to the prompt, the hard
limit is set to the new value and you will not be prompted
for tabs larger than this new limit.
If increasing this limit causes a memory error, rerun the
utility without increasing the limit.
You must be the root user to use the salvage utility.
Before using the salvage utility, all filesets in the
domain you are trying to recover probably have been
already unmounted. However, use the umount(8) command to
ensure that the filesets are unmounted. If all filesets
are not unmounted, the utility displays an error message
exits with an exit value of 2.
The exit values for the salvage utility are: Success Partial
recovery Failure, including command line syntax
errors
The salvage utility error diagnostics cause the utility to
exit with an exit code of 2. The diagnostics are: salvage:
Error - Out of memory
Explanation:
The utility does not have enough memory salvage:
Error - No such file or directory
Explanation:
The file or directory you specified could not be
found on the device specified. salvage: Error -
I/O error
Explanation:
An I/O error occurred during the salvage operation.
salvage: Error - No space left in recovery directory
Explanation:
The directory to which the recovered files are
written is full.
The following example shows a salvage command that uses
all the defaults to recover all files from the AdvFS file
domain named user_domain. Other results include: A log
file named salvage.log.pid is written to the fixit directory
The files that are recovered from the user_domain are
also written to the fixit directory Partially-recoverable
files are recovered. These files are written to the fixit
directory. The extension is not appended to the name of
each file. # cd /fixit # /sbin/advfs/salvage -p
9611200000 user_domain The following example shows a salvage
command that uses the -d option to recover all the
file in the domain user_domain that have been changed
after that date. # cd /fixit # /sbin/advfs/salvage -d
9611200000 user_domain The following example shows a salvage
command that recovers the file data.file, whether or
not it is only partially recoverable, from the fileset
user_fileset on the volume mounted as /dev/disk/dsk3c.
The data.file file is written to the recovery
directory and logged in the log file only if it was
partially recovered. # cd /fixit #
/sbin/advfs/salvage -V /dev/disk/dsk3c user_fileset/data.file
The following example shows a salvage
command that recovers the file data.file, only if
it is fully-recoverable, from the fileset
user_fileset on the domain user_domain.
The data.file file, if it is not recovered, is
logged in the log file. Otherwise, it is written
to the recovery directory. # cd /fixit #
/sbin/advfs/salvage -x user_domain user_fileset/data.file
Contains AdvFS file domain names and devices Contains
static information about file systems and filesets
Commands: umount(8), verify(8), vrestore(8)
Files: fdmns(4)
salvage(8)
[ Back ] |