系统管理指南:设备和文件系统

备份文件系统

以下是执行备份的一般原则:

Procedure如何将文件系统备份到磁带

以下是使用 ufsdump 命令备份文件系统的常规步骤。这些示例说明了选项和参数的特定用途。

  1. 成为超级用户或承担等效角色。

  2. 使系统进入运行级 S(单用户模式)。

    例如:


    # shutdown -g30 -y
    
  3. (可选)检查文件系统的一致性。

    例如:


    # fsck -m /dev/rdsk/c0t0d0s7
    

    fsck -m 命令用于检查文件系统的一致性。例如,电源故障可能会使文件处于不一致的状态。有关 fsck 命令的更多信息,请参见第 22 章,检查 UFS 文件系统一致性(任务)

  4. 如果需要将文件系统备份到远程磁带机,请执行以下步骤:

    1. 在连接磁带机的系统(磁带服务器)上,将以下项添加到该系统的 /.rhosts 文件中:


      host root

      host 项指定了要在其中运行 ufsdump 命令来执行备份的系统的名称。

    2. 在磁带服务器上,检验添加到 /.rhosts 文件中的主机是否可通过名称服务进行访问。

  5. 确定磁带机的设备名称。

    缺省的磁带机为 /dev/rmt/0 设备。

  6. 将可写的磁带插入磁带机。

  7. 备份文件系统。


    # ufsdump options arguments filenames
    

    可以备份文件系统或目录,也可以备份文件系统中的文件。有关备份各个文件的信息,请参见 tar(1)cpio(1)

    以下示例说明如何使用最常见的 ufsdump 选项和参数:

    有关其他 ufsdump 选项和参数的信息,请参见第 28 章,UFS 备份和恢复命令(参考)

  8. 如果出现提示,请取出磁带并插入下一个磁带卷。

  9. 使用卷编号、转储级别、日期、系统名称、磁盘片和文件系统标记每个磁带。

  10. 通过按 Control-D 组合键使系统回到运行级 3。

  11. 检验备份是否成功。


    # ufsrestore tf device-name
    

示例 25–3 执行根 (/) 文件系统的完整备份

以下示例说明如何执行根 (/) 文件系统的完整备份。本示例中的系统将在备份之前进入单用户模式。包括以下 ufsdump 选项:

例如:


# init 0

ok boot -s

# ufsdump 0ucf /dev/rmt/0 /

  DUMP: Date of this level 0 dump: Wed Jul 28 16:13:52 2004

  DUMP: Date of last level 0 dump: the epoch

  DUMP: Dumping /dev/rdsk/c0t0d0s0 (starbug:/) to /dev/rmt/0.

  DUMP: Mapping (Pass I) [regular files]

  DUMP: Mapping (Pass II) [directories]

  DUMP: Writing 63 Kilobyte records

  DUMP: Estimated 363468 blocks (177.47MB).

  DUMP: Dumping (Pass III) [directories]

  DUMP: Dumping (Pass IV) [regular files]

  DUMP: Tape rewinding

  DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec

  DUMP: DUMP IS DONE

  DUMP: Level 0 dump on Wed Jul 28 16:13:52 2004

  # ufsrestore tf /dev/rmt/0

         2      .

         3      ./lost+found

         4      ./usr

         5      ./export

         6      ./export/home

         7      ./var

         8      ./var/sadm

         9      ./var/sadm/install

        10      ./var/sadm/install/admin

       823      ./var/sadm/install/admin/default

        11      ./var/sadm/install/logs

       697      ./var/sadm/install/logs/SUNWmpatchmgr

       905      ./var/sadm/install/logs/Additional_Software_install...

       906      ./var/sadm/install/logs/Additional_Software_install...

        13      ./var/sadm/install/.lockfile

        14      ./var/sadm/install/install.db

       824      ./var/sadm/install/special_contents

       838      ./var/sadm/install/contents

                .

                .

                .

  # (Press Control-D to bring system to run level 3)


示例 25–4 执行根 (/) 文件系统的增量备份

以下示例说明如何在单用户模式下执行根 (/) 文件系统的增量备份。包括以下 ufsdump 选项:


# init 0

ok boot -s

# ufsdump 9ucf /dev/rmt/0 /

 DUMP: Date of this level 9 dump: Wed Jul 28 14:26:50 2004

 DUMP: Date of last level 0 dump: Wed Jul 28 11:15:41 2004

 DUMP: Dumping /dev/rdsk/c0t0d0s0 (starbug:/) to /dev/rmt/0.

 DUMP: Mapping (Pass I) [regular files]

 DUMP: Mapping (Pass II) [directories]

 DUMP: Writing 63 Kilobyte records

 DUMP: Estimated 335844 blocks (163.99MB).

 DUMP: Dumping (Pass III) [directories]

 DUMP: Dumping (Pass IV) [regular files]

 DUMP: 335410 blocks (163.77MB) on 1 volume at 893 KB/sec

 DUMP: DUMP IS DONE

 DUMP: Level 9 dump on Wed Jul 28 14:30:50 2004

 # ufsrestore tf /dev/rmt/0

         2      .

         3      ./lost+found

      5696      ./usr

     11392      ./var

     17088      ./export

     22784      ./export/home

     28480      ./opt

      5697      ./etc

     11393      ./etc/default

     11394      ./etc/default/sys-suspend

     11429      ./etc/default/cron

     11430      ./etc/default/devfsadm

     11431      ./etc/default/dhcpagent

     11432      ./etc/default/fs

     11433      ./etc/default/inetinit

     11434      ./etc/default/kbd

     11435      ./etc/default/nfslogd

     11436      ./etc/default/passwd

     11437      ./etc/default/tar

                .

                .

                .


示例 25–5 执行起始目录的完整备份

以下示例说明如何执行 /export/home/kryten 起始目录的完整备份。包括以下 ufsdump 选项:


# ufsdump 0ucf /dev/rmt/0 /export/home/kryten

  DUMP: Date of this level 0 dump: Wed Jul 28 15:02:48 2004

  DUMP: Date of last level 0 dump: the epoch

  DUMP: Dumping /dev/rdsk/c0t0d0s7 (starbug:/export/home) to /dev/rmt/0.

  DUMP: Mapping (Pass I) [regular files]

  DUMP: Mapping (Pass II) [directories]

  DUMP: Writing 63 Kilobyte records

  DUMP: Estimated 2412 blocks (1.18MB).

  DUMP: Dumping (Pass III) [directories]

  DUMP: Dumping (Pass IV) [regular files]

  DUMP: 2392 blocks (1.17MB) on 1 volume at 4241 KB/sec

  DUMP: DUMP IS DONE

# ufsrestore tf /dev/rmt/0

       232      ./kryten

       233      ./kryten/filea

       234      ./kryten/fileb

       235      ./kryten/filec

       236      ./kryten/letters

       237      ./kryten/letters/letter1

       238      ./kryten/letters/letter2

       239      ./kryten/letters/letter3

       240      ./kryten/reports

       241      ./kryten/reports/reportA

       242      ./kryten/reports/reportB

       243      ./kryten/reports/reportC

#


示例 25–6 执行到远程系统的完整备份(Solaris 10 数据到 Solaris 10 系统)

以下示例说明如何在单用户模式下将 Solaris 10 系统 (mars) 上的本地 /export/home 文件系统完整备份到远程 Solaris 10 系统 (earth) 上的磁带设备。包括以下 ufsdump 选项:


# ufsdump 0ucf earth:/dev/rmt/0 /export/home

  DUMP: Date of this level 0 dump: Wed Jul 28 15:52:59 2004

  DUMP: Date of last level 0 dump: the epoch

  DUMP: Dumping /dev/rdsk/c0t0d0s7 (mars:/export/home) to earth:/dev/rmt/0.

  DUMP: Mapping (Pass I) [regular files]

  DUMP: Mapping (Pass II) [directories]

  DUMP: Writing 63 Kilobyte records

  DUMP: Estimated 8282 blocks (4.04MB).

  DUMP: Dumping (Pass III) [directories]

  DUMP: Dumping (Pass IV) [regular files]

  DUMP: Tape rewinding

  DUMP: 8188 blocks (4.00MB) on 1 volume at 67 KB/sec

  DUMP: DUMP IS DONE

  DUMP: Level 0 dump on Wed Jul 28 15:52:59 2004

# ufsrestore tf earth:/dev/rmt/0

         2      .

         3      ./lost+found

         4      ./kryten

         5      ./kryten/filea

         6      ./kryten/fileb

         7      ./kryten/filec

         8      ./kryten/letters

         9      ./kryten/letters/letter1

        10      ./kryten/letters/letter2

        11      ./kryten/letters/letter3

        12      ./kryten/reports

.

.

.

 #