2. FreeBSD - メンテナンス・トラブルシュート - システムバックアップ - バックアップ

 
2.1 ハードウェアを用意する
2.2 バックアップ先のセットアップ
2.3 バックアップ

2.1 ハードウェアを用意する

 可能であれば、バックアップ元と同等のハードウェアを用意します(バックアップ先)。  メインのマシンと同等のハードウェアが用意できなければ、VMWare 等仮想環境のインストールできる Windows マシンを一台用意します。  Windows マシンには外付けでも構わないので、バックアップ元の FreeBSD マシンより十分な空き領域のあるハードディスクが必要です。  Windows で作成する仮想環境にバックアップ先の環境を作成します。  バックアップ元とバックアップ先の間がローカルネットワークで接続できる環境にあることが必要です。  以上が用意できれば、バックアップ可能となります。

2.2 バックアップ先のセットアップ

 バックアップ先に FreeBSD をインストールします。  FreeBSD のバージョンはバックアップ元と合わせることが必須ではありませんが、同程度かそれ以降のバージョンのものをインストールします。  インストール方法はそれぞれのバージョンのものを参考にしてください。  ディスクスライスを切る場合は、バックアップ先とするスライスにじゅうぶんな容量があるようにスライスを作成します。

/etc/rc.conf
 に以下の記述を追加します。

portmap_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_flags="-r"
rpcbind_ebable="YES"
amd_enable="YES"

/etc/hosts.allow
 に以下を記述します。

portmap : ALL : allow
 バックアップ先のディレクトリを

/usr/backup
 として作成します。

mkdir -pv /usr/backup

/etc/exports
 を作成して

touch /etc/exports
 以下を記述します。

/usr/backup -maproot=0 -alldirs 192.168.0.x
①          ②          ③      ④
 ①マウントさせるディレクトリ名を記述します  ②-maproot=0 フラグがないと、 リモートマシンの root 権限を 持っていてもファイルを変更することができません  ③-alldirs フラグは指定されたファイルシステム 以下のディレクトリに対しても同様に export します  ④IP アドレスで指定するホストに①を exports することになります   つまり バックアップ元の IP アドレスを記述します  ここまで設定したら、バックアップ先を再起動します。

2.3 バックアップ

 バックアップ元にログインして、可能であれば、sshd を除くサーバアプリケーションを停止します。停止しなくてもバックアップは可能ですが、バックアップが始まって以降、メールの受信や HTTP経由のデータベース更新が発生した場合、それらの更新分は保証されません。

/etc/rc.conf
 に以下の記述を追加します。

nfs_client_enable="YES"
nfs_client_flags="-n 4"
 記述後、以下を実行します。

nfsiod -n 4
 ここまでで、バックアップ先のディスクをマウントする準備ができましたので、マウントします。

mount 192.168.0.y:/usr/backup /mnt/windows
        ①                      ②
 ①マウント先のホスト名(この場合は ID アドレスで指定)とマウントディレクトリの記述です  ②マウントポイントを指定 (/mnt は最初からあります /mnt/windos はあらかじめ作成しておきます)

dump -0ua -f /mnt/windows/root.dmp /
dump -0ua -f /mnt/windows/var.dmp  /var
dump -0ua -f /mnt/windows/home.dmp /home
dump -0ua -f /mnt/windows/usr.dmp  /usr
 スライスの分割によりダンプするものが異なります。スライスが 「/」しかなければ、1行目だけで終了です。  ダンプが終了したら忘れずに umount しておいてください。  しておかないと mount 先のネットワークリンクが切れたとき df コマンドが効かなくなります。  ダンプのオプションについて説明しておくと
オプション 意 味
-0 ダンプレベル0(フルバックアップ)
-u ダンプが成功した後で、 /etc/dumpdates ファイルを更新します。
-a メディアの終了を検知します。(テープじゃないので不要かも…)
-L FreeBSD 5.0 から搭載されたスナップショット機能を使います。
この機能を使えば、シングルユーザモードに落とす必要がありません。
筆者注)だがしかし、FreeBSD 9.0 で搭載された Journaled Soft Updates という機能と両立できないので、FreeBSD 9.0 以降ははずさざるを得ないのだ。
-C man の記述を借りれば、『キャッシュサイズをメガバイト単位で指定します。性能が劇的に向上しますが、パス間のファイルシステムへの変更に dump が気付かない可能性があります。スナップショットダンプ時には本オプションを常に使用することをお勧めします。 dump はフォークしますので、実際に使用されるメモリ量はキャッシュサイズより大きいかもしれないことに注意してください。推奨キャッシュサイズは 8 から 32 (メガバイト) の間です。』
筆者注)これも FreeBSD 9.0 は -L オプションが使えない以上、これもはずすことになります。
-f バックアップ出力先のファイルを指定します。

 わたしの実績では 20GB のバックアップで


	20GB    finished in 3045 seconds, throughput 972 KBytes/sec
 3045秒ですからおよそ 50分です。  もちろんスピードは、ネットワークの状況とディスクアクセスの速度に左右されるわけですが。