ライン

ポイント:これまで通りに単純に

ライン

 はじめに

フルバックアップ

 FreeBSD 9.3-RELEASEで動作しているサーバ動作のマシンがあり、ここでは2つのストレージがGMIRRORのRAID1ミラーで動作しています。
UFS2ですが、GPTパーティションで/ 以下にドンと切られている状態です。

 取りあえずは、何かあったときのためにバックアップが欲しいのですが、UFS2のスナップショットがうまくとれてくれないのでdumpで取得しておきます。

 もう1本ディスクを加えて /backupを用意

 ディスクを追加してリブート。認識できていることを確認してここにバックアップすることにします。

 bsdconfigというコマンドを入れて、操作することにします。
※これは以前の画面のキャプチャーをそのままに説明を入れます。
 rootで bsdconfigと入れると以下のような画面になりますので、5のDisk Managementを選択します。

今回の容量とは、ちょっと違うのですが、da0とda1は、gmirrortでソフトウェアRAIDでミラーリングを行っています。
今回の物は、da2として見えてきます。 CREATEを選び、GPTを選択します。
backupというラベルで作成しました。
イメージはこんな感じで、FreeBSD-UFSでフルを確保しました。Commitして終了します。

次は、これを使ってバックアップします。

 /mntにマウントして利用

 以下の通り、動作しているサーバのOSは、mirror/p2に同期しつつ /以下全部が入っています。
作成した /da2p2を /mntにマウントしてここにバックアップを取得します。

# gmirror status
     Name    Status  Components
mirror/p1  COMPLETE  da0p1 (ACTIVE)
                     da1p1 (ACTIVE)
mirror/p2  COMPLETE  da0p2 (ACTIVE)
                     da1p2 (ACTIVE)
mirror/p3  COMPLETE  da0p3 (ACTIVE)
                     da1p3 (ACTIVE)
# mount /dev/da2p2 /mnt
# dump -0Lauf - /dev/mirror/p2 | bzip2 > /mnt/system_20140928_0826.dump
  DUMP: WARNING: -L requested but snapshot location //.snap
  DUMP:          is not a directory: dump downgraded, -L ignored
  DUMP: Date of this level 0 dump: Sun Sep 28 09:36:10 2014
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/mirror/p2 (/) to standard output
  DUMP: mapping (Pass I) [regular files]
  DUMP: mapping (Pass II) [directories]
  DUMP: estimated 14653530 tape blocks.
  DUMP: dumping (Pass III) [directories]
  DUMP: dumping (Pass IV) [regular files]
  DUMP: 4.78% done, finished in 1:39 at Sun Sep 28 11:20:56 2014
  DUMP: 10.44% done, finished in 1:25 at Sun Sep 28 11:12:05 2014
  DUMP: 15.43% done, finished in 1:22 at Sun Sep 28 11:13:28 2014
  DUMP: 19.97% done, finished in 1:20 at Sun Sep 28 11:16:26 2014
  DUMP: 26.19% done, finished in 1:10 at Sun Sep 28 11:11:44 2014
  DUMP: 32.05% done, finished in 1:03 at Sun Sep 28 11:09:53 2014
  DUMP: 36.20% done, finished in 1:01 at Sun Sep 28 11:12:58 2014
  DUMP: 41.11% done, finished in 0:57 at Sun Sep 28 11:13:34 2014
  DUMP: 46.72% done, finished in 0:51 at Sun Sep 28 11:12:36 2014
  DUMP: 52.70% done, finished in 0:44 at Sun Sep 28 11:11:09 2014
  DUMP: 58.39% done, finished in 0:39 at Sun Sep 28 11:10:28 2014
  DUMP: 64.84% done, finished in 0:32 at Sun Sep 28 11:08:49 2014
  DUMP: 70.59% done, finished in 0:27 at Sun Sep 28 11:08:21 2014
  DUMP: 76.26% done, finished in 0:21 at Sun Sep 28 11:08:04 2014
  DUMP: 81.80% done, finished in 0:16 at Sun Sep 28 11:07:58 2014
  DUMP: 87.83% done, finished in 0:11 at Sun Sep 28 11:07:22 2014
  DUMP: 92.27% done, finished in 0:07 at Sun Sep 28 11:08:24 2014
  DUMP: short read error from /dev/mirror/p2: [block 119537510]: count=10240, got=3584
  DUMP: 97.97% done, finished in 0:01 at Sun Sep 28 11:08:08 2014
  DUMP: DUMP: 14655111 tape blocks
  DUMP: finished in 5507 seconds, throughput 2661 KBytes/sec
  DUMP: level 0 dump on Sun Sep 28 09:36:10 2014
  DUMP: DUMP IS DONE

 約3時間以内でバックアップデータは取得できました。
データは7GBほどになっていました。DVDが4.7GB程度の容量なので、さっくりとは保存できなそうです。
この時代なのでSDカードやUSBメモリーが簡単そうです。

 ちなみに、dumpコマンドはすんなり投入できずに、

mksnap_ffs: Cannot create snapshot //.snap/dump_snapshot: /: Snapshots are not yet supported when running with journaled soft updates: Operation not supported
dump: Cannot create //.snap/dump_snapshot: No such file or directory

とかエラーになっていました。

# cd /
# chflags noschg .sujournal
# chflags nosunlink .sujournal
# chmod 600 .sujournal
# rm -f .sujournal
# rm -rf ./snap

という感じにしてから実行することで、何事も無かったかのように動き出しました。

 バックアップデータを実際にリストア動作確認してみる*

 ちゃんと戻るかを手元の仮想環境(VM Player)で確認します。
データはsftpで20分ほどで手元に来ました。

他のFreeBSDで空のストレージを突っ込んで、bsdconfigでda1として追加して、GPTパーティションだけ先に切っておきます。

# mount /dev/da1p2 /mnt
# cd /mnt
# bzcat /home/foo/system_20140928_0826.dump  | restore rf -
expected next file 87, got 49
./var/log/pflog: not found on tape
expected next file 7223489, got 7223488

こんな感じで、完了。
実際にリブートすると、gmirrorにしていたので、fstabの記述で途中で停止。
手動でコマンドを入れてログイン完了。
rc.conf に指定していたIPアドレス関連を終始してリブート。
うまくいきました。

不要なものを削除してしまいます。

# cd /
# chflags noschg .sujournal
# chflags nosunlink .sujournal
# chmod 600 .sujournal
# rm -f .sujournal
# rm -rf ./snap
# rm restoresymtable

これでリブートして普通に使えればOKということにします。

まずはバックアップが正常に起動利用できることが確認できました。

# df
Filesystem 1K-blocks     Used    Avail Capacity  Mounted on
/dev/da0p2  57876636 15362020 37884488    29%    /
devfs              1        1        0   100%    /dev
# cat /etc/fstab
# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/da0p2      /               ufs     rw      1       1
/dev/da0p3      none            swap    sw      0       0
# pstat -s
Device          1K-blocks     Used    Avail Capacity
/dev/da0p3        3145692        0  3145692     0%

定期的にバックアップが持てれば安心です。

【改訂履歴】作成:2014/09/28 更新:2014/10/ 4

【参考リンク】



Copyright © 1996,1997-2006,2007- by F.Kimura,