この章では、ufsdump コマンドと ufsrestore コマンドを使用し、ファイルシステム全体のバックアップをとって復元する際のガイドラインと計画の作成について説明します。
この章の内容は以下のとおりです。
ufsdump コマンドと ufsrestore コマンドを使用してファイルシステムをバックアップおよび復元する手順については、次を参照してください。
ファイルシステムのバックアップとは、消失、損傷、または破損に備えて、ファイルシステムを取り外し可能な媒体 (テープなど) にコピーすることを意味します。ファイルシステムの復元とは、最新のバックアップファイルを取り外し可能な媒体から作業ディレクトリにコピーすることを意味します。
この章では、「スケジュールされた」バックアップ処理と復元処理に使用するコマンド (ufsdump と ufsrestore) について説明しますが、他にもファイルを共有または転送するためにファイルとファイルシステムのコピーに使用できるコマンドがあります。表 33-1 は、個々のファイルやファイルシステムを媒体にコピーする各コマンドの説明箇所を示しています。
表 33-1 ファイルとファイルシステムをコピーするコマンド
操作 |
使用するコマンド |
参照先 |
---|---|---|
ファイルシステム全体または個々のファイルシステムをローカルまたはリモートのテープデバイスにコピーする |
ufsdump(1M) コマンド |
第 34 章「ファイルとファイルシステムのバックアップの手順」 または 第 36 章「ufsdump コマンドと ufsrestore コマンドの参照情報」 |
ネットワーク上のすべてのシステムのファイルシステム全体をサーバーからバックアップする |
Solstice BackupTM ソフトウェア | |
NIS+ マスターサーバーをバックアップ、復元する |
nisbackup(1M) コマンドと nisrestore(1M) コマンド | |
ファイルをテープ上でコピー、表示、検索する ファイルをフロッピーディスク上でコピー、表示、検索する |
tar(1)、cpio(1)、または pax(1) コマンド tar(1) コマンド | |
マスターディスクをクローンディスクにコピーする |
dd(1M) コマンド | |
ファイルシステム全体または個々のファイルシステムを、取り外し可能な媒体から作業ディレクトリに復元する |
ufsrestore(1M) コマンド |
ファイルのバックアップは、最も重要なシステム管理作業の 1 つです。次のような原因によるデータの消失に備えて、定期的にバックアップを実行する必要があります。
システムのクラッシュ
不注意によるファイルの削除
ハードウェア障害
天災 (火災、台風など)
システムをインストールし直したりアップグレードするときの問題
表 33-2 に、バックアップ処理中にファイルシステムを格納するための典型的なテープデバイスを示します。テープデバイスについての詳細は、第 38 章「テープドライブの管理手順」 を参照してください。
表 33-2 ファイルシステムのバックアップに使用する典型的な媒体
媒体 | |
---|---|
1/2 インチのリールテープ |
140M バイト (6250bpi) |
2.5G バイト、 1/4 インチのカートリッジ (QIC) テープ |
2.5G バイト |
DDS3 4-mm カートリッジテープ (DAT) |
12 〜 24 G バイト |
14-Gbyte 8-mm カートリッジテープ |
14G バイト |
DLTTM 7000 1/2 インチ カートリッジテープ |
35 〜 70G バイト |
頻繁に更新されるファイルシステムなど、ユーザーにとって重要なファイルシステムはバックアップしておく必要があります。表 33-3 と 表 33-4 に、スタンドアロンシステムとサーバー用にバックアップを作成するファイルシステムの一般的なガイドラインを示します。
表 33-3 ファイルシステムをスタンドアロン用にバックアップする表 33-4 ファイルシステムをサーバー用にバックアップする
サーバーの /export/swap のバックアップをとる必要はありません。
ufsdump コマンドと ufsrestore コマンドは、ファイルシステム全体のバックアップを定期的に実行する場合の推奨コマンドです。表 33-5 に、この 2 つのコマンドで実行できる作業を示します。各コマンドの機能と構文については、第 36 章「ufsdump コマンドと ufsrestore コマンドの参照情報」を参照してください。
表 33-5 ufsdump と ufsrestore で実行できる作業
コマンド |
実行できる作業 |
備考 |
---|---|---|
ufsdump |
ファイルシステム全体または一部のファイルシステムのバックアップを、ローカルまたはリモートのテープドライブに作成する。 |
テープデバイスは、ネットワーク内でユーザーがアクセスするどのシステム上にあってもかまわない。このコマンドは UFS ファイルシステムタイプの構造を認識し、raw デバイスインターフェース経由で直接処理するので高速である。 |
|
増分バックアップの実行 |
これにより、前回のバックアップ以降に変更があったファイルのバックアップのみを作成できる。 |
|
単一システムからネットワーク経由でシステムグループをバックアップする。
|
あるシステムから、リモートシェルまたはリモートログインを通して、各リモートシステム上で ufsdump を実行し、ドライブがあるシステムに出力を転送できる。また、出力をパイプを通して dd コマンドまたはファイルに渡すことができる。 |
|
自動バックアップ
|
crontab ユーティリティを使用して、ufsdump コマンドを起動するスクリプトを実行する 。 |
|
バックアップテーブルへのユーザーアクセスを制限する。 |
-a オプションを使用する。 |
|
実際にバックアップを実行せずに、バックアップのサイズを決定する。 |
-S オプションを使用する。 |
|
ファイルシステムがバックアップされたときのログを保管する。 |
-u オプションを使用する。 |
|
テープの内容をソースファイルシステムと対照して検査する。 |
-v オプションを使用する。 |
ufsrestore |
|
|
|
個々のファイルシステムまたはファイルシステム全体を、ローカルまたはリモートのテープドライブから復元する |
|
ufsdump コマンドを使用すると、完全バックアップまたは増分バックアップを実行できます。表 33-6 に、この 2 つのタイプのバックアップ手順の違いを示します。
表 33-6 完全バックアップと増分バックアップの違い
バックアップのタイプ |
コピー内容 |
長所 |
短所 |
---|---|---|---|
完全 |
すべてを 1 箇所にまとめることができる。 |
大量のバックアップテープが必要であり、書き込みに時間がかかる。ドライブはテープ上でファイルが入っている位置に順番に移動しなければならないので、個々のファイルの検索時間が長くなる。複数のテープを検索しなければならない場合もある。 |
|
増分 |
ファイルシステム内の小さな変化を簡単に検索できる。 |
どの増分テープにファイルが入っているかを探すのに時間がかかることがある。最後の完全ダンプに戻らなければならない場合もある。 |
「バックアップスケジュール」とは、ufsdump コマンドを実行するように設定するスケジュールです。この節では、バックアップスケジュールを作成する際に検討すべき要素、ファイルシステムのバックアップ頻度に関するガイドライン、バックアップスケジュールの例について説明します。
どのようなスケジュールを設定するかは、次の要素によって左右されます。
テープの本数を最小限度に抑える必要があるかどうか
バックアップの実行に使用できる時間
損傷したファイルシステムの完全復元に使用できる時間
不注意に削除した個々のファイルの検索に使用できる時間
バックアップに費やす時間と媒体を最小限度に抑える必要がない場合は、完全バックアップを毎日実行してもかまいません。しかし、多くのサイトの場合、これは現実的ではないので、ほとんどの場合は増分バックアップが使用されます。その場合は、サイトが過去 4 週間分のバックアップからファイルを十分復元できるようにしてください。そのためには、少なくとも 1 週分ごとに 1 組ずつ、合計 4 組のテープが必要で、各組を毎月使い廻することになります。また、少なくとも一年分の月別のバックアップを保存し、数年分の年度別バックアップを保管しておく必要があります。
ufsdump コマンドで指定するダンプレベル (0-9) によって、どのファイルのバックアップが作成されるかが決まります。ダンプレベル 0 を指定すると、完全バックアップが作成されます。1 から 9 までの番号は、増分バックアップのスケジュール設定に使用されますが、特に意味が定義されているわけではありません。これらの番号は、累積バックアップまたは個別バックアップのスケジュール設定に使用する番号の範囲にすぎません。レベル 1 から 9 までが意味するのは、大小による相互関係だけです。
次の例は、1 から 9 までのレベルを使用する増分ダンプ手順を示しています。
累積増分バックアップを毎日実行するのが、最も一般に使用される方法で、ほとんどの場合に推奨できます。次の例は、毎日レベル 9 のダンプを使用し、金曜日にはレベル 5 のダンプを使用してプロセスを再開するスケジュールを示しています。
次の例で、1 から 9 までの範囲内で他の番号を使用しても同じ結果になります。ポイントは、毎日同じ番号を使用し、金曜日にはそれより「 小さい」番号を使用することです。たとえば、レベル 4、4、4、4、2 や 7、7、7、7、5 を指定してもかまいません。
次の例は、1 日分の作業内容のみを別々のテープ上で保存するスケジュールを示しています。この場合、月曜日から木曜日までは連続するダンプレベル番号 (3、4、5、6) を使用し、金曜日にはそれより小さい番号 (2) を使用します。
次の例では、連番 6、7、8、9 の次に 2 を使用しても、5、6、7、8 の次に 3 を使用してもかまいません。番号自体の意味は定義されておらず、その大小に意味があります。
この節では、バックアップスケジュールのサンプルを示します。どのスケジュールも、完全バックアップ (レベル 0) から始めることと、-u オプションを使用して各バックアップを記録することを前提としています。
表 33-7 に、最も一般的に使用される増分バックアップをスケジュールを示します。これは、ほとんどの場合に推奨できるスケジュールです。このスケジュールで実行される処理は次のとおりです。
前週の終わりの下位レベルのバックアップ以降に変更があったすべてのファイルが毎日保存される。
月〜金のレベル 9 のバックアップの場合は、直前のレベル 0 またはレベル 5 が最も近い下位バックアップレベルになる。したがって各週のテープには、前週の終わり (第 1 週の場合は初期レベル 0) 以降に変更があったすべてのファイルが累積される。
毎週金曜日のレベル 5 の場合、レベルのうち一番近いレベルのバックアップは、月初めに実行されたレベル 0 である。したがって、毎週金曜日のテープには、月初めからその時点までに変更があったすべてのファイルが入っている。
未固定 |
月 |
火 |
水 |
木 |
金 |
|
---|---|---|---|---|---|---|
月の 1 日目 |
0 |
|
|
|
|
|
第 1 週 |
9 |
9 |
9 |
9 |
5 |
|
第 2 週 |
9 |
9 |
9 |
9 |
5 |
|
第 3 週 |
9 |
9 |
9 |
9 |
5 |
|
第 4 週 |
9 |
9 |
9 |
9 |
5 |
表 33-8 は、前のスケジュールを使用して、テープの内容が 2 週間でどのように変化するかを示します。各文字は別のファイルを表します。
表 33-8 日単位/週単位累積スケジュールのテープの内容
月曜日 |
火曜日 |
水曜日 |
木曜日 |
金曜日 |
|
---|---|---|---|---|---|
第 1 週 |
a b |
a b c |
a b c d |
a b c d e |
a b c d e f |
第 2 週 |
g |
g h |
g h i |
g h i j |
a b c d e f g h i j k |
このスケジュールでは、6 本 (日単位テープを再利用したい場合) または 9 本 (曜日ごとに 4 本の日単位テープを別々に使用したい場合) のテープが必要になります。その内訳は、レベル 0 に 1 本、金曜日用に 4 本、日単位テープ用に 1 本、または 4 本です。
ファイルシステム全体を復元する必要があれば、次のテープが必要になります。その内訳は、レベル 0 が 1 本、最後の金曜日のテープ 1 本、前週の金曜日以降の最新の日単位テープ 1 本です。
表 33-9 は、各曜日のテープに月曜日 (第 1 週の場合は初期レベル 0) 以降に変更があったすべてのファイルが累積され、毎週金曜日のテープにはその週に変更があったすべてのファイルが入っているスケジュールを示しています。
表 33-9 日単位累積/週単位増分バックアップスケジュール
未固定 |
月 |
火 |
水 |
木 |
金 |
|
---|---|---|---|---|---|---|
月の 1 日目 |
0 |
|
|
|
|
|
第 1 週 |
9 |
9 |
9 |
9 |
3 |
|
第 2 週 |
9 |
9 |
9 |
9 |
4 |
|
第 3 週 |
9 |
9 |
9 |
9 |
5 |
|
第 4 週 |
9 |
9 |
9 |
9 |
6 |
表 33-10 は、以前のスケジュールからテープの内容が 2 週間でどのように変化するかを示しています。各文字はそれぞれ異なるファイルを表します。
表 33-10 日単位累積/週単位増分スケジュールのテープの内容
月曜日 |
火曜日 |
水曜日 |
木曜日 |
金曜日 |
|
---|---|---|---|---|---|
第 1 週 |
a b |
a b c |
a b c d |
a b c d e |
a b c d e f |
第 2 週 |
g |
g h |
g h i |
g h i j |
g h i j k |
このスケジュールでは、6 本 (日単位テープを再利用したい場合) または 9 本 (曜日ごとに 4 本の日単位テープを別々に使用したい場合) のテープが必要になります。その内訳は、レベル 0 に 1 本、金曜日用に 4 本、日単位テープ用に 1 本または 4 本です。
ファイルシステム全体を復元する必要があれば、次の本数のテープが必要になります。その内訳は、レベル 0 が 1 本、すべての金曜日のテープ、前週の金曜日以降の最新の日単位テープ 1 本です。
表 33-11 は、各曜日のテープには前日以降に変更があったファイルのみが入っており、毎金曜日のテープには月初めの初期レベル 0 以降に変更があったすべてのファイルが入っているスケジュールを示しています。
表 33-11 日単位増分/週単位累積バックアップスケジュール
未固定 |
月 |
火 |
水 |
木 |
金 |
|
---|---|---|---|---|---|---|
月の 1 日目 |
0 |
|
|
|
|
|
第 2 週 |
3 |
4 |
5 |
6 |
2 |
|
第 3 週 |
3 |
4 |
5 |
6 |
2 |
|
第 4 週 |
3 |
4 |
5 |
6 |
2 |
表 33-12 は、テープの内容が 2 週間でどのように変化するかを示しています。各文字はそれぞれ異なるファイルを示します。
表 33-12 日単位累積/週単位累積バックアップスケジュールのテープの内容
月曜日 |
火曜日 |
水曜日 |
木曜日 |
金曜日 |
|
---|---|---|---|---|---|
第 1 週 |
a b |
c d |
e f g |
h |
a b c d e f g h i |
第 2 週 |
j k l |
m |
n o |
p q |
a b c d e f g h i j k l m n o p q r s |
このスケジュールでは、少なくとも 9 本のテープが必要になります。その内訳は、レベル 0 に 1 本、金曜日用に 4 本、日単位テープ 4 本ですが、これは日単位テープを毎週再利用することが前提となっており、お勧めできません。週単位テープを 1 カ月保存する場合は、21 本のテープが必要になります。
ファイルシステム全体を復元する必要があれば、次のテープが必要になります。その内訳は、レベル 0 に 1 本、前回の金曜日のテープ、最後の金曜日以降のその週のすべての日単位テープです。
表 33-13 は、ユーザーがプログラム開発や文書作成のようなファイル集約型の作業を実行する小型ネットワーク上の、使用頻度の高いファイルサーバーのバックアップ方針の例を示しています。この例は、バックアップ期間が日曜日に始まり、1 週 7 日間を 4 週間行うものと想定しています。
表 33-13 サンプルサーバーのバックアップスケジュール
ディレクトリ |
日付 |
レベル |
テープ名 |
---|---|---|---|
/ |
第 1 日曜日 |
0 |
n 個のテープ |
/usr |
第 1 日曜日 |
0 |
" |
/export |
第 1 日曜日 |
0 |
" |
/export/home |
第 1 日曜日 |
0 |
" |
|
第 1 月曜日 |
9 |
A |
|
第 1 火曜日 |
9 |
B |
|
第 1 水曜日 |
5 |
C |
|
第 1 木曜日 |
9 |
D |
|
第 1 金曜日 |
9 |
E |
|
第 1 土曜日 |
5 |
F |
/ |
第 2 日曜日 |
0 |
n 個のテープ |
/usr |
第 2 日曜日 |
0 |
" |
/export |
第 2 日曜日 |
0 |
" |
/export/home |
第 2 日曜日 |
0 |
" |
|
第 2 月曜日 |
9 |
G |
|
第 2 火曜日 |
9 |
H |
|
第 2 水曜日 |
5 |
I |
|
第 2 木曜日 |
9 |
J |
|
第 2 金曜日 |
9 |
K |
|
第 2 土曜日 |
5 |
L |
/ |
第 3 日曜日 |
0 |
n 個のテープ |
/usr |
第 3 日曜日 |
0 |
" |
/export |
第 3 日曜日 |
0 |
" |
/export/home |
第 3 日曜日 |
0 |
" |
|
第 3 月曜日 |
9 |
M |
|
第 3 火曜日 |
9 |
N |
|
第 3 水曜日 |
5 |
O |
|
第 3 木曜日 |
9 |
P |
|
第 3 金曜日 |
9 |
Q |
|
第 3 土曜日 |
5 |
R |
/ |
第 4 日曜日 |
0 |
n 個のテープ |
/usr |
第 4 日曜日 |
0 |
" |
/export |
第 4 日曜日 |
0 |
" |
/export/home |
第 4 日曜日 |
0 |
" |
|
第 4 月曜日 |
9 |
S |
|
第 4 火曜日 |
9 |
T |
|
第 4 水曜日 |
5 |
U |
|
第 4 木曜日 |
9 |
V |
|
第 4 金曜日 |
9 |
W |
|
第 4 土曜日 |
5 |
X |
このスケジュールでは、4 n 本のテープ (ルート (/)、/usr、 /export、 /export/home の 4 回の完全バックアップに必要な本数) に加えて、 /export/home の増分バックアップ用に 24 本のテープを使用します。このスケジュールは、増分バックアップごとに 1 本ずつテープを使用し、それを 1 カ月は保存することを前提としています。
このスケジュールの機能は次のとおりです。
日曜日ごとに、ルート(/)、/usr、/export、/export/home の完全バックアップ (レベル 0) を実行します。レベル 0 のテープを少なくとも 3 カ月は保存します。
月の第 1 月曜日に、テープ A を使用して /export/home のレベル 9 のバックアップを実行します。ufsdump は下のレベルのバックアップ、この場合は日曜日に実行したレベル 0 のバックアップ以降に変更があったすべてのファイルをコピーします。
月の第 1 火曜日に、テープ B を使用して /export/home のレベル 9 のバックアップを実行します。この場合も、ufsdump は、下のレベル、つまり日曜日のレベル 0 のバックアップ以降に変更があったすべてのファイルをコピーします。
第 1 水曜日に、テープ C を使用してレベル 5 のバックアップを実行します。ufsdump は日曜日以降に変更があったすべてのファイルをコピーします。
木曜日と金曜日には、テープ D と E を使用してレベル 9 のバックアップを実行します。ufsdump は、下のレベルのバックアップ、つまり水曜日のレベル 5 のバックアップ以降に変更があったすべてのファイルをコピーします。
月の第 1 土曜日に、/export/home のレベル 5 のバックアップを実行します。このバックアップでは、下のレベルのバックアップ、この場合は日曜日に実行したレベル 0 のバックアップ以降に変更があったすべてのファイルがコピーされます。テープを再利用する場合は、テープ A から F までを次の 4 週間の第 1 月曜日までは保存しておきます。
次の 3 週間は、テープ G から L までと、日曜日のレベル 0 用に 4 n 本のテープを使用して、手順 1 から 6 までを繰り返します。
4 週ごとに、レベル 0 用に新しいテープ 1 組と、増分バックアップ用のテープ A から X までを再利用して、手順 1 から 7 までを繰り返します。レベル 0 のテープは、3 カ月後に再利用できるようになります。
このスケジュールでは、各ファイルを 1 カ月間で段階別に保存できます。多数のテープが必要ですが、テープのライブラリを確実に用意できます。テープの本数を減らすには、テープ A から F までを毎週再利用します。
表 33-14 は、バックアップスケジュールに関するその他の推奨事項を示しています。
表 33-14 システムのバックアップスケジュールに関する他の推奨事項