Linux CentOS での システム丸ごと バックアップ & リストア
-- 参考記事 [[Linux システムバックアップリストア(ext2/ext3 dump restore)>http://chiji.atnifty.com/server/other/ext3backuprestore.html]]
** テスト環境 [#q559dce0]
- マシンは [[例のテスト機>CentOS#machine]] ハードディスクは2台接続 sda sdb
- ネット環境はNATルーター下のLAN内
- CentOS5.2 インストール用DVDからほぼ全て標準設定のままインストール
-- sdb は インストールに使用するドライブからチェックを外した。
-- インストーラが標準で設定してくれるディスクパーティション設定は
|sda|/dev/sda1|/boot|100Mb|>|>|>||
||/dev/sda2|LVM(VolGroup00)|残り全部|LVM|/dev/VolGroup00/LogVol00|/|残り全部|
|>|>|>|||/dev/VolGroup00/LogVol01|swap|2G|
- LVMスナップショット・RAID 等については後日試す
- マルチユーザモードのままでGo!(FreeBSDで忙しく動いているサーバでも今まで問題が起きた事がないから。。)
** バックアップ前のファイルシステムの構造 [#d9ca98ad]
- fdisk -l
Disk /dev/sda: 250.0 GB, 250058268160 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 30401 244091610 8e Linux LVM
- pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name VolGroup00
PV Size 232.78 GB / not usable 2.71 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 7449
Free PE 0
Allocated PE 7449
PV UUID t0333B-ZIE6-YMQ1-ZbTe-LGfy-pdlr-cyKI1w
- vgdisplay
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 232.78 GB
PE Size 32.00 MB
Total PE 7449
Alloc PE / Size 7449 / 232.78 GB
Free PE / Size 0 / 0
VG UUID RUOjRZ-2tj3-JN01-2nhB-fghS-fEUd-Tv1bFU
- lvdisplay
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID UV6Rso-rQ17-sei5-aRAP-lGb7-1pHC-Phe51C
LV Write Access read/write
LV Status available
# open 1
LV Size 230.84 GB
Current LE 7387
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Name /dev/VolGroup00/LogVol01
VG Name VolGroup00
LV UUID pTMWnR-Rcee-IW33-htoE-u0nM-8FMx-w3H5D5
LV Write Access read/write
LV Status available
# open 1
LV Size 1.94 GB
Current LE 62
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
- cat /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
** dump [#m71cf6ca]
- バックアップイメージの保存場所の用意
-- 同一マシン内の別ドライブ /dev/sdb
#パーテーション
fdisk /dev/sdb
n (作成)
p (基本パーテーション)
1 (領域番号1-4の1番目)
1 (最初 シリンダ)
+50G (終点 シリンダ 適当に..50Gigabyte...)
w (書き込む)
#フォーマット
mke2fs -j -L /back /dev/sdb1 (-j=ext3対応 -L=ラベル設定)
#ラベル確認コマンド
e2label /dev/sdb1
#マウント
mkdir /back
mount /dev/sdb1 /back
-- NFSマウントできる他のマシン
#準備=すでにあるFreeBSDのNFS
#マウント
mkdir /back
mount 192.168.0.***:/back /back
- dump
sync
dump 0uaf /back/root.dump0 /
dump 0uaf /back/boot.dump0 /boot
-- dump0 dump1 定期的にcronで動かす設定も後日。。。。
-- この時に画面に表示されるもの↓↓↓↓↓↓をファイルに記録して置きたいが方法が不明、cronでdumpを実行すればメールで送ってくるはず?
DUMP: Date of this level 0 dump: Tue Mar 3 15:19:57 2009
DUMP: Dumping /dev/mapper/VolGroup00-LogVol00 (/) to root.dump0
DUMP: Label: none
DUMP: Writing 10 Kilobyte records
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 2650150 blocks.
DUMP: Volume 1 started with block 1 at: Tue Mar 3 15:21:49 2009
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: 70.43% done at 6221 kB/s, finished in 0:02
DUMP: Closing root.dump0
DUMP: Volume 1 completed at: Tue Mar 3 15:29:37 2009
DUMP: Volume 1 3007150 blocks (2936.67MB)
DUMP: Volume 1 took 0:07:48
DUMP: Volume 1 transfer rate: 6425 kB/s
DUMP: 3007150 blocks (2936.67MB) on 1 volume(s)
DUMP: finished in 468 seconds, throughput 6425 kBytes/sec
DUMP: Date of this level 0 dump: Tue Mar 3 15:19:57 2009
DUMP: Date this dump completed: Tue Mar 3 15:29:37 2009
DUMP: Average transfer rate: 6425 kB/s
DUMP: DUMP IS DONE
DUMP: Date of this level 0 dump: Tue Mar 3 15:19:46 2009
DUMP: Dumping /dev/sda1 (/boot) to boot.dump0
DUMP: Label: /boot
DUMP: Writing 10 Kilobyte records
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 12066 blocks.
DUMP: Volume 1 started with block 1 at: Tue Mar 3 15:19:46 2009
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Closing boot.dump0
DUMP: Volume 1 completed at: Tue Mar 3 15:19:48 2009
DUMP: Volume 1 12130 blocks (11.85MB)
DUMP: Volume 1 took 0:00:02
DUMP: Volume 1 transfer rate: 6065 kB/s
DUMP: 12130 blocks (11.85MB) on 1 volume(s)
DUMP: finished in 2 seconds, throughput 6065 kBytes/sec
DUMP: Date of this level 0 dump: Tue Mar 3 15:19:46 2009
DUMP: Date this dump completed: Tue Mar 3 15:19:48 2009
DUMP: Average transfer rate: 6065 kB/s
DUMP: DUMP IS DONE
** restore [#w79492b2]
- 壊れたディスクを交換してインストールDVDから起動する
#起動時
boot:linux resuce
-- レスキューモードで起動する、ネットワークの設定はNFSを使う場合以外は不要、sysimage へのマウントも不要 を選択
- 新しいディスクに[[バックアップ時の構造>#d9ca98ad]]と同じ様にを設定する
-- パーテーション
#/boot用
fdisk /dev/sda
n (作成)
p (基本パーテーション)
1 (領域番号1-4の1番目)
1 (最初 シリンダ)
7 (終点 シリンダ /boot用に100Mbも多すぎるから半分位に変更してみた)
a (ブート可能フラグ)
1 (領域番号)
#LVM用
n (作成)
p (基本パーテーション)
2 (領域番号1-4の2番目)
(最初 シリンダ "default"のまま)
(終点 シリンダ "default"のままで残り全部)
t (LVM用にシステムIDを変更)
2 (領域番号1-4の2番目)
8e (Linux LVM)
#テーブルをディスクに書き込み終了する
w
-- LVM
--- PV
#PVリスト
lvm pvs
lvm pvscan
#PV作成
lvm pvceate /dev/sda2
--- VG
#VGリスト
lvm vgs
lvm vgscan
#VGアクティブ化
lvm vgchange -ay
#VG作成
lvm vgceate -s 32m VolGroup00 /dev/sda2 (-s=PEサイズ)
--- LV
#LVリスト
lvm lvs
lvm lvscan
#LV作成
lvm lvcreate -L 20G -n LogVol00 /dev/VolGroup00 ("/"用、後のスナップショット用の領域を残すために小さくした)
lvm lvcreate -L 2G -n LogVol01 /dev/VolGroup00 ("swap"用)
-- ファイルシステム
#/boot
mke2fs -j -L /boot /dev/sda1 (-j=ext3対応 -L=ラベル設定)
#/
mke2fs -j /dev/VolGroup00/LogVol00
-- スワップ
mkswap /dev/VolGroup00/LogVol01
- restore
#バックアップイメージを保存した場所をマウントする
mkdir /back
mount /dev/sdb1 /back
#新しいディスクの"/"を"/rest"にマウントする
mkdir /rest
mount -t ext3 /dev/VolGroup00/LogVol00 /rest
#"/"の復元
cd /rest
restor rvf /back/root.dump0
#新しいディスクの"/boot"を"/rest/boot"にマウントする
mount -t ext3 /dev/sda1 /rest/boot
#"/boot"の復元
cd /rest/boot
restor rvf /back/boot.dump0
#dump1等があれば繰り返す
rm /rest/restoresymtable
rm /rest/boot/restoresymtable
rm /rest/etc/dumpdates
-- restor先をマウント時に、" -o nouser_xattr " のオプションを設定したほうが良いらしいが、エラーにならなかったので、問題が起きるまでこのまま。
-- 同じく " -T /back " 等と tmp用の大容量フォルダを用意したほうが良いらしいが、エラーにならなかった(マシンのメモリ量に依存するのかな?)
- 機器やシステム構成に変更があった場合
/rest/ets/fstab の変更設定
/rest/etc/... その他必要項目の設定変更
** ブートローダのインストール [#oac956a6]
chroot /rest
MAKEDEV sda
grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
** 終了 [#w4c05c33]
sync
exit