5.20.2.2 管理ドメインとそのユーザー・ドメインのリカバリ(リリース12.2.1.1.0以降)
重大な障害が発生して管理ドメインが損傷した場合や、サーバー・ハードウェアを新しいハードウェアに交換した場合は、スナップショット・ベースのバックアップから管理ドメインをリカバリできます。
このリカバリ方法を使用する場合は、「スナップショット・ベースのバックアップを使用した管理ドメインdom0のバックアップ」のステップを完了していることが前提になります。
- NFSサーバーを準備して、バックアップ・アーカイブ
mybackup.tar.bz2をホストします。IPアドレスを使用して、NFSサーバーにアクセスできる必要があります。たとえば、IPアドレスnfs_ipを使用するNFSサーバーで
/exportディレクトリがNFSマウントからエクスポートされる場合は、/exportディレクトリにmybackup.tar.bz2ファイルを置きます diagnostics.isoファイルを使用して、リカバリ・ターゲット・システムを再起動します。Oracle Exadata System Softwareユーザーズ・ガイドの診断ISOファイルを使用したサーバーの起動を参照してください。- 診断シェルに
rootユーザーとしてログインします。プロンプトが表示されたら、診断シェルに入ります。次に例を示します:
Choose from following by typing letter in '()': (e)nter interactive diagnostics shell. Must use credentials from Oracle support to login (reboot or power cycle to exit the shell), (r)estore system from NFS backup archive, Type e to enter the diagnostics shell and log in as the root user.プロンプトが表示されたら、rootユーザーとしてシステムにログインします。rootユーザーのパスワードの入力を求められ、それが不明である場合は、Oracleサポート・サービスに連絡してください。 - 必要に応じて、
/opt/MegaRAID/storcli/storcli64(またはOracle Exadata System Software 19cより前のリリースの場合は/opt/MegaRAID/MegaCli/MegaCli64)を使用して、ディスク・コントローラを構成してディスクを設定します。 - 障害の発生後に論理ボリューム、ボリューム・グループおよび物理ボリュームが存在する場合は、それらを削除します。
# lvm vgremove VGExaDb --force # lvm pvremove /dev/sda2 --force - 既存のパーティションを削除し、ドライブをクリーン・アップします。
# parted GNU Parted 2.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) rm 1 [12064.253824] sda: sda2 (parted) rm 2 [12070.579094] sda: (parted) q # dd if=/dev/zero of=/dev/sda bs=64M count=2 - 2つのパーティションを
/dev/sdaに作成します。- ディスク
/dev/sdaの終了セクターを実行中のdom0から取得し、変数に保存します:# end_sector_logical=$(parted -s /dev/sda unit s print|perl -ne '/^Disk\s+\S+:\s+(\d+)s/ and print $1') # end_sector=$( expr $end_sector_logical - 34 )次のコマンドの開始および終了セクターの値は、既存の管理ドメインから取得されたものです。これらの値は時間とともに変化することがあるため、次のコマンドを使用して、これらの値を既存の管理ドメインから確認することをお薦めします:
# parted -s /dev/sda unit S print - ブート・パーティション
/dev/sda1を作成します。# parted -s /dev/sda mklabel gpt mkpart primary 64s 1048639s set 1 boot on - LVMを保持するパーティション
/dev/sda2を作成します。# parted -s /dev/sda mkpart primary 1048640s 3509759966s set 2 lvm on
- ディスク
/sbin/lvmコマンドを使用して論理ボリュームを再作成し、mkfsを使用してファイル・システムを作成します。- 物理ボリュームおよびボリューム・グループを作成します。
# lvm pvcreate /dev/sda2 # lvm vgcreate VGExaDb /dev/sda2 /(ルート)ディレクトリを含むファイル・システムの論理ボリュームを作成して、ラベルを付けます。# lvm lvcreate -n LVDbSys3 -L30G VGExaDb # mkfs -t ext4 –b 4096 /dev/VGExaDb/LVDbSys3 # e2label /dev/VGExaDb/LVDbSys3 DBSYSOVS- スワップ・ディレクトリの論理ボリュームを作成して、ラベルを付けます。
# lvm lvcreate -n LVDbSwap1 -L24G VGExaDb # mkswap -L SWAP /dev/VGExaDb/LVDbSwap1 - バックアップ・パーティションの論理ボリュームを作成して、その上部にファイル・システムを構築します。
# lvm lvcreate -n LVDbSys2 -L30G VGExaDb # mkfs -t ext4 –b 4096 /dev/VGExaDb/LVDbSys2 - 予約パーティション用の論理ボリュームを作成します。
# lvm lvcreate -n LVDoNotRemoveOrUse –L1G VGExaDbノート:
この論理ボリュームにファイル・システムを作成しないでください。 - ゲスト記憶域リポジトリに論理ボリュームを作成します。
# lvm lvcreate -l 100%FREE -n LVDbExaVMImages VGExaDb /dev/sda1パーティションにファイル・システムを作成し、ラベルを付けます。次の
mkfs.ext3コマンドで、inodeサイズを128に設定するには-I 128オプションが必要です。# mkfs.ext3 -I 128 /dev/sda1 # tune2fs -c 0 -i 0 /dev/sda1 # e2label /dev/sda1 BOOT
- 物理ボリュームおよびボリューム・グループを作成します。
- すべてのパーティションのマウント・ポイントを作成して、各パーティションをマウントします。
たとえば、
/mntが最上位ディレクトリとして使用されると、マウントされるパーティションのリストは次のようになります。-
/dev/VGExaDb/LVDbSys3(/mnt上) -
/dev/sda1(/mnt/boot上)
次の例では、ルート・ファイル・システムをマウントし、2つのマウント・ポイントを作成します。
# mount /dev/VGExaDb/LVDbSys3 /mnt -t ext4 # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot -t ext3 -
eth0でネットワークを起動し、ホストのIPアドレスおよびネットマスクを割り当てます。# ifconfig eth0 ip_address_for_eth0 netmask netmask_for_eth0 up # route add -net 0.0.0.0 netmask 0.0.0.0 gw gateway_ip_address- バックアップを保持するNFSサーバーをマウントします。
# mkdir -p /root/mnt # mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/location_of_backup /root/mnt - スナップショット・ベースのバックアップを使用した管理ドメインdom0のバックアップで作成したバックアップから、ルート・ディレクトリ(
/)とブート・ファイル・システムをリストアします。# tar -pjxvf /root/mnt/backup-of-root-and-boot.tar -C /mnt - リストアした
/dev/sda1パーティションをアンマウントし、/bootに再マウントします。# umount /mnt/boot # mkdir -p /boot # mount /dev/sda1 /boot -t ext3 - 次のコマンドを使用して、
grubブート・ローダーを設定します。# grub --device-map=/boot/grub/device.map << DOM0_GRUB_INSTALL root (hd0,0) setup (hd0) quit DOM0_GRUB_INSTALL /bootパーティションをアンマウントします。# umount /bootdiagnostics.isoファイルを切り離します。ILOM Webインタフェースを使用して「Storage Devices」ダイアログに移動し、「Disconnect」をクリックします。
「Storage Devices」ダイアログは、以前に
diagnostics.isoイメージを接続するために使用したインタフェースです。Oracle Exadata System Softwareユーザーズ・ガイドの診断ISOファイルを使用したサーバーの起動を参照してください。- リストアした
/etc/fstabファイルを確認し、/EXAVMIMAGESへの参照をコメント・アウトします。# cd /mnt/etc/EXAVMIMAGESを参照する行をすべてコメント・アウトします。 - システムを再起動します。
# shutdown -r nowこれで、管理ドメイン(dom0)のリストア手順は完了です。
- 必要であれば、エイス・ラックに変換します。
Oracle Exadataエイス・ラックでリカバリを実行する場合は、「Oracle Exadata Database Machineエイス・ラックのOracle Linuxデータベース・サーバーのリカバリ後の構成」の手順を実行します。
- サーバーが再起動されたら、
LVDbExaVMImages論理ボリュームにOCFS2ファイル・システムを構築します。# mkfs -t ocfs2 -L ocfs2 -T vmstore --fs-features=local /dev/VGExaDb/LVDbExaVMImages --force - OCFS2パーティションを
/EXAVMIMAGESにマウントします。# mount -t ocfs2 /dev/VGExaDb/LVDbExaVMImages /EXAVMIMAGES /etc/fstabで、前にコメント・アウトした/EXAVMIMAGESおよび/dev/mapper/VGExaDb-LVDbExaVMImagesへの参照を非コメント化します。- 記憶域リポジトリ(
/EXAVMIMAGES)バックアップを保持するバックアップNFSサーバーをマウントし、/EXAVMIMAGESファイル・システムをリストアします。# mkdir -p /root/mnt # mount -t nfs -o ro,intr,soft,proto=tcp,nolock nfs_ip:/location_of_backup /root/mnt /EXAVMIMAGESファイル・システムをリストアします。すべてのユーザー・ドメインをリストアするには、次のコマンドを使用します。
# tar -Spxvf /root/mnt/backup-of-exavmimages.tar -C /EXAVMIMAGES単一のユーザー・ドメインをバックアップからリストアするには、かわりに次のコマンドを使用します。
# tar -Spxvf /root/mnt/backup-of-exavmimages.tar -C /EXAVMIMAGES EXAVMIMAGES/<user-domain-name-to-be-restored>- 各ユーザー・ドメインを起動します。
# xm create /EXAVMIMAGES/GuestImages/user_domain_hostname/vm.cfg
この時点で、すべてのユーザー・ドメインがOracle Grid InfrastructureとOracle Databaseインスタンスとともに稼働します。