- メンテナンス・ガイド
- Oracle VMユーザー・ドメインの管理
- Oracle VMデプロイメントのリカバリ
- シナリオ2: 管理ドメインの再イメージ化およびバックアップからのユーザー・ドメインのリストア
5.20.3 シナリオ2: 管理ドメインの再イメージ化およびバックアップからのユーザー・ドメインのリストア
この手順では、管理ドメインを再イメージ化し、すべてのユーザー・ドメインを再構築します。
次の手順は、修復不可能な損傷が管理ドメインで発生したときに、管理ドメインのバックアップは存在しないが、すべてのユーザー・ドメインを収容しているストレージ・リポジトリ(/EXAVMIMAGES
ファイル・システム)のバックアップが利用可能な場合に使用できます。
- 「Oracle Exadata Database Serverの再イメージ化」の手順を使用して、ラック内のその他の管理ドメインで使用されているイメージで管理ドメインを再イメージ化します。
- 次のコマンドを実行します。
# /opt/oracle.SupportTools/switch_to_ovm.sh # /opt/oracle.SupportTools/reclaimdisks.sh –free –reclaim
- Oracle Exadata Database Machineエイス・ラックでリカバリを実行する場合は、「Oracle Exadata Database Machineエイス・ラックのOracle Linuxデータベース・サーバーのリカバリ後の構成」の手順を実行します。
- OCFS2ファイル・システムを
/dev/sda3
パーティションに再構築します。# umount /EXAVMIMAGES # mkfs -t ocfs2 -L ocfs2 -T vmstore --fs-features=local /dev/sda3 --force
- OCFS2パーティション
/dev/sda3
を/EXAVMIMAGES
にマウントします。# mount -t ocfs2 /dev/sda3 /EXAVMIMAGES
- バックアップNFSサーバーをマウントして、ユーザー・ドメインのイメージを保持する
/EXAVMIMAGES
ファイル・システムをリストアします。# mkdir -p /remote_FS # mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/location_of_backup /remote_FS
/EXAVMIMAGES
ファイル・システムをリストアします。# tar -Spxvf /remote_FS/backup-of-exavmimages.tar -C /EXAVMIMAGES
ノート:
記憶域リポジトリのリストア処理では、ユーザー・ドメイン固有のファイル(/EXAVMINAGES/GuestImages/user_domain/
下のファイル)が通常のファイルとしてリストアされ、これらのファイルがユーザー・ドメインの作成時に最初に記憶域リポジトリに作成されたOCFS2 reflinkとしてはリストアされません。そのため、/EXAVMINAGES
内の領域使用量は、リストア処理後に、バックアップ時の元の領域使用量よりも増加することがあります。- ネットワーク・ブリッジを手動で構成します。
ovmutils
RPMのバージョンを確認します。# rpm -qa|grep ovmutils
ovmutils
RPMのバージョンが12.1.2.2.0より前の場合は、次のステップを実行します。-
/opt/exadata_ovm/exadata.img.domu_maker
をバックアップします。このバックアップ・コピーは後ほど必要になります。# cp /opt/exadata_ovm/exadata.img.domu_maker /opt/exadata_ovm/exad ata.img.domu_maker-orig
-
vi
などのテキスト・エディタで/opt/exadata_ovm/exadata.img.domu_maker
ファイルを開いて、g_do_not_set_bridge=yes
を検索します。この文字列は、CASE文オプションnetwork-discovery)
の数行下にあります。この文字列を
g_do_not_set_bridge=no
に変更します。/opt/exadata_ovm/exadata.img.domu_maker
を保存して終了します。 -
/EXAVMIMAGES/conf
ディレクトリ内のすべてのXMLファイルに、手動で/opt/exadata_ovm/exadata.img.domu_maker
を実行します。# cd /EXAVMIMAGES/conf # ls -1|while read file; do /opt/exadata_ovm/exadata.img.domu_maker network-discovery $file /tmp/netdisc-$file; done
-
バックアップ・コピーから
/opt/exadata_ovm/exadata.img.domu_maker
をリストアします。# cp /opt/exadata_ovm/exadata.img.domu_maker-orig /opt/exad ata_ovm/exadata.img.domu_maker
-
ovmutils
RPMのバージョンが12.1.2.2.0以降の場合は、次のコマンドを実行します。# /opt/exadata_ovm/exadata.img.domu_maker add-bonded-bridge- dom0 vmbondeth0 eth4 eth5
/EXAVMIMAGES/GuestImages
ディレクトリ内のユーザー・ドメイン・ディレクトリごとに、次のステップを実行します。- ユーザー・ドメインのUUIDを取得します。
# grep ^uuid /EXAVMIMAGES/GuestImages/user_domain_hostname/vm.cfg |awk -F"=" '{print $2}'|sed s/"'"//g|sed s/" "//g
コマンドを実行すると、uuid値が返され、これは次のコマンドで使用されます。
- UUID用のサブディレクトリを作成します。
# mkdir -p /OVS/Repositories/uuid
- 新しいUUIDディレクトリ内にuser_domain_hostnameの
vm.cfg
ファイルに対するシンボリック・リンクを作成します。# ln -s /EXAVMIMAGES/GuestImages/user_domain_hostname/vm.cfg /OVS/Repositories/uuid/vm.cfg
- user_domain_hostnameの自動起動を構成します。
# ln -s /OVS/Repositories/uuid/vm.cfg /etc/xen/auto/user_domain_hostname.cfg
VirtualDisks
サブディレクトリを作成します。# mkdir VirtualDisks
VirtualDisks
ディレクトリに移動します。# cd VirtualDisks
vm.cfg
ファイル内の4つのディスク・イメージ名を使用して、このディレクトリに4つのシンボリック・リンクを作成します(/EXAVMIMAGES/GuestImages/user_domain_hostname
ディレクトリ内にある4つの*.img
ファイルを指します)。たとえば、
/OVS/Repositories/uuid
ディレクトリ内のサンプルvm.cfg
ファイルのサンプル・ディスク・エントリを次に示します。disk = ['file:/OVS/Repositories/6e7c7109c1bc4ebba279f8 4e595e0b27/VirtualDisks/dfd641a1c6a84bd69643da704ff98594.img,xv da,w','file:/OVS/Repositories/6e7c7109c1bc4ebba279f84e595e0b27/ VirtualDisks/d349fd420a1e49459118e6a6fcdbc2a4.img,xvdb,w','file :/OVS/Repositories/6e7c7109c1bc4ebba279f84e595e0b27/VirtualDisk s/8ac470eeb8704aab9a8b3adedf1c3b04.img,xvdc,w','file:/OVS/Repos itories/6e7c7109c1bc4ebba279f84e595e0b27/VirtualDisks/333e7ed28 50a441ca4d2461044dd0f7c.img,xvdd,w']
/EXAVMIMAGES/GuestImages/user_domain_hostname
ディレクトリ内にある4つの*.img
ファイルをリスト表示できます。# ls /EXAVMIMAGES/GuestImages/user_domain_name/*.img /EXAVMIMAGES/GuestImages/user_domain_name/System.img /EXAVMIMAGES/GuestImages/user_domain_name/grid12.1.0.2.2.img /EXAVMIMAGES/GuestImages/user_domain_name/db12.1.0.2.2-3.img /EXAVMIMAGES/GuestImages/user_domain_name/pv1_vgexadb.img
この例では、次のコマンドを使用して4つのシンボリック・リンクを作成できます(
dbm01db08vm01
は、ユーザー・ドメインのホスト名です)。# ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/System.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $2}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}') # ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/grid12.1.0.2.2.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $3}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}') # ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/db12.1.0.2.2-3.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $4}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}') # ln -s /EXAVMIMAGES/GuestImages/dbm01db08vm01/pv1_vgexadb.img $(grep ^disk /EXAVMIMAGES/GuestImages/dbm01db08vm01/vm.cfg|awk -F":" '{print $5}'|awk -F"," '{print $1}'|awk -F"/" '{print $6}')
- ユーザー・ドメインのUUIDを取得します。
- 各ユーザー・ドメインを再起動します。
# xm create /EXAVMIMAGES/GuestImages/user_domain_hostname/vm.cfg
この時点で、すべてのユーザー・ドメインがOracle Grid Infrastructureとデータベース・インスタンスとともに起動します。
親トピック: Oracle VMデプロイメントのリカバリ