Solaris のシステム管理 (第 1 巻)

第 42 章 ファイルシステムのバックアップと復元 (概要)

この章では、ufsdump コマンドと ufsrestore コマンドを使用し、ファイルシステム全体のバックアップをとって復元する際のガイドラインと計画の作成について説明します。

この章の内容は以下のとおりです。

バックアップと復元についての参照先

ufsdump コマンドと ufsrestore コマンドを使用してファイルシステムをバックアップおよび復元する手順については、次を参照してください。

ファイルシステムのバックアップと復元とは

ファイルシステムのバックアップとは、消失、損傷、または破損に備えて、ファイルシステムを取り外し可能な媒体 (テープなど) にコピーすることを意味します。ファイルシステムの復元とは、最新のバックアップファイルを取り外し可能な媒体から作業ディレクトリにコピーすることを意味します。

この章では、「スケジュールされた」バックアップ処理と復元処理に使用するコマンド (ufsdumpufsrestore) について説明しますが、他にもファイルを共有または転送するためにファイルとファイルシステムのコピーに使用できるコマンドがあります。表 42-1 に、個々のファイルやファイルシステムを媒体にコピーする各コマンドの説明箇所を示します。

表 42-1 ファイルとファイルシステムをコピーするコマンド

操作 

使用するコマンド 

参照先 

ファイルシステム全体または個々のファイルシステムをローカルまたはリモートのテープデバイスにコピーする 

ufsdump(1M) コマンド

第 43 章「ファイルとファイルシステムのバックアップ (手順)」 または 第 45 章「ufsdump コマンドと ufsrestore コマンド (参照情報)」

ネットワーク上のすべてのシステムのファイルシステム全体をサーバーからバックアップする 

Solstice BackupTM ソフトウェア

Solstice Backup 5.1 管理者ガイド

NIS+ マスターサーバーをバックアップ、復元する 

nisbackup(1M) コマンドと nisrestore(1M) コマンド

Solaris ネーミングの管理

ファイルをテープ上でコピー、表示、検索する 

ファイルをフロッピーディスク上でコピー、表示、検索する 

tar(1)cpio(1)pax(1) コマンド

tar(1) コマンド

第 46 章「UFS ファイルとファイルシステムのコピー (手順)」

マスターディスクをクローンディスクにコピーする 

dd(1M) コマンド

第 46 章「UFS ファイルとファイルシステムのコピー (手順)」

ファイルシステム全体または個々のファイルシステムを、取り外し可能な媒体から作業ディレクトリに復元する 

ufsrestore(1M) コマンド

第 44 章「ファイルとファイルシステムの復元 (手順)」

ファイルシステムをバックアップしなければならない理由

ファイルのバックアップは、最も重要なシステム管理作業の 1 つです。次のような原因によるデータの消失に備えて、定期的にバックアップを実行する必要があります。

テープデバイスの選択

表 42-2 に、バックアップ処理中にファイルシステムを格納するための典型的なテープデバイスを示します。容量は、ドライブのタイプとテープに書き込むデータによって異なります。テープデバイスについての詳細は、第 47 章「テープドライブの管理 (手順)」を参照してください。

表 42-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 バイト 

バックアップを作成するファイルシステムの計画

頻繁に更新されるファイルシステムなど、ユーザーにとって重要なファイルシステムはバックアップしておく必要があります。表 42-3表 42-4 に、スタンドアロンシステムとサーバー用にバックアップを作成するファイルシステムの一般的なガイドラインを示します。

表 42-3 ファイルシステムをスタンドアロン用にバックアップする

バックアップするファイルシステム 

理由 

バックアップ間隔 

ルート (/) - パーティション 0

ルート (/) には、メールやアカウンティングなど、頻繁に変更されるファイルが保管されるカーネルと /var ディレクトリが入っている。

定期 

/usr - パーティション 6

一般に、新しいソフトウェアをインストールして新しいコマンドを追加すると、/usr/opt ファイルシステムが影響を受ける。 /opt は、ルート (/) の一部であるか、独自のファイルシステムである。

随時 

/export/home

/export/home には、スタンドアロンシステム上のユーザー全員のディレクトリとサブディレクトリが入っている。

ルート (/) や /usr よりも頻繁に、サイトのニーズによっては毎日 1 度

/export または /var を他の使用可能スライスにバックアップ

Solaris ソフトウェアのインストール中に、これらのファイルシステムを作成した可能性がある。 

サイトの必要に応じて 

表 42-4 ファイルシステムをサーバー用にバックアップする

バックアップするファイルシステム ... 

理由 

バックアップ間隔 

ルート (/) - パーティション 0

/export - パーティション 3

/usr - パーティション 6 ,/opt

これらのファイルシステムには、カーネル、主要コマンド、実行可能プログラムが入っている。 

サイトのニーズに応じて毎日 1 度ないし月に 1 度 

ルート (/) - ネットワーク上でクライアントとハードウェアを頻繁に追加したり削除したりする場合は、カーネル構成ファイルなどの重要なファイルをルート (/) 内で変更せざるを得ない。この場合は、週に 1 度から月に 1 度の間隔で、ルート (/) ファイルシステム上で完全バックアップを実行する必要がある。サイトでユーザーのメールをメールサーバー上の /var/mail ディレクトリに保管している場合は (その後クライアントシステムがマウント)、ルート (/) ディレクトリを毎日バックアップした方がよい。(あるいは、別のファイルシステムの場合は /var)

/export -クライアントのルート (/) ディレクトリは、/export ファイルシステムに保管される。そこに入っている情報はサーバーのスライス 0 にあるルートディレクトリと同様なので、頻繁に変化することはない。随時バックアップを実行すればよい。ただし、サイトでメールをクライアントシステムに送信している場合は、/export のバックアップをさらに頻繁に実行する必要がある。

/usr/opt - 内容に変更がなく、週に 1 度ないし月に 1 度バックアップするだけでかまわない。

/export/home - パーティション 7

/export/home には、システム上のユーザー全員のホームディレクトリとサブディレクトリが入っている。そのファイルは変更が多い。

毎日または毎週 


注 -

サーバーの /export/swap のバックアップをとる必要はありません。


バックアップコマンドと復元コマンドの概要

ufsdump コマンドと ufsrestore コマンドは、ファイルシステム全体のバックアップを定期的に実行する場合の推奨コマンドです。表 42-5 に、この 2 つのコマンドで実行できる作業を示します。各コマンドの機能と構文については、第 45 章「ufsdump コマンドと ufsrestore コマンド (参照情報)」を参照してください。

表 42-5 ufsdumpufsrestore で実行できる作業

コマンド 

実行できる作業 

備考 

ufsdump

ファイルシステム全体または一部のファイルシステムのバックアップを、ローカルまたはリモートのテープドライブに作成する。 

テープデバイスは、ネットワーク内でユーザーがアクセスするどのシステム上にあってもかまわない。このコマンドは UFS ファイルシステムタイプの構造を認識し、raw デバイスインターフェース経由で直接処理するので高速である。 

 

増分バックアップの実行 

これによって、前回のバックアップ以降に変更があったファイルのバックアップのみを作成できる。 

 

単一システムからネットワーク経由でシステムグループをバックアップする。 

 

あるシステムから、リモートシェルまたはリモートログインを通して、各リモートシステム上で ufsdump を実行し、ドライブがあるシステムに出力を転送できる。また、出力をパイプを通して dd コマンドまたはファイルに渡すことができる。

 

自動バックアップ 

 

crontab ユーティリティを使用して、ufsdump コマンドを起動するスクリプトを実行する 。

 

バックアップテーブルへのユーザーアクセスを制限する。 

-a オプションを使用する。

 

実際にバックアップを実行せずに、バックアップのサイズを決定する。 

-S オプションを使用する。

 

ファイルシステムがバックアップされたときのログを保管する。 

-u オプションを使用する。

 

テープの内容をソースファイルシステムと対照して検査する。 

-v オプションを使用する。

ufsrestore

個々のファイルシステムまたはファイルシステム全体を、ローカルまたはリモートのテープドライブから復元する 

 

バックアップタイプの選択

ufsdump コマンドを使用すると、完全バックアップまたは増分バックアップを実行できます。表 42-6 に、この 2 つのタイプのバックアップの違いを示します。

表 42-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 を指定してもかまいません。


図 42-1 増分バックアップ: 日単位累積

Graphic

日単位個別バックアップのダンプレベル

次の例で、1 日分の作業内容のみを別々のテープ上で保存するスケジュールを示します。この場合、月曜日から木曜日までは連続するダンプレベル番号 (3、4、5、6) を使用し、金曜日にはそれより小さい番号 (2) を使用します。


注 -

次の例では、連番 6、7、8、9 の次に 2 を使用しても、5、6、7、8 の次に 3 を使用してもかまいません。番号自体の意味は定義されておらず、その大小に意味があります。


図 42-2 増分バックアップ: 日単位個別

Graphic

バックアップスケジュールの例

この節では、バックアップスケジュールのサンプルを示します。どのスケジュールも、完全バックアップ (レベル 0) から始めることと、-u オプションを使用して各バックアップを記録することを前提としています。

例 - 日単位累積、週単位累積バックアップ

表 42-7 に、最も一般的に使用される増分バックアップをスケジュールを示します。これは、ほとんどの場合に推奨できるスケジュールです。このスケジュールで実行される処理は次のとおりです。

表 42-7 日単位累積/週単位累積バックアップスケジュール
 

開始日 

月 

火 

水 

木 

金 

月の 1 日目 

 

 

 

 

 

第 1 週 

 

第 2 週 

 

第 3 週 

 

第 4 週 

 

表 42-8 は、前のスケジュールを使用して、テープの内容が 2 週間でどのように変化するかを示します。各文字は別のファイルを表します。

表 42-8 日単位/週単位累積スケジュールのテープの内容
 

月曜日 

火曜日 

水曜日 

木曜日 

金曜日 

第 1 週 

a b 

a b c 

a b c d 

a b c d e 

a b c d e f 

第 2 週 

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 本です。

例 - 日単位累積、週単位増分バックアップ

表 42-9 に、各曜日のテープに月曜日 (第 1 週の場合は初期レベル 0) 以降に変更があったすべてのファイルが累積され、毎週金曜日のテープにはその週に変更があったすべてのファイルが入っているスケジュールを示します。

表 42-9 日単位累積/週単位増分バックアップスケジュール
 

開始日 

月 

火 

水 

木 

金 

月の 1 日目 

 

 

 

 

 

第 1 週 

 

第 2 週 

 

第 3 週 

 

第 4 週 

 

表 42-10 は、以前のスケジュールからテープの内容が 2 週間でどのように変化するかを示しています。各文字はそれぞれ異なるファイルを表します。

表 42-10 日単位累積/週単位増分スケジュールのテープの内容
 

月曜日 

火曜日 

水曜日 

木曜日 

金曜日 

第 1 週 

a b 

a b c 

a b c d 

a b c d e 

a b c d e f 

第 2 週 

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 本です。

例 - 日単位増分、週単位累積バックアップ

表 42-11 は、各曜日のテープには前日以降に変更があったファイルのみが入っており、毎金曜日のテープには月初めの初期レベル 0 以降に変更があったすべてのファイルが入っているスケジュールを示しています。

表 42-11 日単位増分/週単位累積バックアップスケジュール
 

開始日 

月 

火 

水 

木 

金 

月の 1 日目 

 

 

 

 

 

第 2 週 

 

第 3 週 

 

第 4 週 

 

表 42-12 は、テープの内容が 2 週間でどのように変化するかを示しています。各文字はそれぞれ異なるファイルを示します。

表 42-12 日単位累積/週単位累積バックアップスケジュールのテープの内容
 

月曜日 

火曜日 

水曜日 

木曜日 

金曜日 

第 1 週 

a b 

c d 

e f g 

a b c d e f g h i 

第 2 週 

j k l 

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 本、前回の金曜日のテープ、最後の金曜日以降のその週のすべての日単位テープです。

例 - サーバーのバックアップスケジュール

表 42-13 に、ユーザーがプログラム開発や文書作成のようなファイル集約型の作業を実行する小型ネットワーク上の、使用頻度の高いファイルサーバーのバックアップ方針の例を示します。この例は、バックアップ期間が日曜日に始まり、1 週 7 日間を 4 週間行うものと想定しています。

表 42-13 サンプルサーバーのバックアップスケジュール

ディレクトリ 

日付 

レベル 

テープ名 

/

第 1 日曜日 

n 本のテープ

/usr

第 1 日曜日 

"  

/export

第 1 日曜日 

"  

/export/home

第 1 日曜日 

"  

 

第 1 月曜日 

 

第 1 火曜日 

 

第 1 水曜日 

 

第 1 木曜日 

 

第 1 金曜日 

 

第 1 土曜日 

/

第 2 日曜日 

n 本のテープ

/usr

第 2 日曜日 

"  

/export

第 2 日曜日 

"  

/export/home

第 2 日曜日 

"  

 

第 2 月曜日 

 

第 2 火曜日 

H  

 

第 2 水曜日 

I  

 

第 2 木曜日 

J  

 

第 2 金曜日 

 

第 2 土曜日 

L  

/

第 3 日曜日 

n 本のテープ 

/usr

第 3 日曜日 

"  

/export

第 3 日曜日 

"  

/export/home

第 3 日曜日 

"  

 

第 3 月曜日 

 

第 3 火曜日 

N  

 

第 3 水曜日 

 

第 3 木曜日 

 

第 3 金曜日 

 

第 3 土曜日 

/

第 4 日曜日 

n 本のテープ 

/usr

第 4 日曜日 

"  

/export

第 4 日曜日 

"  

/export/home

第 4 日曜日 

"  

 

第 4 月曜日 

 

第 4 火曜日 

 

第 4 水曜日 

 

第 4 木曜日 

 

第 4 金曜日 

 

第 4 土曜日 

このスケジュールでは、4 n 本のテープ (ルート (/)、/usr/export/export/home の 4 回の完全バックアップに必要な本数) に加えて、 /export/home の増分バックアップ用に 24 本のテープを使用します。このスケジュールは、増分バックアップごとに 1 本ずつテープを使用し、それを 1 カ月は保存することを前提としています。

このスケジュールの機能は次のとおりです。

  1. 日曜日ごとに、ルート(/)、/usr/export/export/home の完全バックアップ (レベル 0) を実行します。レベル 0 のテープを少なくとも 3 カ月は保存します。

  2. 月の第 1 月曜日に、テープ A を使用して /export/home のレベル 9 のバックアップを実行します。ufsdump は下のレベルのバックアップ、この場合は日曜日に実行したレベル 0 のバックアップ以降に変更があったすべてのファイルをコピーします。

  3. 月の第 1 火曜日に、テープ B を使用して /export/home のレベル 9 のバックアップを実行します。この場合も、ufsdump は、下のレベル、つまり日曜日のレベル 0 のバックアップ以降に変更があったすべてのファイルをコピーします。

  4. 第 1 水曜日に、テープ C を使用してレベル 5 のバックアップを実行します。ufsdump は日曜日以降に変更があったすべてのファイルをコピーします。

  5. 木曜日と金曜日には、テープ D と E を使用してレベル 9 のバックアップを実行します。ufsdump は、下のレベルのバックアップ、つまり水曜日のレベル 5 のバックアップ以降に変更があったすべてのファイルをコピーします。

  6. 月の第 1 土曜日に、/export/home のレベル 5 のバックアップを実行します。このバックアップでは、下のレベルのバックアップ、この場合は日曜日に実行したレベル 0 のバックアップ以降に変更があったすべてのファイルがコピーされます。テープを再利用する場合は、テープ A から F までを次の 4 週間の第 1 月曜日までは保存しておきます。

  7. 次の 3 週間は、テープ G から L までと、日曜日のレベル 0 用に 4 n 本のテープを使用して、手順 1 から 6 までを繰り返します。

  8. 4 週ごとに、レベル 0 用に新しいテープ 1 組と、増分バックアップ用のテープ A から X までを再利用して、手順 1 から 7 までを繰り返します。レベル 0 のテープは、3 カ月後に再利用できるようになります。

    このスケジュールでは、各ファイルを 1 カ月間で段階別に保存できます。多数のテープが必要ですが、テープのライブラリを確実に用意できます。テープの本数を減らすには、テープ A から F までを毎週再利用します。

バックアップスケジュールに関するその他の推奨事項

表 42-14 に、バックアップスケジュールに関するその他の推奨事項を示します。

表 42-14 システムのバックアップスケジュールに関する他の推奨事項

必要事項 

推奨事項 

備考 

各ファイルの別バージョン (ワード処理に使用するファイルシステムなど) を復元する必要がある 

  • 作業日ごとに日単位増分バックアップを実行する

  • 日単位増分バックアップには同じテープを再利用しない

このスケジュールでは、その日に変更があったすべてのファイルが保存されるだけでなく、下のレベルの最後のバックアップ以降に変更があったファイルがディスク上に残る。ただし、このスケジュールの場合は、火曜日に変更があったファイルが木曜日にも変更されると、金曜日の下のレベルのバックアップでは、火曜日の夜ではなく木曜日の夜に変更されたように見えるので、毎日異なるテープを使用する必要がある。ユーザーが火曜日のバージョンを必要とする場合には、火曜日 (または水曜日) のバックアップテープを保存しておかなければ、それを復元できない。また、火曜日と水曜日には存在したファイルが木曜日に削除されても、金曜日の下のレベルのバックアップには表示されない。 

ファイルシステム全体を短時間で復元する必要がある 

下位のレベルのバックアップを頻繁に実行する 

同じサーバー上で多数のファイルシステムのバックアップを作成している 

ファイルシステムごとにスケジュールをずらすことを検討する 

この方法では、すべてのレベル 0 のバックアップを同じ日に実行しないことになる。 

テープの本数を最小限度に抑える必要がある 

1 週間に実行する増分バックアップのレベルを上げる 

これは、毎日の変更のみが各日単位テープに保存されることを意味する。 

 

週末に実行するバックアップのレベルを上げる 

これは、変更が (月単位ではなく) 週単位でしか週単位テープに保存されないことを意味する。 

 

日単位と週単位の増分バックアップを同じテープに入れる 

これは、ufsdump コマンドの rewind オプションを使用して実行される。