Linux CentOS での システム丸ごと バックアップ & リストア

テスト環境

  • マシンは 例のテスト機 ハードディスクは2台接続 sda sdb
  • ネット環境はNATルーター下のLAN内
  • CentOS5.2 インストール用DVDからほぼ全て標準設定のままインストール
    • sdb は インストールに使用するドライブからチェックを外した。
    • インストーラが標準で設定してくれるディスクパーティション設定は
      sda/dev/sda1/boot100Mb
      /dev/sda2LVM(VolGroup00)残り全部LVM/dev/VolGroup00/LogVol00/残り全部
      /dev/VolGroup00/LogVol01swap2G
  • LVMスナップショット・RAID 等については後日試す
  • マルチユーザモードのままでGo!(FreeBSDで忙しく動いているサーバでも今まで問題が起きた事がないから。。)

バックアップ前のファイルシステムの構造

  • 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

  • バックアップイメージの保存場所の用意
    • 同一マシン内の別ドライブ /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

  • 壊れたディスクを交換してインストールDVDから起動する
    #起動時
    boot:linux resuce
    • レスキューモードで起動する、ネットワークの設定はNFSを使う場合以外は不要、sysimage へのマウントも不要 を選択
  • 新しいディスクにバックアップ時の構造と同じ様にを設定する
    • パーテーション
      #/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/...   その他必要項目の設定変更

ブートローダのインストール

chroot /rest
MAKEDEV sda
grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

終了

sync
exit

添付ファイル: filedisk.txt 1374件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-03-06 (金) 20:01:25 (5523d)