4月 12

Linux LVMのバックアップの続き。

今日は、SnapShotをとって、バックアップをしてみたいと思います。
昨日やった所までやるとやり過ぎてしまったので、昨日の投稿を修正してVolume Groupを拡張したところまでにしました。
手元の環境ではLogical Volumeまで拡張してしまっていたので、Logical Volumeを縮小しようとして、lvreduceを実行したところ失敗してOSが起動できなくなってしまったので、急遽再インストールをしました。(VMなんだから先にイメージ取っておけば良かったんですが。。。)
lvreduceコマンドを実行するときは注意してやった方が良いです。(今回はオプションに「-」(マイナス)を付け忘れただけで追加した領域OSで使っている領域まで縮小してしまった)

○SnapShot用のLogical Volumeの作成

SnapShot用のLogical Volumeを作ります。
ちなみにバックアップが終わったら、このLogical Volumeは削除します。

1.バックアップ対象(SnapShotをとる対象)のLogical Volume名を確認する

これはもうわかりますね「lvdisplay」で表示される「LV Name」です。

2.SnapShotのLogical Volumeを作成する

# lvcreate --snapshot --size=1G --name snap /dev/VolGroup00/LogVol00[Ent]
? Logical volume "snap" created

3.Logical Volumeが作成されたことを確認する

?# lvscan[Ent]
? ACTIVE?? Original '/dev/VolGroup00/LogVol00' [10.88 GB] inherit
? ACTIVE??????????? '/dev/VolGroup00/LogVol01' [1.00 GB] inherit
? ACTIVE?? Snapshot '/dev/VolGroup00/snap' [1.00 GB] inherit

と表示され、1GBのSnapShot領域が作成されたことをが確認できます。
SnapShot領域には、更新のないファイルについては、その実体のあるポインタ情報を保持しています。
更新があったファイルは、更新前のファイルのコピーとそのコピーへのポインタを保持していて、更新されたファイルは随時更新されていく仕組みになっています。
SnapShot領域には確保した分の領域しかないので、更新が多いシステムではサイズを大きく確保するなど注意が必要。もしあふれたどうなるんだろう(‥;)

SnapShot領域の容量確認方法は、lvdisplayのAllocated to snapshotで確認できる。

# lvdisplay /dev/VolGroup00/snap[Ent]
? --- Logical volume ---
? LV Name??????????????? /dev/VolGroup00/snap
? VG Name??????????????? VolGroup00
? LV UUID??????????????? 13XZ3r-TkGu-0lmG-GCKU-HPyd-Nxft-FyphAZ
? LV Write Access??????? read/write
? LV snapshot status???? active destination for /dev/VolGroup00/LogVol00
? LV Status????????????? available
? # open???????????????? 0
? LV Size??????????????? 10.88 GB
? Current LE???????????? 348
? COW-table size???????? 1.00 GB
? COW-table LE?????????? 32
? Allocated to snapshot? 0.11%
? Snapshot chunk size??? 4.00 KB
? Segments?????????????? 1
? Allocation???????????? inherit
? Read ahead sectors???? auto
? - currently set to???? 256
? Block device?????????? 253:2

○SnapShotを取っているうちにバックアップ!!

バックアップには「dump」コマンドを使います。

1.バックアップをとる

# dump 0uf /mnt/nfs/ダンプファイル名.dmp /dev/VolGroup00/snap[Ent]
? DUMP: Date of this level 0 dump: Sun Apr 12 16:09:54 2009
? DUMP: Dumping /dev/VolGroup00/snap (an unlisted file system) to /mnt/nfs/ダンプファイル名.dmp
? DUMP: Label: none
? DUMP: Writing 10 Kilobyte records
? DUMP: mapping (Pass I) [regular files]
? DUMP: mapping (Pass II) [directories]
? DUMP: estimated 4719485 blocks.
? DUMP: Volume 1 started with block 1 at: Sun Apr 12 16:10:12 2009
? DUMP: dumping (Pass III) [directories]
? DUMP: dumping (Pass IV) [regular files]
? DUMP: 23.02% done at 3621 kB/s, finished in 0:16
? DUMP: 46.98% done at 3695 kB/s, finished in 0:11
? DUMP: 74.52% done at 3907 kB/s, finished in 0:05
? DUMP: 100.00% done at 4029 kB/s, finished in 0:00
? DUMP: Closing /mnt/nfs/ダンプファイル名.dmp
? DUMP: Volume 1 completed at: Sun Apr 12 16:33:02 2009
? DUMP: Volume 1 5573130 blocks (5442.51MB)
? DUMP: Volume 1 took 0:22:50
? DUMP: Volume 1 transfer rate: 4067 kB/s
? DUMP: 5573130 blocks (5442.51MB) on 1 volume(s)
? DUMP: finished in 1368 seconds, throughput 4073 kBytes/sec
? DUMP: Date of this level 0 dump: Sun Apr 12 16:09:54 2009
? DUMP: Date this dump completed:? Sun Apr 12 16:33:02 2009
? DUMP: Average transfer rate: 4067 kB/s
? DUMP: DUMP IS DONE

とこんな感じでバックアップします。gzip等で圧縮することもできますが、圧縮すると、ダンプファイルが壊れることもあるようなので、注意が必要。

バックアップを撮り終わった後にSnapShotの状況を確認するとこんな感じ。

# lvdisplay /dev/VolGroup00/snap[Ent]
? --- Logical volume ---
? LV Name??????????????? /dev/VolGroup00/snap
? VG Name??????????????? VolGroup00
? LV UUID??????????????? 13XZ3r-TkGu-0lmG-GCKU-HPyd-Nxft-FyphAZ
? LV Write Access??????? read/write
? LV snapshot status???? active destination for /dev/VolGroup00/LogVol00
? LV Status????????????? available
? # open???????????????? 0
? LV Size??????????????? 10.88 GB
? Current LE???????????? 348
? COW-table size???????? 1.00 GB
? COW-table LE?????????? 32
? Allocated to snapshot? 0.90%
? Snapshot chunk size??? 4.00 KB
? Segments?????????????? 1
? Allocation???????????? inherit
? Read ahead sectors???? auto
? - currently set to???? 256
? Block device?????????? 253:2

実際にサーバとして動かしている訳じゃないので、1%も使いませんでした。

2.SnapShot領域はもう不要なので、削除します。

# lvremove /dev/VolGroup00/snap[Ent]
Do you really want to remove active logical volume "snap"? [y/n]: y[Ent]
? Logical volume "snap" successfully removed

3.SnapShot領域が削除されたことを確認します。

?# lvscan[Ent]
? ACTIVE?? Original '/dev/VolGroup00/LogVol00' [10.88 GB] inherit
? ACTIVE??????????? '/dev/VolGroup00/LogVol01' [1.00 GB] inherit

と、SnapShotと書かれた行が無くなっています。

4.ついでにリカバリの時に参考にする構成情報も保存します。

# fdisk -l /dev/sda > sda.txt[Ent]
# df -k > df.txt[Ent]
# pvdisplay > pvdisplay.txt[Ent]
# vgdisplay > vgdisplay.txt[Ent]
# lvdisplay > lvdisplay.txt[Ent]

○LVMになっていないパーティションのバックアップ

手元のシステムでは/bootパーティションがLVMになっていない(普通はしないらしい)ので、/bootパーティションだけは、アンマウントして、dumpでバックアップします。

1./bootパーティションをアンマウントする

# umount /boot[Ent]

をします。

2.バックアップします

# dump 0uf /mnt/nfs/ダンプファイル名.dmp /dev/sda1[Ent]
? DUMP: Date of this level 0 dump: Sun Apr 12 16:50:30 2009
? DUMP: Dumping /dev/sda1 (/boot) to /mnt/nfs/200904121650_01_boot.dmp
? DUMP: Label: /boot
? DUMP: Writing 10 Kilobyte records
? DUMP: mapping (Pass I) [regular files]
? DUMP: mapping (Pass II) [directories]
? DUMP: estimated 6867 blocks.
? DUMP: Volume 1 started with block 1 at: Sun Apr 12 16:50:30 2009
? DUMP: dumping (Pass III) [directories]
? DUMP: dumping (Pass IV) [regular files]
? DUMP: Closing /mnt/nfs/200904121650_01_boot.dmp
? DUMP: Volume 1 completed at: Sun Apr 12 16:50:32 2009
? DUMP: Volume 1 6920 blocks (6.76MB)
? DUMP: Volume 1 took 0:00:02
? DUMP: Volume 1 transfer rate: 3460 kB/s
? DUMP: 6920 blocks (6.76MB) on 1 volume(s)
? DUMP: finished in 1 seconds, throughput 6920 kBytes/sec
? DUMP: Date of this level 0 dump: Sun Apr 12 16:50:30 2009
? DUMP: Date this dump completed:? Sun Apr 12 16:50:32 2009
? DUMP: Average transfer rate: 3460 kB/s
? DUMP: DUMP IS DONE

すぐ終わります。

3.またマウントしておきます。

# mount /boot[Ent]

これでバックアップがとれたはず・・・。

今日はここまで。リカバリは明日以降時間がとれたら、空っぽの仮想マシンを作ってSystemRescueCDをつかってリカバリしてみたいと思います。

ちなみに、ダンプファイルを保存した先はFreeNASを使ったNFSサーバでした。NFSからもSambaからもアクセスできるようにしておいたので、NFSで書き込んだファイルがWindowsのファイル共有経由でみれるよう構成してみました。
これについては、また別の機会にでも取り上げてみようかな。

※2009/04/21 タイトルを変更

Trackback URL

Leave a Reply

*


デル株式会社
トレンドマイクロ・オンラインショップ