5.19.1 スナップショット・ベースのバックアップを使用した管理ドメインdom0のバックアップ

この手順は、管理ドメインdom0のスナップショット・ベースのバックアップを取得する方法を示しています。

論理ボリューム/dev/VGExaDb/LVDoNotRemoveOrUseは、スナップショットを作成できるだけの空き領域を常に確保するためのプレースホルダです。dbserver_backup.shを実行すると、プレースホルダLVMがスクリプトによって削除され、それによって生まれた空き領域がスナップショットに使用され、スナップショットの作成後に再びLVMが作成されます。ここで説明する手動手順を実行する場合は、これらのタスクをすべて手動で実行する必要があります。

次のステップで示す値は、例です。rootユーザーとして、すべてのステップを実行する必要があります。

  1. バックアップの保存先を準備します。

    バックアップ先は、書込み可能なNFSの場所など、ローカル・マシンの外部に存在するようにし、バックアップ・アーカイブ・ファイルを保持できる十分な大きさにする必要があります。カスタマイズされていないパーティションの場合、バックアップを保持するのに必要な領域は約60 GBです。

    次のコマンドを使用してバックアップ先を準備できます。

    # mkdir -p /remote_FS
    
    # mount -t nfs -o rw,intr,soft,proto=tcp,nolock ip_address:/nfs_location/ /remote_FS
    

    ip_addressは、NFSサーバーのIPアドレスで、nfs_locationは、バックアップを保持するNFSの場所です。

  2. / (ルート)ディレクトリをホストするファイル・システムのスナップショット・ベースのバックアップを取得します。
    1. LVDoNotRemoveOrUse論理ボリュームの有無をチェックします。

      このボリュームが存在する場合は、ボリュームを削除してスナップショット用の領域を確保します。次のスクリプトを実行してLVDoNotRemoveOrUse論理ボリュームの有無をチェックし、存在する場合は削除します。

      lvm lvdisplay --ignorelockingfailure /dev/VGExaDb/LVDoNotRemoveOrUse
      if [ $? -eq 0 ]; then
        # LVDoNotRemoveOrUse logical volume exists.
        lvm lvremove -f /dev/VGExaDb/LVDoNotRemoveOrUse
        if [ $? -ne 0 ]; then
             echo "Unable to remove logical volume: LVDoNotRemoveOrUse. Unable to proceed with backup"
        fi
      fi

      LVDoNotRemoveOrUse論理ボリュームが存在しない場合は、その理由を調査し、以降のステップには進みません。

    2. / (ルート)ディレクトリをホストするファイル・システムに、LVDbSys3_snapという名前のスナップショットを作成します。

      この例では、LVDbSys3がアクティブ・パーティションであることを前提とします。

      # lvcreate -L1G -s -n LVDbSys3_snap /dev/VGExaDb/LVDbSys3
      
    3. スナップショットにラベルを付けます。
      # e2label /dev/VGExaDb/LVDbSys3_snap DBSYSOVS_SNAP
      
    4. スナップショットをマウントします。
      # mkdir /root/mnt
      
      # mount /dev/VGExaDb/LVDbSys3_snap /root/mnt -t ext4
      
    5. バックアップのディレクトリに変更します。
      # cd /root/mnt
      
    6. バックアップ・ファイルを作成します。
      # tar -pjcvf /remote_FS/mybackup.tar.bz2 * /boot > /tmp/backup_tar.stdout 2> /tmp/backup_tar.stderr
      
    7. /tmp/backup_tar.stderrファイルをチェックして、重大なエラーがないかを確認します。

      オープン・ソケットのアーカイブの失敗に関するエラーおよび他の同様のエラーは無視できます。

  3. スナップショットをアンマウントして、ルート・ディレクトリのスナップショットを削除します。
    # cd /
    # umount /root/mnt
    # /bin/rmdir /root/mnt
    # lvremove /dev/VGExaDb/LVDbSys3_snap
  4. NFS共有をアンマウントします。
    # umount /remote_FS
  5. 論理ボリューム/dev/VGExaDb/LVDoNotRemoveOrUseを再作成します。
    # lvm lvcreate -n LVDoNotRemoveOrUse -L1G VGExaDb