サーバ管理
転ばぬ先の杖。ufsdumpコマンドを使用して定期的にシステムのバックアップを取るよう心掛けましょう。バックアップを取るときは極力シングルユーザモードに移行した方がいいですが、運用機をそうそう停止することは難しいですよね。そういう場合は、 スナップショットを利用したバックアップがお薦めです。
バックアップを取る際は、以下の事を考慮しましょう。
DDSが用意出来ない場合は、tarやufsdumpなどを使用して設定ファイルなど最重要ファイルだけでもアーカイブしてリモートホストに置いたり、RAIDでシステムを構築するなどして、なるたけ障害に対して逃げ道を作っておくことをお薦めします。後で泣いちゃうよりずっといいです。
/etc/dumpdatesにバックアップ履歴を残しつつ、フルバックアップを行う場合は、こんな感じで実行します。
// 0(0〜9): フルバックアップ u: /etc/dumpdatesに履歴を記載 f: テープデバイス # ufsdump 0uf /dev/rmt/0n /dev/md/dsk/d0 # ufsdump 0uf /dev/rmt/0n /dev/md/dsk/d3 # ufsdump 0uf /dev/rmt/0n /dev/md/dsk/d6 ・・・
Sオプションを使うと、バックアップに必要な容量が計算できますので、テープに収まるかどうかの検討をするのに便利です。
# ufsdump S /dev/md/dsk/d0
fssnapコマンド使用して、ある時点のスナップショットを作成し、それをufsdumpコマンドでバックアップすることにより、システムを停止することなく正確なバックアップを取ることが出来ます。
以下に、ルート領域をスナップショットを利用してバックアップする例を記載します。
ルート領域のスナップショットを取得
# fssnap -F ufs -o maxsize=50m,backing-store=/var/tmp/snap / /dev/fssnap/0 maxsize:なくても可能 backing-store:bs としても可能
スナップショットの確認。
# /usr/lib/fs/ufs/fssnap -i --- Snapshot number : 0 Block Device : /dev/fssnap/0 Raw Device : /dev/rfssnap/0 Mount point : / Device state : idle Backing store path : /var/tmp/snap Backing store size : 640 KB Maximum backing store size : 51200 KB Snapshot create time : Mon Sep 12 16:31:36 2005 Copy-on-write granularity : 32 KB
スナップショットをバックアップ。
# ufsdump 0uf /dev/rmt/0n /dev/rfssnap/0
後片づけ(スナップショットを削除)。
# fssnap -d / --- Deleted snapshot 0. # /usr/lib/fs/ufs/fssnap -i // 出力なし
あまり使用しないと思いますが、ufsdump/ufsrestoreを使用してファイルシステムコピーが出来ます。
# ufsdump -0f - /dev/md/dsk/d0 | (cd /export/home/etc ; ufsrestore -rf -)