12    Administering the Archiving Services

One of the more common tasks of a system administrator is helping users recover lost or corrupted files. To perform that task effectively, you must set up procedures for backing up files at frequent and regular intervals. This chapter discusses how to back up and restore files, and describes the following tasks:

Note

You can also use the SysMan dxarchiver command to perform some of these tasks.


The Digital UNIX operating system has other facilities you can use to back up and restore files: These capabilities are briefly surveyed in the following sections. Then, the archiving tasks are described.


12.1    NetWorker SingleServer Save and Restore

NetWorker SingleServer Save and Restore is a graphical utility that backs up and recovers local files on a single machine to a local tape or loader.

Instructions for installing NetWorker SingleServer Save and Restore are in the Digital UNIX Installation Guide.

NetWorker SingleServer is a subset of Digital's POLYCENTER NetWorker Save and Restore which backs up and restores files on multiple machines across a TCP/IP network, in addition to single machines.

NetWorker SingleServer is shipped with preconfigured settings that provide you with the ability to start backing up files immediately.

NetWorker SingleServer protects your data by automating the day-to-day process of backing up the server. NetWorker SingleServer offers features similar to the multiclient NetWorker products -- except that it supports a single client rather than multiple clients. When NetWorker SingleServer is installed on a machine, the machine becomes a client of itself.

Currently, a Digital UNIX user must know what utility ( tar, cpio, dump/restore, or vdump/vrestore) was used to perform a backup in order to restore information from the archive. NetWorker SingleServer eliminates the need to know what utility was used to perform the backup.

The NetWorker SingleServer utility offers the following features:


12.2    POLYCENTER NetWorker Save and Restore

Digital offers POLYCENTER NetWorker Save and Restore for backing up a network of systems. Depending on your needs, this product will back up just a few systems or hundreds of systems on a single network. For more information, see your Digital representative.


12.3    Bootable Tape

You can create a bootable Standalone System (SAS) kernel on tape. The SAS kernel has a built-in memory file system (mfs), which contains the minimum commands, files, and directories needed to restore the system image. This is referred to as the miniroot file system.

To create the SAS kernel, you must use the btcreate utility. Once you have created the kernel, you can restore the customized image using the btextract utility. The following sections provide an overview of the btcreate and btextract utilities. For information on syntax and examples, see the reference page for each utility.


12.3.1    Using the btcreate Utility

To build a bootable SAS kernel on UFS or AdvFS file systems only, you must use the btcreate utility. This section provides an overview of the information you must have to create the SAS kernel on tape.

The btcreate utility provides both a noninteractive and interactive user interface. Both require that you have superuser privileges before using. To execute, this utility requires 156000 blocks (512 bytes per block) of disk space in the /usr directory.


12.3.1.1    Gathering Information

To prepare for a btcreate session, you must have the following information available:


12.3.1.2    Creating the SAS Kernel

To create the SAS kernel, the btcreate utility copies the /usr/sys/conf/YOUR_SYSTEM_NAME configuration file to /usr/sys/conf/YOUR_SYSTEM_NAME.BOOTABLE and modifies it as follows:

config    vmunix   root  on md
pseudo-device      memd  30720
These modifications indicate that a memory file system of 30720 is being configured. The memory file system and the disk partition where the miniroot file system reside are equivalent in size.

After modifying the configuration file, the btcreate utility executes the doconfig command and moves the bootable kernel to the /usr/sys/bin directory. For information on syntax format and flags, see the btcreate reference page.


12.3.2    Using the btextract Utility

The btextract utility is a shell script that restores file systems from tapes that contain the bootable Standalone System (SAS) kernel. The SAS kernel is created using the btcreate utility. You have the option of performing a DEFAULT restore or an ADVANCED restore of the system.

Performing a DEFAULT restore, you can duplicate the customized system on more than one machine of the same hardware platform type; however you cannot specify which disk partitions to use for the restore operation. Instead, the btextract utility restores file systems using the disk partition information gathered during the btcreate session; all existing information is overwritten.

Performing an ADVANCED restore, you can specify which disk partition to use, but the customized system can only be duplicated on a machine of the same hardware platform type.

To use the btextract utility, place the system in a halt state, initialize the system, then boot from the tape as follows:

>>> init
>>> show dev
>>> boot -fl "nc" MKA500

In the previous example, the show dev command provides the device name under BOOTDEV and MKA500 is the BOOTDEV.

After the initial boot is complete, the shell invokes the btextract utility. If you created a /usr/lib/sabt/sbin/custom_install.sh script during the btcreate session, the btextract utility invokes the custom_install.sh script before exiting. See the btcreate reference page for more information.

After the btextract utility completes its task, you must shut down the system, then reboot the system from the restored disk as follows:

# shutdown -h now
>>> boot DKA100

In this example, DKA100 is the BOOTDEV.

For more information and examples, see the btextract reference page.


12.4    Backing Up Data

It is important that all the files on your system, data files as well as system files, be protected from loss. Therefore, you should back up your entire system, including the system software. Most system files are static; that is, once they are installed they do not often change. Therefore, they do not need to be backed up as frequently as data files, which are dynamic, meaning they change constantly. Incremental backups are also possible.

Each file system backup is a single process. To ease the backup process, organize your file systems so that dynamic files are on file systems that are backed up regularly and static files are on file systems that are backed up occasionally. You may find that you have dynamic files on file systems that are backed up occasionally. If this happens and you wish to back them up regularly, just prior to performing a backup, copy the frequently changing files to systems that are backed up regularly. This allows you to back up those files without backing up an entire file system. You could write a shell script to automate these tasks for you.

The dump command copies all designated UFS file systems, or individual files and directories changed after a specified date, to a file, pipe, magnetic tape, disk, or diskette. The vdump command copies all AdvFS filesets. Refer to Chapter 8 for information on copying AdvFS file systems. You must have superuser privileges to use the dump command.


Note

To produce valid backups on a UFS file system, you must back up a file system while it is inactive. It is recommended that you unmount the file system and check it for consistency. As an added precaution, put the system into single-user mode before starting your backup operations. This is not true for AdvFS. Refer to Chapter 8 for information on restoring AdvFS file systems.


The remainder of this section describes the procedure for shutting down a system and unmounting and checking the integrity of a file system.

You can back up the system while in either multiuser mode or single-user mode. However, backups performed on file systems actively being modified might corrupt the backup data. The dump command operates by checking the inodes of the files you want to back up. The inodes contain data such as table entries and other statistics. When you use the dump command to back up files in a file system, an inode is attached to each file. If the system or user activity changes a file after the inode data is recorded, but before the file is backed up, the backup may be corrupted.

To shut down the system, unmount a file system, and check the integrity of a file system:

  1. Shut down the system.

    For example, to shut down the system in 5 minutes and give users periodic warning messages, enter:

    # /usr/sbin/shutdown +5 'System going down to perform backups'

  2. Use the umount command with the -a option to unmount the file systems that you want to back up:
    # /sbin/umount -a
    Note that the root file system remains mounted.

  3. Use the fsck command to ensure the integrity of the file system.

    For example, to check a file system for an RZ57, unit 0, partition c, enter:

    # /sbin/fsck -o /dev/rz0c

This chapter describes a backup strategy that uses the dump and restore group of backup commands. Other backup strategies are possible. For example, you could use the find command to produce a list of files that must be backed up and pipe the list to a backup program such as tar or cpio. Refer to the find(1), tar(1), and cpio(1) reference pages for more information.


12.4.1    Choosing a Backup Schedule

When deciding how often to back up each file system, you should think about the balance between the potential loss of user time and data and the time it takes you to perform backups. Ask yourself the question, "How much information can I afford to lose?" The answer will help you determine your minimum backup interval. On most systems the backup interval is daily, but you can choose any other interval.

It is not necessary to back up all the files in a file system at each backup. Back up only those files that have changed since a previous backup; this is called an incremental backup. Using the dump and restore commands, you can perform up to nine levels of incremental backups. For example, while a level 0 dump backs up an entire file system, a level 1 dump backs up only those files since the last level 0 dump, and a level 7 dump backs up only those files since the last lower level dump.

To integrate incremental backups into your file backup schedule, you need to balance the time and tape space required for backup against the amount of time it could take you to restore the system in the event of a system failure. For example, you could schedule backup levels following the 10-day sequence:

[0 1 2 3 4 5 6 7 8 9]

On the first day you save an entire file system (level 0). On the second day you save changes since the first backup and so on until the eleventh day when you restart the sequence. This makes the amount of time spent and data saved on each backup relatively small each day except the first; however, if a system failure on the tenth day requires that you restore the entire system, you must restore all ten tapes.

Most systems follow some variant of the common Tower of Hanoi backup schedule. Once a month you make a level 0 dump to tape of all the regularly backed up file systems. Then once a week, you make a level 1 dump to start a daily sequence of:

[...3 2 5 4 7 6 9 8 9 9 ...]

If you do backups only once a day on the weekdays, you end up with a monthly backup schedule as follows:

[0 1 3 2 5 4 1 3 2 5 4 ...]

This schedule, although slightly complex, requires that you restore at most four tapes at any point in the month if a system failure corrupts files. Of course, doing a level 0 dump daily requires that you restore at most one tape at any point, but requires a large amount of time and tape storage for each backup. On most days in the Tower of Hanoi schedule, very little time and tape storage are required for a backup.


12.4.2    Performing a Full Backup

You should set up a schedule for performing a full backup of each file system on your entire system, including all the system software. A conservative schedule for full system backups is to do one with each normal level 0 dump (using Tower of Hanoi, once a month), but you can set any schedule you like within the reliability of your storage media, which is about two years for magnetic tapes. To back up your file system, use the dump command, which has the following command syntax:

dump options filesystem

The options parameter specifies a list of flags and their arguments and the filesystem parameter specifies the file system to be backed up. You should specify the file system with a full pathname. The dump command can back up only a single file system at a time, but there may be several dump processes simultaneously writing files to different tape devices.

The dump(8) reference page describes the command options that you use to specify the characteristics of the tape device, such as block size, tape storage density, and tape length. The following list describes the most commonly used options to the dump command:

-integer

Specifies the dump level as an integer (0-9). A dump level of 0 causes a full dump of the specified file system. All other dump levels cause an incremental backup. That is, only files that have changed since the last dump of a lower dump level are backed up. The /etc/dumpdates file contains a record of when the dump command was used on each file system at each dump level. The -u option to the dump command updates the dumpdates file.

-f dump_file

Writes the dump to the device specified by dump_file instead of to the default device, /dev/rmt0h. When dump_file is specified as a dash (-), the dump command writes to the standard output.

-u

Updates the /etc/dumpdates file with the time of the dump and the dump level for the file system in the backup. You use this file during incremental dumps (by using the dump level option) to determine which files have changed since a particular dump level. You can edit the /etc/dumpdates file to change any record or fields, if necessary. The dump(8) reference page describes the format of this file.

To back up your entire file system to the default backup device, use the dump command for each file system on your machine. The dump command has the following command syntax:

dump-0u filesystem

The filesystem parameter specifies the name of a file system on your machine. The -0u option causes a level 0 dump and updates the /etc/dumpdates file with the time and date of the backup for each file system. This creates an initial point on which to base all future incremental backups until the next full or level 0 dump. Note that each file system must be backed up individually.

For example, if you want to perform a level 0 dump of the root, /usr, and /projects file system partitions, follow these steps:

  1. To back up the root file system, load a tape into your tape drive and enter:
    # dump -0u /
    After completing the backup, remove the tape from your tape drive.

  2. To back up the /usr file system, load a new tape into your tape drive and enter:
    # dump -0u /usr
    After completing the backup, remove the tape from your tape drive.

  3. To back up the /projects file system, load a new tape into your tape drive and enter:
    # dump -0u /projects

You can either back up each file system on an individual tape, or you can back up multiple file systems on one tape by specifying the no-rewind device, /dev/nrmt0h, as the output device. The following examples show the root, /usr, and /projects file systems being backed up on one tape:
# dump -0uf /dev/nrmt0h /

# dump -0uf /dev/nrmt0h /usr

# dump -0uf /dev/nrmt0h /projects
The previous example may require additional media management to cross-reference dump files with tapes, especially when a single dump file spans media. Exercise care when labeling this type of backup media.


12.4.3    Performing an Incremental Backup

You should set up a routine as part of your backup schedule to make it easier to remember which backup to do each day. This routine should include a mechanism for logging your backups and their dump level and for listing the tapes on which they are made. Because of the chance of system corruption, you should not keep this information on the computer system.

Once you have established a system for making incremental backups, the procedure is simple. Assume you use the following backup schedule to do a daily backup of /usr:

0 1 9 9 9 1 9 9 9 9 . . .
On Monday, perform a level 0 dump:
# dump -0u /usr
On Tuesday, perform a level 1 dump:
# dump -1u /usr
The level 1 dump backs up all the files that changed since Monday. On Wednesday through Friday you perform a level 9 dump (which always backs up all the files that have changed since Tuesday's level 1 dump):
# dump -9u /usr
To perform the same level 9 dump to the tape device named /dev/rmt1h instead of the default tape device, use the -f option as shown in the following example:
# dump -9uf /dev/rmt1h /usr
The argument to the -f option specifies a tape device local to the system from which you are performing the dumps.


12.4.4    Performing a Remote Backup

Some machines in a networked system environment might lack a local tape drive that you can use for making backup tapes. You can use the rdump command to make backups on a remotely located tape device. The rdump command is identical to the dump command except that it requires the -f option to specify the machine name and an attached backup device. The rdump command has the following command syntax:

rdump-f machine:device options filesystem

The machine parameter specifies the name of the remote machine that has the backup device and device specifies the name of the backup device on that remote machine. The colon (:) between the machine and device parameters is necessary just as in other network file-addressing mechanisms.

The options parameter refers to the same list of flags available with the dump command.

The filesystem parameter refers to the local file system to be backed up.

The rdump command updates the /etc/dumpdates file on the local machine in the same way as does the dump command. The rdump command starts a remote server, /usr/sbin/rmt, on the remote machine to access the storage medium. This server process should be transparent. Refer to the rmt(8) reference page for more information.

To back up the /projects file system from machine1 onto a tape drive on machine2 with the attached backup device /dev/rmt0h, enter the following command from machine1. The name of machine1 must be in the /.rhosts file of machine2 to allow access from machine1 to machine2.

# rdump -0uf machine2:/dev/rmt0h /projects
The dump(8) reference page describes the options to the rdump command.


12.4.5    Using Backup Scripts

You can automate the backup process by using shell scripts. The cron daemon can execute these shell scripts late in the evening when there is less chance of the dump commands making errors due to a changing system.

Backup shell scripts often perform the following tasks:

Some time during the day, load a tape into the tape drive. At the specified time, the cron daemon runs the backup shell scripts. When the shell procedures are finished, remove the backup tape and archive it.

Note that backup shell scripts are best used when the dump is small enough to fit on a single tape. You will need to specify the no-rewind device and the -N option to the dump command to inhibit the tape from automatically going off line when each dump completes. When dump reaches the end of the tape, it will take the tape off line and someone will need to be available to replace the tape.


12.5    Restoring Data

Occasionally, you will have to retrieve files from your backup tapes, and you will likely need to restore entire file systems at some time. If you have set up a good backup procedure, then restoring files or full file systems should be a simple task.

If a serious problem occurs, you may have to restore your entire system. Before restoring, determine what caused the problem with the system.

After determining the cause of the problem, reinstall your system from the initial boot tapes. The installation instructions that came with your system explain this procedure.

Once your system is up and running, restore the system to the state it was in just prior to the system crash. If you are using AdvFS, use the vrestore command. Refer to Chapter 8 for information on restoring the AdvFS file system. If you are using UFS, use the restore command to restore data from tapes made with the dump command. Because the dump command saves a single file system at a time, you must execute the restore command for each file system you wish to restore. The restore command has the following command syntax:

restoreoptions

The options parameter indicates the flags and arguments that you use to specify the characteristics of the tape device and special restore options. Refer to the restore(8) reference page for more information about these options. The following list describes the most commonly used options to the restore command:

-i

The i (interactive) flag starts interactive restoration of files from the tape. After reading directory information from the tape, this option provides a shell-like interface that allows you to select the files you want to restore. The commands available in interactive mode are described in Section 12.5.3.

-r

The r (restore) flag restores the entire contents of the file system on the backup tape into the current working directory. You should not do this except to restore an entire file system into an empty directory or to restore file system incremental dumps.

-s

The s (skip) flag identifies which dump file on the media the restore command will use. This is useful when the dump media contains more than one dump image and not all of them will be restored. To effectively use this option, you must be consistent in the order in which you dump images to the tape. For example, if you dump multiple file systems to a single backup tape nightly, dump the file systems in the same order each night. This will assist you in locating a particular file or file system at restore time.

-t names

The t (table of contents) flag creates a list of files and directories on the tape that matches the names argument. If you specify names, the restore command returns a list of the files and directories that are on the tape that matches the specified names. The names argument should be specified as ./filename . For example, if the .rhosts file and the staff directory exist on the tape, the restore -t ./.rhosts ./staff command will list the file and the directory. If you do not specify names, the restore command returns a complete listing of the backed up files on the tape.

-x names

The x (extract) flag restores from the tape the files and directories specified by the names argument. The names argument contains a list of files and directories to be restored from the tape. Specify names as ./filename . For example, the restore -x ./.rhosts ./staff command will restore the .rhosts file and the ./staff directory. If names specifies a directory name, then all the files in the directory are recursively restored.

-f dump_file

The f flag used with the dump_file argument restores the dump from the device specified by the dump_file argument instead of the default device, /dev/rmt0h.

-F command_file

The F flag used with the command_file argument specifies a file from which interactive restore commands are read. You should use this option in conjunction with the -i option.

If you are restoring a file system other than root or /usr, go to Section 12.5.1. If you are restoring the root and /usr file systems, go to Section 12.5.5. If the /var directory is on a separate file system than /usr, go to Section 12.5.5.


12.5.1    Restoring a File System

There may be times when you will need to restore a file system. This section describes a general procedure for restoring a file system. To restore individual files, go to Section 12.5.2.

When you restore a UFS file system, you create a new file system and restore the files from the dump files by using the following command syntax. Refer to Chapter 8 for information on restoring an AdvFS file system.

newfsraw_device

mountblock_device [ filesystem]

cdfilesystem

restore-Yrf dump_file

If the disk does not have a label, write the label by using the disklabel command before you create the new file system. Use the following command syntax to determine if the disk has a label:

disklabel-r disk

Writing a label with customized partition table settings may affect the entire disk. Use the following command syntax to write the default disk partition table:

disklabel-rw disk disk_type

The disk parameter specifies the disk that includes the device mnemonic and unit number. The disk_type parameter specifies the type of disk associated with the disk as described in the /etc/disktab file.

Invoke the editing option of the disklabel command to use the customized partition table settings. Refer to Chapter 7 or to disklabel(8) for more information.

The raw_device parameter specifies the full raw device pathname of the disk device on your system. The block_device parameter specifies the full block device pathname of the disk device on your system. The filesystem parameter specifies the full pathname of the file system you want to make available. The dump_file parameter specifies the full pathname of the file containing the dump data.

The following example shows the commands you use to restore a file system called /usr/projects on an RZ57 disk from a tape:

# disklabel -rw rz1 rz57

# newfs /dev/rrz1c

# mount /dev/rz1c /usr/projects

# cd /usr/projects

# restore -Yrf /dev/rmt0h


12.5.2    Restoring Files

When users lose files, they ask their system administrator to restore those files. Users may also ask you to restore an earlier version of a file. Whatever the reason for a file restoration, determine which tape contains the correct version of the file. If you are restoring a file on UFS, use the restore command to restore the file. If you are restoring a file on AdvFS, refer to the
vrestore(8) reference page for information.

By asking when the file was lost and when it was last modified, you can use your backup log to determine which tape contains the most recent version of the wanted file. Use the -t option with the restore command to determine whether a file is on the selected tape. Use the following syntax:

restore-t ./filename

The -t option creates a list of files and directories on the tape that matches the ./filename argument. For example, to list the contents of the working subdirectory of the /usr file system on a particular backup tape, load the tape and enter:

# restore -t ./working
To create a list of the entire contents of a backup tape, load the backup tape and enter:
# restore -t
Make a listing of each backup tape after you create it. This verifies a successful backup and gives you a place to look up what files are on the tape.

After determining the location of the file, create a new directory for the file. If you restore the file into an existing directory and the file already exists, the restored file will overwrite the existing file. Restore the file by using the following form of the restore command:

restore-x ./filename

The file will be restored into your current working directory.

For example, to restore the working/old.file file from a /usr file system backup tape into your current directory, load the backup tape and enter:

# restore -x ./working/old.file
To restore the entire contents of the working subdirectory from the same tape, enter:
# restore -x ./working
If your dump media contains multiple dump images, you need to know the sequence of the dump images in order to restore a file from one of the images. To examine the contents of the first dump image on the media, load the tape and enter:
# restore -ts 1
The -s option followed by the number 1 specifies the first dump image.

For example, to restore the working/old.file file from a /usr file system, which is the third dump image on the backup tape into your current directory, load the backup tape and enter:

# restore -xs 3 ./working/old.file


12.5.3    Restoring Files Interactively

To ease the task of restoring multiple files, use the -i option to the restore command. This option starts an interactive restore session. The interactive mode has commands similar to shell commands.

To begin an interactive restore session, enter:

# restore -i
The system responds with the following prompt:
restore >
The following command-line options are available in the interactive restore mode:
ls [ directory ]

Lists files in the current or specified directory. Directory entries end with a / (slash). Entries that have been marked for reading begin with an * (asterisk).

cd [ directory ]

Changes the current directory to the directory specified by directory.

pwd

Lists the pathname of the current directory.

add [ files ]

Adds the files in the current directory or the files specified by files to the list of files recovered from the tape. Once they are specified to be read by the add command, files are marked with an * (asterisk) when they are listed with the ls command.

delete [ files ]

Deletes all the files in the current directory or the files specified by files from the list of files recovered from the tape.

extract

Restores from the tape the files that are marked to be read into the current working directory. The extract command prompts you for the logical volume that you want to mount (usually 1), and whether the access modes of the dot (.) are affected; answer yes when you are restoring the entire root directory.

setmodes

Sets owner, access modes, and file creation times for all directories that have been added to the files-to-read list; no files are recovered from the tape. Use this command to clean up files after a restore command has been prematurely aborted.

verbose

Toggles verbose mode. In verbose mode, each file name is printed to the standard output. By default, verbose mode is set to off. This is the same as the -v command line option to the restore command.

help

Lists a summary of the interactive commands.

?

Lists a summary of the interactive commands.

what

Lists the tape header information.

quit

Quits the interactive restore session.

xit

Exits from the interactive restore session. The xit command is the same as the quit command.

To interactively restore the ./working/file1 and ./working/file2 files from a backup tape, load the tape and enter:
# restore -i
Once in interactive mode, follow these steps to add the files to the list of files to be extracted:

  1. Change to the working directory:
    restore > cd working

  2. At the prompt, enter the file name.
    restore > add file1

  3. Enter the name of the second file.
    restore > add file2

  4. Extract the files.
    restore > extract

  5. You are prompted for the logical volume you want to mount; usually you respond to this prompt with 1.
    You have not read any tapes yet.
    Unless you know which volume your file(s) are on you can start
    with the last volume and work towards the first.
    
    
    Specify next volume #: 1
    You are then asked whether the extract affects the access modes of the dot (.). For this example, reply with n.
    set owner/mode for '.'? [yn] n

  6. Once the files are extracted, quit the interactive session.
    restore > quit

The file1 and file2 files are now in the current directory.

You can automate this procedure in a command file that is read by the -F option to the restore command. For example, the following command file, named restore_file, performs the restore operation shown in the previous example:

cd working
add file1
add file2
extract
1
n
quit
To read and execute this shell script, enter the following command:
# restore -iF restore_file
The result of the procedure in this script is identical to that of the previous interactive restore session.


12.5.4    Performing Remote Restores

There may be times when you need to perform remote restores. You can use the rrestore command to perform restores to local directories from a remote tape device. The rrestore command requires the -f option to specify the machine name and its backup device. The restore command has the following syntax:

rrestore-f machine:device [options]

The machine argument specifies the name of the remote machine where the backup device is attached, and device specifies the name of the backup device on that remote machine. The colon (:) between machine and device is necessary just as in other network file-addressing mechanisms.

The options for the rrestore command are the same as for the restore command. See Section 12.5 for a description of the options.

To restore the ./working/file1 file onto the local directory on machine1 from a backup tape mounted on machine2 where the backup device /dev/rmt0h is attached, enter the following command from machine1. The name machine1 must be in the /.rhosts file of machine2 to allow access from machine1 to machine2.

# rrestore -xf machine2:/dev/rmt0h ./working/file1
The rrestore command starts a remote server, /usr/sbin/rmt, on the remote machine to access the storage medium. This process should be transparent. Refer to the rmt(8) reference page for more information. See Section 12.5 for a description of the options to the rrestore command.


12.5.5    Restoring the root and /usr File Systems

This section describes a procedure for restoring the root and /usr file systems. The root file system must be restored before you can restore the /usr file system. If the /var directory is on a file system other than /usr, repeat the steps in this section for restoring /var.

The procedure in this section requires that you have access to the most recent dump files of your root and /usr file systems. You should use this procedure only when a catastrophic error occurs on the system disk, such as a disk crash or when an inadvertent deletion of either the root or /usr file systems renders the system inoperative.

The following example assumes that you are restoring from level 0 dump files and that you are using the text-based (or character cell) interface to the task.

  1. Load the installation software. For removable media such as tape or CD-ROM, insert the media into the appropriate drive. For RIS installations, verify that the inoperative system has been registered on the RIS server. See Sharing Software on a Local Area Network for details. If the dump file is located on a remote system, include the hostname of the inoperative system in the /.rhosts file of the remote system. For security reasons, be sure to delete the hostname from the /.rhosts file after the restore operation has completed.

  2. Boot the Digital UNIX software as described for your processor and distribution media in the Installation Guide. If your system had a graphical interface, the Installation Setup screen would be displayed, rather than the following menu. However, in both cases you would select the UNIX Shell option.

  3. Select the UNIX Shell option at the prompt.

  4. Create the special files for the root file system device and dump file device. After creating the system disk special file, configure the network by configuring the network interface and creating the hostname database (/etc/hosts). Use the ifconfig command with the following syntax to configure the network interface:

    ifconfiginterface_id local_address mask

    The interface_id parameter refers to the network device mnemonic. Refer to the uerf(8) reference page for information about obtaining an interface ID. The local_address parameter specifies the Internet address for the local host. The netmask mask parameter specifies how much of the address to reserve for subdividing networks into subnetworks. You can get the netmask value by entering the ifconfig command on a system within the immediate area. For example, to get the netmask value from the system ln0, enter:

    # ifconfig ln0
    Refer to the hosts(4) and ifconfig(8) reference pages for more information. Enter the following commands to configure the network for the system localsystem, with an Internet address of 120.105.5.1, connected by an Ethernet interface to the remote system remotesystem, with an Internet address of 120.105.5.2:
    # cd /etc
    
    # echo "127.0.0.1 localhost" >> hosts
    
    # echo "120.105.5.2 remotesystem" >> hosts
    
    # ifconfig ln0 120.105.5.1 netmask 0xfffffc00
    Some older systems broadcast all 0s instead of all 1s. In this situation, you must also specify the broadcast address.

  5. Change to the root directory.
    # cd /

  6. If the disk does not have a label, which could occur if the disk was physically damaged or replaced, write the default disk partition tables and bootstrap programs. The disk partitions and bootstrap programs should be operational. To determine if the disk has a valid label, use the disklabel command with the following syntax:

    disklabel-r disk

    Use the disklabel command with the following syntax to write the default disk partition table:

    disklabel-rw disk disk_type

    The disk parameter specifies the disk that includes the device mnemonic and unit number. The disk_type parameter specifies the type of disk associated with disk as described in the /etc/disktab file. For example, to write the default disk partition tables on an RZ57 disk, unit 0, enter the following command:

    # disklabel -rw rz0 rz57

    Note

    The disklabel command used in this procedure writes the default disk partition tables to the disk. Writing a label with customized partition table settings may affect the entire disk. If the disk you are restoring has customized partition table settings, invoke the editing option of the disklabel command. Refer to Chapter 7 or to the disklabel(8) reference page for more information.


  7. Create a new root file system by using the following command syntax:

    newfsraw_device

    The raw_device parameter specifies the full raw device pathname of the disk device on your system. For example, to create a new file system on an RZ57, unit 0, enter:

    # newfs /dev/rrz0a

  8. Mount the file system by using the following command syntax:

    mountblock_device [ /mnt]

    The block_device parameter specifies the full block device pathname of the disk device. For example, to mount the file system created in the previous step, enter:

    # mount /dev/rz0a /mnt

  9. Restore the file system:

  10. Change to the root directory and unmount the file system.
    # cd /
    
    # umount /mnt

  11. Restore the /usr file system.

  12. Halt the system.
    # halt

  13. Boot the system as described for your processor and distribution media in the Installation Guide.


12.5.5.1    Local Restoration Example

The following text-based example shows a portion of the restoration procedure for the root and /usr file systems to an RZ57, unit 0, from a TLZ06, unit 5. The backslashes in this example indicate line continuation and are not in the actual display.

.
.
.
Select one of the following options: 1) Default Installation 2) Custom Installation 3) UNIX Shell Enter your choice: 3 # cd /dev # MAKEDEV rz0 tz5 MAKEDEV: special file(s) for rz0: rz0a rrz0a rz0b rrz0b rz0c rrz0c rz0d rrz0d rz0e rrz0e rz0f \ rrz0f rz0g rrz0g rz0h rrz0h MAKEDEV: special file(s) for tz5: rmt0l nrmt0l rmt0h nrmt0h rmt0m nrmt0m rmt0a nrmt0a # cd / # disklabel -rw rz0 rz57 # newfs /dev/rrz0a Warning: 575 sector(s) in last cylinder unallocated /dev/rrz0a: 40960 sectors in 39 cylinders of 15 tracks, \ 71 sectors 21.0MB in 3 cyl groups (16 c/g, 8.72MB/g, 2048 i/g) super-block backups (for fsck -b #) at: 32, 17152, 34272, # mount /dev/rz0a /mnt # cd /mnt # restore -Yrf /dev/rmt0h # cd / # umount /mnt # newfs /dev/rrz0g Warning: 105 sector(s) in last cylinder unallocated /dev/rrz0g: 614400 sectors in 577 cylinders of 15 tracks, 71 \ sectors 314.6MB in 37 cyl groups (16 c/g, 8.72MB/g, 2048 i/g) super-block backups (for fsck -b #) at: 32, 17152, 34272, 51392, 68512, 85632, 102752, 119872, 136992, 154112, 171232, 188352, 205472, 222592, 239712, 256832, \ 272672, 289792, 306912, 324032, 341152, 358272, 375392, 392512, 409632, \ 426752, 443872, 460992, 478112, 495232, 512352, 529472, 545312, 562432, \ 579552, 596672, 613792, # mount /dev/rz0g /mnt # cd /mnt # restore -Yrf /dev/rmt0h # cd / # umount /mnt # halt syncing disks... done halting.... (transferring to monitor)


12.5.5.2    Remote Restoration Example

The following text-based example shows a portion of the restoration procedure for the root and /usr file systems to an RZ57, unit 0, from a remote tape device. The remote system is called remotesystem and has an Internet address of 120.105.5.2. The local system is called localsystem and has an Internet address of 120.105.5.1.

.
.
.
Select one of the following options: 1) Default Installation 2) Custom Installation 3) UNIX Shell Enter your choice: 3 # cd /dev # MAKEDEV rz0 MAKEDEV: special file(s) for rz0: rz0a rrz0a rz0b rrz0b rz0c rrz0c rz0d rrz0d rz0e rrz0e rz0f rrz0f rz0g \ rrz0g rz0h rrz0h # cd /etc # echo "127.0.0.1 localhost" >> hosts # echo "120.105.5.2 remotesystem" >> hosts # ifconfig ln0 120.105.5.1 netmask 0xfffffc00 # cd / # disklabel -rw rz0 rz57 # newfs /dev/rrz0a Warning: 575 sector(s) in last cylinder unallocated /dev/rrz0a: 40960 sectors in 39 cylinders of 15 tracks, 71 sectors 21.0MB in 3 cyl groups (16 c/g, 8.72MB/g, 2048 i/g) super-block backups (for fsck -b #) at: 32, 17152, 34272, # mount /dev/rz0a /mnt # cd /mnt # rsh remotesystem "dd if=/dev/rmt0h bs=10k" | restore -Yrf - 1743+0 records in 1743+0 records out # cd / # umount /mnt # newfs /dev/rrz0g Warning: 105 sector(s) in last cylinder unallocated /dev/rrz0g: 614400 sectors in 577 cylinders of 15 tracks, 71 sectors 314.6MB in 37 cyl groups (16 c/g, 8.72MB/g, 2048 i/g) super-block backups (for fsck -b #) at: 32, 17152, 34272, 51392, 68512, 85632, 102752, 119872, 136992, 154112, 171232, 188352, 205472, 222592, 239712, 256832, 272672, 289792, 306912, 324032, 341152, 358272, 375392, 392512, 409632, 426752, 443872, 460992, 478112, 495232, 512352, 529472, 545312, 562432, 579552, 596672, 613792, # mount /dev/rz0g /mnt # cd /mnt # rsh remotesystem "dd if=/dev/rmt0h bs=10k" | restore -Yrf - 19922+0 records in 19922+0 records out # cd / # umount /mnt # halt syncing disks... done halting.... (transferring to monitor)