バックアップを実行する際の一般的なガイドラインは次のとおりです。
シングルユーザーモードを使用するか、ファイルシステムをマウント解除する。
ディレクトリレベルの処理 (ファイルの作成、削除、名前変更など) とファイルレベルの処理が行われているときにファイルシステムのバックアップを実行すると、バックアップに組み込まれないデータがあるので注意する。
1 台のシステムから ufsdump コマンドを実行し、リモートシェルまたはリモートログインを通じてネットワーク上のシステムグループのバックアップを実行し、その出力をテープドライブがあるシステムに転送できる (通常、テープドライブは ufsdump コマンドを実行するシステム上にあるが、他の場所にあってもかまわない)。
ファイルのバックアップをリモートドライブに作成するには、ufsdump コマンドの出力を dd コマンドにパイプする方法もある。dd コマンドの使用方法については、第 37 章「UFS ファイルとファイルシステムのコピー手順」を参照。
ネットワーク上でリモートバックアップを実行する場合は、バックアップを開始するシステムの /.rhosts ファイル内に、バックアップを実行するホストのエントリがなければならない。
システム上でリモートドライブを指定するには、リモートテープドライブを持つシステムの OS バージョンと一致する命名規則を使用する。たとえば、SunOS 4.1.x を実行中のシステム上のリモートドライブには /dev/rst0 を使用し、Solaris 2.x を実行中のシステムには /dev/rmt/0 を使用する。
Solaris 2.5 リリース以降が動作している NIS+ マスターサーバーをバックアップするためには nisbackup コマンドを使用して下さい。このコマンドを使用する方法については、『Solaris ネーミングの管理』を参照してください。
次は、ufsdump コマンドを使用してファイルシステムのバックアップを作成する一般的な手順です。この中の例では、オプションと引数の使用方法を示しています。
スーパーユーザーになります。
システムを停止します。
# init 0
システムをレベル S (シングルユーザーモード) にします。
ok boot -s
[省略可能] fsck コマンドを使用してファイルシステムの整合性をチェックします。
-m オプションを使用して fsck コマンドを実行すると、ファイルシステムの整合性がチェックされます。たとえば、電源障害が発生すると、ファイルが非整合状態になることがあります。fsck コマンドについての詳細は、第 31 章「ファイルシステムの完全性チェック」を参照してください。
# fsck -m /dev/rdsk/ device-name
ファイルシステムをリモートテープドライブにバックアップする場合
テープドライブのデバイス名を確認します。
デフォルトのテープドライブは、/dev/rmt/0 です。
書き込み保護されていないテープをテープドライブに挿入します。
ufsdump コマンドを使用してファイルシステムのバックアップを作成します。
次の表を使用して、ufsdump コマンドの最も一般的なオプションと引数を選択します。他のオプションと引数については、第 36 章「ufsdump コマンドと ufsrestore コマンドの参照情報」を参照してください。
操作 |
使用するオプションまたは引数 |
例 |
参照先 |
---|---|---|---|
完全バックアップを実行する |
0 オプション |
ufsdump 0ucf /dev/rmt/n files | |
増分バックアップを実行する |
1 から 9 までのオプション |
ufsdump 9ucf /dev/rmt/n files | |
個々のファイルのバックアップを実行する |
filename 引数 |
ufsdump 9ucf /dev/rmt/n /export/home/user1/mail | |
ダンプを /etc/dumpdates ファイルに記録する |
-u オプション (ファイルを更新) |
ufsdump 9ucf /dev/rmt/n files | |
カートリッジテープを指定する |
-c オプション |
ufsdump 9ucf /dev/rmt/n files | |
テープドライブのファイル名を指定する |
-f dump-file |
ufsdump 9ucf /dev/rmt/1 files | |
ローカルファイルシステムをリモートホストのテープデバイスにバックアップする |
remote-host: 引数 |
ufsdump 0ucf mars:/dev/rmt/0 files |
「例 - リモートシステムへの完全バックアップ (Solaris 2.x のデータを Solaris 2.x システムへ)」 |
プロンプトが表示されたら、テープを取り出して次のテープと交換します。
各テープにボリューム番号、レベル、日付、システム名、ファイルシステム名を記入したラベルを貼ります。
Control-d キーを押してシステムをレベル 3 の動作に戻します。
ufsrestore コマンドでテープの内容を表示して、バックアップが成功していることを確認します。
このコマンドは、第 35 章「ファイルとファイルシステムの復元の手順」で説明します。
次の例では、ルート (/) ファイルシステムの完全バックアップが 150M バイトのカートリッジテープ (/dev/rmt/0) 上に作成されます。
# init 0 ok boot -s # ufsdump 0ucf /dev/rmt/0 / DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Wed Nov 06 15:32:21 1996 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t3d0s0 (mars:/) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 41236 blocks (20.13MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 41200 blocks (20.12MB) on 1 volume at 95 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Wed Nov 06 15:32:21 1996 # ufsrestore tf /dev/rmt/0 (Verification starts here) 2 . 3 ./lost+found 5696 ./usr 11392 ./export 17088 ./opt 22784 ./var 28480 ./var/sadm 34176 ./var/sadm/install 39872 ./var/sadm/install/admin 39879 ./var/sadm/install/admin/default . . . # # (Press Control-D to bring system to run level 3)
次の例では、/export/home ファイルシステムの完全バックアップが 4 mm のテープ上に作成されます。
# ufsdump 0ucf /dev/rmt/0 /export/home DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Wed Nov 06 16:18:08 1996 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t3d0s7 (mars:/export/home) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 13504 blocks (6.59MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 13480 blocks (6.58MB) on 1 volume at 92 KB/sec DUMP: DUMP IS DONE DUMP: Level 0 dump on Wed Nov 06 16:18:08 1996 # ufsrestore tf /dev/rmt/0 113920 ./x97_sysmgt 159488 ./kryten 159489 ./kryten/.login 159490 ./kryten/.cshrc 170880 ./kryten/directives 170882 ./kryten/directives/directive.2001 170883 ./kryten/directives/directive.450b 170881 ./kryten/directives/directive.115c 159491 ./kryten/tar_file . . . #
この例では、ルート (/) ファイルシステムの増分バックアップを 4 mm の DAT テープデバイスに行ないます。
# ufsdump 9ucf /dev/rmt/0 / DUMP: Writing 63 Kilobyte records DUMP: Date of this level 9 dump: Wed Nov 06 16:14:51 1996 DUMP: Date of last level 0 dump: Wed Nov 06 15:32:21 1996 DUMP: Dumping /dev/rdsk/c0t3d0s0 (mars:/) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 3708 blocks (1.81MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 3652 blocks (1.78MB) on 1 volume at 75 KB/sec DUMP: DUMP IS DONE DUMP: Level 9 dump on Wed Nov 06 16:14:51 1996 # ufsrestore tf /dev/rmt/0 2 . 10752 ./var 13440 ./var/sadm 2689 ./var/sadm/install 2690 ./var/sadm/install/.lockfile 2766 ./var/sadm/install/contents 10753 ./var/sadm/pkg 2734 ./var/adm 2780 ./var/adm/sa 2951 ./var/adm/sa/sa24 2735 ./var/cron 2885 ./var/cron/log 8086 ./var/spool 8087 ./var/spool/locks 8088 ./var/tmp #
この例では、/export/home/kryten ディレクトリの完全バックアップを 4 mm DAT テープに行ないます。
# ufsdump 0ucf /dev/rmt/0 /export/home/kryten DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Wed Nov 06 16:12:41 1996 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t3d0s7 (mars:/export/home) to /dev/rmt/0. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Estimated 280 blocks (140KB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] DUMP: Tape rewinding DUMP: 250 blocks (125KB) on 1 volume at 15 KB/sec DUMP: DUMP IS DONE # ufsrestore tf /dev/rmt/0 2 . 2688 ./kryten 5409 ./kryten/letters 5410 ./kryten/letters/letter1 5411 ./kryten/letters/letter2 5412 ./kryten/letters/letter3 2689 ./kryten/.profile 8096 ./kryten/memos 30 ./kryten/reports 31 ./kryten/reports/reportA 32 ./kryten/reports/reportB 33 ./kryten/reports/reportC #
次の例では、Solaris 2.x システム上のローカルの /export/home ファイルシステムが、リモートの Solaris 2.x システム pluto 上のテープデバイスにバックアップされます。
# ufsdump 0ucf pluto:/dev/rmt/0 /export/home DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Fri Oct 25 10:30:53 1996 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t3d0s7 (/export/home) to (pluto:/dev/rmt/0). DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 19574 blocks (9.56MB) DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: level 0 dump on Fri Oct 25 10:30:53 1996 DUMP: Tape rewinding DUMP: 19574 blocks (9.56MB) on 1 volume at 92 KB/sec DUMP: DUMP IS DONE # ufsrestore tf pluto:/dev/rmt/0 2 . 3 ./lost+found 2688 ./kryten 5409 ./kryten/letters 5410 ./kryten/letters/letter1 5411 ./kryten/letters/letter2 5412 ./kryten/letters/letter3 2689 ./kryten/.profile 8096 ./kryten/memos 30 ./kryten/reports 31 ./kryten/reports/reportA 32 ./kryten/reports/reportB 33 ./kryten/reports/reportC . . . #
次の例では、Solaris 2.x システム上のローカルの /export/home ファイルシステムが、リモートの SunOS 4.1.x システム (mars) 上のテープデバイスにバックアップされます。ufsdump コマンドといっしょに SunOS 4.x スタイルのデバイス名 (/dev/rst0) が使用されているので注意してください。ufsdump コマンドを実行するには、Solaris 2.x システムにスーパーユーザーとしてログインすることになります。
# ufsdump 0ucf mars:/dev/rst0 /export/home DUMP: Writing 63 Kilobyte records DUMP: Date of this level 0 dump: Fri Oct 25 15:06:47 1996 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rdsk/c0t3d0s7 (/export/home) to (mars:/dev/rst0). DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 19574 blocks (9.56MB) DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: level 0 dump on Fri Oct 25 15:06:47 1996 DUMP: Tape rewinding DUMP: 19574 blocks (9.56MB) on 1 volume DUMP: DUMP IS DONE # ufsrestore tf mars:/dev/rst0 2 . 3 ./lost+found 2688 ./kryten 5409 ./kryten/letters 5410 ./kryten/letters/letter1 5411 ./kryten/letters/letter2 5412 ./kryten/letters/letter3 2689 ./kryten/.profile 8096 ./kryten/memos 30 ./kryten/reports 31 ./kryten/reports/reportA 32 ./kryten/reports/reportB 33 ./kryten/reports/reportC . . . #
次の例では、Sun 4.1.x システム (mars) 上のローカルのルート (/) ファイルシステムが、Solaris 2.x システム pluto 上のリモートテープデバイスにバックアップされます。
データを SunOS 4.1.x システムにバックアップするときには、ufsdump コマンドではなく dump コマンドを使用しなければならないので注意してください。
mars# dump 0ucf pluto:/dev/rmt/0 / DUMP: Date of this level 0 dump: Tue Oct 25 16:05:19 1996 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/rsd2a (/) to /dev/rmt/0 on host pluto DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 8686 blocks (4.24MB) on 0.10 tape(s). DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: level 0 dump on Tue Oct 25 16:05:19 1996 DUMP: Tape rewinding DUMP: 8690 blocks (4.24MB) on 1 volume DUMP: DUMP IS DONE mars# restore tf pluto:/dev/rmt/0 2 . 3 ./lost+found 3776 ./export 7552 ./home 11328 ./usr 15104 ./pcfs 3777 ./tftpboot 3778 ./tftpboot/tftpboot 3794 ./tftpboot/boot.sun4c.sunos.4.1.3 7553 ./etc 7554 ./etc/sendmail.cf 7555 ./etc/aliases 7556 ./etc/aliases.dir 7557 ./etc/aliases.pag 7558 ./etc/holidays 7559 ./etc/dumpdates . . . mars#