FreeBSD - メンテナンス・トラブルシュート - システムバックアップ - バックアップ
- 1. ハードウェアを用意する
- 2. バックアップ先のセットアップ
- 3. バックアップ
1. ハードウェアを用意する
可能であれば、バックアップ元と同等のハードウェアを用意します(バックアップ先)。
メインのマシンと同等のハードウェアが用意できなければ、「VMWare」等仮想環境のインストールできる「Windows」マシンを一台用意します。
「Windows」マシンには外付けでも構わないので、バックアップ元の「FreeBSD」マシンより十分な空き領域のあるハードディスクが必要です。
「Windows」で作成する仮想環境にバックアップ先の環境を作成します。
バックアップ元とバックアップ先の間がローカルネットワークで接続できる環境にあることが必要です。
以上が用意できれば、バックアップ可能となります。
2. バックアップ先のセットアップ
バックアップ先に「FreeBSD」をインストールします。
「FreeBSD」のバージョンはバックアップ元と合わせることが必須ではありません。
同程度かそれ以降のバージョンのものをインストールします。
インストール方法はそれぞれのバージョンのものを参考にしてください。
ディスクスライスを切る場合は、バックアップ先とするスライスにじゅうぶんな容量があるようにスライスを作成します。
vi /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"
vi /etc/hosts.allow
以下を記述します。
portmap : ALL : allow
バックアップ先のディレクトリを。
/usr/backup
として作成します。
mkdir -pv /usr/backup
を作成して
vi /etc/exports
以下を記述します。
/usr/backup -maproot=0 -alldirs 192.168.0.x
① ② ③ ④
①マウントさせるディレクトリ名を記述します
②「-maproot=0」フラグがないと、リモートマシンの「root」権限を 持っていてもファイルを変更することができません
③「-alldirs」フラグは指定されたファイルシステム 以下のディレクトリに対しても同様に「export」します
④IP アドレスで指定するホストに①を「exports」することになります
つまり バックアップ元の IP アドレスを記述します。
④で、複数を記述する場合、「Linux」系では、ネットワークアドレスを記述する方法が紹介されていますが、「FreeBSD」でやってみたら、うまくいかない。
複数のアドレスを記述する際は、末尾のアドレスの後に、スペースを空けて、アドレスを列挙することでうまくいきました。
ここまで設定したら、バックアップ先を再起動します。
3. バックアップ
バックアップ元にログインして、可能であれば、「sshd」を除くサーバアプリケーションを停止します。
停止しなくてもバックアップは可能ですが、バックアップが始まって以降、メールの受信や HTTP経由のデータベース更新が発生した場合、それらの更新分は保証されません。
vi /etc/rc.conf
以下の記述を追加します。
nfs_client_enable="YES"
nfs_client_flags="-n 4"
記述後、以下を実行します。
nfsiod -n 4
ここまでで、バックアップ先のディスクをマウントする準備ができましたので、マウントします。
mount 192.168.x.y:/usr/backup /mnt
① ②
①マウント先のホスト名(この場合は IP アドレスで指定)とマウントディレクトリの記述です
②マウントポイントを指定 (「/mnt」は最初からあります)
dump -0ua -f /mnt/root.dmp /
dump -0ua -f /mnt/var.dmp /var
dump -0ua -f /mnt/home.dmp /home
dump -0ua -f /mnt/usr.dmp /usr
スライスの分割によりダンプするものが異なります。
例に出しているのは、「FreeBSD 8.4 RELEASE」あたりのスライスをいくつかに分けている状態で。
イマドキ(2024年4月9日)であれば、スライスが 「/」しかないので、その場合、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分です。
もちろんスピードは、ネットワークの状況とディスクアクセスの速度に左右されるわけですが。
|
|