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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS