第2章 運用
2.2 バックアップ・リストア
2.2.3 バックアップ
ここでは、バックアップについて説明します。
バックアップ・リストアの共通手順
「2.2.2 バックアップ・リストアの共通手順」を参照してください。
バックアップディレクトリの準備
1.
管理サーバ(コントローラーノード)にroot権限でログインします。2.
マウント先を空にします。マウント先に、ファイル・ディレクトリがある場合は、別途用意したストレージに退避するか、削除してください。
削除する場合は、以下のコマンドを実行します。
# rm -rf /tmp/backup/* <RETURN>
3.
バックアップディレクトリを作成します。以下のコマンドを実行し、バックアップディレクトリを作成します。
バックアップディレクトリ には、バックアップ取得日時など、バックアップ取得時点を識別できる文字列を入力してください。
# mkdir -p /tmp/backup/バックアップディレクトリ/ <RETURN>
4.
管理サーバ(コントローラーノード)用のバックアップディレクトリを作成します。# mkdir -p /tmp/backup/バックアップディレクトリ/control/ \
/tmp/backup/バックアップディレクトリ/control/etc/libvirt/qemu/ \
/tmp/backup/バックアップディレクトリ/control/var/lib/libvirt/images/controller/ \ /tmp/backup/バックアップディレクトリ/control/var/lib/libvirt/images/data/ <RETURN>
管理サーバ(すべてのコントローラーVM)のバックアップ
1.
管理サーバ(コントローラーノード)にroot権限でログインします。2.
管理サーバ(すべてのコントローラーVM)のXML定義ファイルを取得します。# virsh dumpxml controller-vm1 \
> /tmp/backup/バックアップディレクトリ/control/etc/libvirt/qemu/controller-vm1.xml <RETURN>
# virsh dumpxml controller-vm2 \
> /tmp/backup/バックアップディレクトリ/control/etc/libvirt/qemu/controller-vm2.xml <RETURN>
# virsh dumpxml controller-vm3 \
> /tmp/backup/バックアップディレクトリ/control/etc/libvirt/qemu/controller-vm3.xml <RETURN>
3.
管理サーバ(すべてのコントローラーVM)のイメージファイルを取得します。# cp -p /var/lib/libvirt/images/controller/controller-vm{1,2,3}.qcow2 \
/tmp/backup/バックアップディレクトリ/control/var/lib/libvirt/images/controller/ <RETURN>
# cp -p /var/lib/libvirt/images/data/swiftstorage1.qcow2 \
/tmp/backup/バックアップディレクトリ/control/var/lib/libvirt/images/data/ <RETURN>
管理サーバ ( ネットワークノード ) のバックアップ
以下の手順は、すべての管理サーバ(ネットワークノード)で実施してください。
1.
管理サーバ(ネットワークノード)にroot権限でログインします。2.
以下のファイルを採取します。scpコマンドでは、管理サーバ(コントローラーノード)のパスワードを求められます。
# tar --selinux -C / -zcvf /var/tmp/`hostname`.tar.gz etc/neutron <RETURN>
# scp /var/tmp/`hostname`.tar.gz \
root@control:/tmp/backup/バックアップディレクトリ/ <RETURN>
# rm /var/tmp/`hostname`.tar.gz <RETURN>
管理サーバ(Cinderノード)のバックアップ
1.
管理サーバ(Cinderノード)にroot権限でログインします。2.
以下のファイルを採取します。scpコマンドでは、管理サーバ(コントローラーノード)のパスワードを求められます。
# umount /var/lib/cinder/conversion <RETURN>
# tar --selinux -C / -zcvf /var/tmp/`hostname`.tar.gz etc/cinder var/lib/cinder <RETURN>
# scp /var/tmp/`hostname`.tar.gz \
root@control:/tmp/backup/バックアップディレクトリ/ <RETURN>
# mount /var/lib/cinder/conversion <RETURN>
# rm /var/tmp/`hostname`.tar.gz <RETURN>
業務サーバ(コンピュートノード)のバックアップ
以下の手順は、すべての業務サーバ(コンピュートノード)で実施してください。
1.
業務サーバ(コンピュートノード)にroot権限でログインします。2.
以下のファイルを採取します。scpコマンドでは、管理サーバ(コントローラーノード)のパスワードを求められます。
# tar --selinux -C / -zcvf /var/tmp/`hostname`.tar.gz etc/nova var/lib/nova \ --exclude _base --exclude "disk*" <RETURN>
# scp /var/tmp/`hostname`.tar.gz root@control:/tmp/backup/バックアップディレクトリ/ <RETURN>
# rm /var/tmp/`hostname`.tar.gz <RETURN>
共有ストレージに接続しているハードウェアの停止
共有ストレージに接続しているハードウェアを以下の順序で停止します。
管理サーバ(Cinderノード)は、以降の手順で使用するため、停止しません。
各ハードウェアの停止方法は、「FUJITSU Integrated System PRIMEFLEX for Cloud K5モデル Standard 利用ガイド」を参照してくださ い。
1.
業務サーバ(コンピュートノード)2.
管理サーバ(コントローラーノード)3.
管理サーバ(ネットワークノード)業務サーバ(利用者VM)のデータのバックアップ
1.
管理サーバ(Cinderノード)にroot権限でログインします。2.
以下のコマンドを実行し、一時ディレクトリを作成します。# mkdir -p /tmp/rcx_backup_tmp <RETURN>
3.
管理サーバ(Cinderノード)のAffinityGroupにバックアップ対象のボリュームを追加します。以下のコマンドを実行します。
# ETERNUS_IP=$(cat /etc/cinder/cinder_fujitsu_eternus_dx.xml | tr -d '\r\n' | sed 's;.*<EternusIP>\([^<>]*\)</EternusIP>.*;\1;') <RETURN>
# CINDER_AFFINGRP=$(/opt/FJSVssmgr/sbin/storageadm affinity info -ipaddr $ETERNUS_IP -csv | awk -F, '$2 ~ /^Cinder[0-9]*/{print $1}') <RETURN>
# for affingrp in $CINDER_AFFINGRP; do
/opt/FJSVssmgr/sbin/storageadm affinity info -ipaddr $ETERNUS_IP -affinitygroup $affingrp -csv done | awk -F, '/^0x[0-9a-fA-F]{4}/ {print $4}' |
sort -u > /tmp/rcx_backup_tmp/volume_cinder <RETURN>
# /opt/FJSVssmgr/sbin/storageadm volume info -ipaddr $ETERNUS_IP -csv | awk -F, '/^0x[0-9a-fA-F]{4}/ {print $1}' | sort -u > /tmp/rcx_backup_tmp/volume_all <RETURN>
# join -j 1 -v 2 \
/tmp/rcx_backup_tmp/volume_cinder \ /tmp/rcx_backup_tmp/volume_all \ > /tmp/rcx_backup_tmp/volume_added <RETURN>
# for affingrp in $CINDER_AFFINGRP; do
cat /tmp/rcx_backup_tmp/volume_added | tr "\r\n" "," | sed 's/,$//' | xargs -i /opt/FJSVssmgr/sbin/storageadm affinity update -ipaddr $ETERNUS_IP \
-affinitygroup $affingrp -add -volume {} -s > /dev/null done <RETURN>
4.
管理サーバ(Cinderノード)を再起動します。以下のコマンドを実行し、OSを再起動します。
# shutdown -r now <RETURN>
5.
管理サーバ(Cinderノード)にroot権限でログインします。6.
管理サーバ(Cinderノード)のサービスを停止します。以下のコマンドを実行します。
コマンドの詳細は、「2.3.3 rcx_service」を参照してください。
# /opt/FJSVpf4c/bin/rcx_service stop <RETURN>
7.
管理サーバ(Cinderノード)のサービスの停止を確認します。以下のコマンドを実行します。
コマンドの詳細は、「2.3.3 rcx_service」を参照してください。
# /opt/FJSVpf4c/bin/rcx_service status <RETURN>
8.
以下のコマンドを実行し、バックアップ対象のデバイスを確認します。# find /dev/mapper/ | grep -E "/[0-9a-fA-F]{33}$" | sort <RETURN>
9.
外部ストレージを接続します。バックアップ用の外部ストレージを接続してください。
ファイルシステムとして利用する場合は、適切な箇所にマウントしてください。
10.
確認したすべてのバックアップ対象のデバイスをバックアップします。以下に、ddコマンドを利用した例を示します。
# dd if=バックアップ対象デバイス \
of=バックアップデバイスまたはバックアップファイル \ bs=1G <RETURN>
バックアップデバイスまたはバックアップファイルは、リストア時にリストア先デバイスが識別できるように、名前を付けるなどしてく ださい。
11.
バックアップ対象のボリュームを、管理サーバ(Cinderノード)のAffinityGroupから削除します。以下のコマンドを実行します。
# ETERNUS_IP=$(cat /etc/cinder/cinder_fujitsu_eternus_dx.xml | tr -d '\r\n' | sed 's;.*<EternusIP>\([^<>]*\)</EternusIP>.*;\1;') <RETURN>
# CINDER_AFFINGRP=$(/opt/FJSVssmgr/sbin/storageadm affinity info -ipaddr $ETERNUS_IP -csv | awk -F, '$2 ~ /^Cinder[0-9]*/{print $1}') <RETURN>
# for affingrp in $CINDER_AFFINGRP; do
cat /tmp/rcx_backup_tmp/volume_added | tr "\r\n" "," | sed 's/,$//' | xargs -I{} /opt/FJSVssmgr/sbin/storageadm affinity update -ipaddr $ETERNUS_IP \ -affinitygroup $affingrp -delete -volume {} -s > /dev/null
done <RETURN>
12.
以下のコマンドを実行し、一時ディレクトリを削除します。# rm -rf /tmp/rcx_backup_tmp <RETURN>
13.
管理サーバ(Cinderノード)を停止します。以下のコマンドを実行し、OSを停止します。
# shutdown -h now <RETURN>
共有ストレージの構成設定情報のバックアップ
共有ストレージの構成設定情報をバックアップします。構成設定情報のバックアップは、「ETERNUS Web GUI ユーザーズガイド(設定編)」の"構成設定情報バックアップ"、および"構成設 定情報採取"の記述を参照してください。
共有ストレージに接続しているハードウェアの起動
共有ストレージに接続しているハードウェアを以下の順序で起動します。
各ハードウェアの起動方法は、「FUJITSU Integrated System PRIMEFLEX for Cloud K5モデル Standard 利用ガイド」を参照してくださ い。
1.
管理サーバ(コントローラーノード)2.
管理サーバ(ネットワークノード)3.
管理サーバ(Cinderノード)4.
業務サーバ(コンピュートノード)業務サーバ(利用者VM)の起動
1.
管理サーバ(コントローラーVM2)にroot権限でログインします。2.
業務サーバ(利用者VM)を起動します。以下のコマンドを実行します。
起動に失敗した業務サーバ(利用者VM)があれば、エラーメッセージに従って対処を実施してください。
コマンドの詳細は、「2.3.1 rcx_all_instance_ctl.sh」を参照してください。
# . /root/openrc <RETURN>
# /opt/FJSVpf4c/bin/rcx_all_instance_ctl.sh -l start <RETURN>
3.
業務サーバ(利用者VM)の起動を確認します。以下のコマンドを実行し、バックアップ前に起動していたすべての業務サーバ(利用者VM)の状態がACTIVEになっていることを 確認します。
コマンドの詳細と注意事項は、「2.3.1 rcx_all_instance_ctl.sh」を参照してください。
# /opt/FJSVpf4c/bin/rcx_all_instance_ctl.sh status <RETURN>