- メンテナンス・ガイド
- Oracle VMユーザー・ドメインの管理
- Oracle VMデプロイメントのリカバリ
- シナリオ1: 管理ドメインとそのユーザー・ドメインのバックアップからのリカバリ
- 管理ドメインとそのユーザー・ドメインのリカバリ(リリース18.1およびX7以降)
5.20.2.3 管理ドメインとそのユーザー・ドメインのリカバリ(リリース18.1およびX7以降)
重大な障害が発生して管理ドメインが損傷した場合や、サーバー・ハードウェアを新しいハードウェアに交換した場合は、スナップショット・ベースのバックアップから管理ドメインをリカバリできます。
- 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/sda3 --force
- 既存のパーティションを削除し、すべてのパーティションが削除されたことを確認します。
# parted GNU Parted 2.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print Model: AVAGO MR9361-16i (scsi) Disk /dev/sda: 4193GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 32.8kB 537MB 537MB ext4 primary boot 2 537MB 805MB 268MB fat32 primary boot 3 805MB 4193GB 4192GB primary lvm (parted) rm 1 [ 1730.498593] sda: sda2 sda3 (parted) rm 2 [ 1736.203794] sda: sda3 (parted) rm 3 [ 1738.546845] sda: (parted) print Model: AVAGO MR9361-16i (scsi) Disk /dev/sda: 4193GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags (parted) q Information: You may need to update /etc/fstab.
- 3つのパーティションを
/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 ) # echo $end_sector
次のコマンドの開始および終了セクターの値は、既存の管理ドメインから取得されたものです。これらの値は時間とともに変化することがあるため、これらの値を既存のdom0から確認することをお薦めします。たとえば、8台のハード・ディスク・ドライブを持つOracle Exadata X7-2データベース・サーバーの場合は、次のように表示される場合があります:
# parted -s /dev/sda unit s print Model: AVAGO MR9361-16i (scsi) Disk /dev/sda: 8189440000s Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 64s 1048639s 1048576s ext4 primary boot 2 1048640s 1572927s 524288s fat32 primary boot 3 1572928s 8189439966s 8187867039s primary lvm
ノート:
次のサブステップのs
(セクター)値は、8個のハード・ディスク・ドライブを持つシステムに基づいています。4つのハード・ディスク・ドライブがある場合は、実行中のノードの管理ドメインからパーティション表を表示し、それに応じてセクター値を調整する必要があります。 - ブート・パーティション
/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 fat32 1048640s 1572927s set 2 boot on
- LVMを保持するパーティション
/dev/sda3
を作成します。# parted -s /dev/sda mkpart primary 1572928s 8189439966s set 3 lvm on
- ディスク
/sbin/lvm
コマンドを使用して論理ボリュームを再作成し、mkfs
を使用してファイル・システムを作成します。- 物理ボリュームおよびボリューム・グループを作成します。
# lvm pvcreate /dev/sda3 # lvm vgcreate VGExaDb /dev/sda3
/
(ルート)ディレクトリを含むファイル・システムの論理ボリュームを作成して、ラベルを付けます。# lvm lvcreate -n LVDbSys3 -L30G VGExaDb # mkfs -t ext4 /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 /dev/VGExaDb/LVDbSys2
- スナップショットの作成に必要な予約パーティション用の論理ボリュームを作成します。
# lvm lvcreate -n LVDoNotRemoveOrUse –L 1G VGExaDb
ノート:
この論理ボリュームにファイル・システムを作成しないでください。 - ゲスト記憶域リポジトリに論理ボリュームを作成します。
# lvm lvcreate -l 100%FREE -n LVDbExaVMImages VGExaDb
/dev/sda1
パーティションにファイル・システムを作成し、ラベルを付けます。# mkfs.ext4 /dev/sda1 # e2label /dev/sda1 BOOT # tune2fs -l /dev/sda1
/dev/sda2
パーティションにファイル・システムを作成し、ラベルを付けます。# mkfs.vfat -v -c -F 32 -s 2 /dev/sda2 # dosfslabel /dev/sda2 ESP
- 物理ボリュームおよびボリューム・グループを作成します。
- すべてのパーティションのマウント・ポイントを作成して、各パーティションをマウントします。
たとえば、
/mnt
が最上位ディレクトリとして使用されると、マウントされるパーティションのリストは次のようになります。/dev/VGExaDb/LVDbSys3
(/mnt
上)/dev/sda1
(/mnt/boot
上)/dev/sda2
(/mnt/boot/efi
上)
次の例では、ルート(/)・ファイル・システムをマウントし、3つのマウント・ポイントを作成します。
# mount /dev/VGExaDb/LVDbSys3 /mnt -t ext4 # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot -t ext4 # mkdir /mnt/boot/efi # mount /dev/sda2 /mnt/boot/efi -t vfat
eth0
でネットワークを起動し、(DHCPを使用していない場合は)ホストのIPアドレスおよびネットマスクを割り当てます。DHCPを使用している場合、ホストのIPアドレスを手動で構成する必要はありません。
# ip address add ip_address_for_eth0/netmask_for_eth0 dev eth0 # ip link set up eth0 # ip route add default via gateway_ip_address dev eth0
- バックアップを保持する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
efibootmgr
コマンドを使用して、起動デバイスを設定します。Oracle Linux
の起動デバイスを無効にして削除します。エントリExadataLinux_1
が表示された場合は、このエントリを削除して再作成します。次に例を示します:
# efibootmgr BootCurrent: 000F Timeout: 1 seconds BootOrder: 000F,0000,0001,0002,0003,0004,0005,0007,0008,0009,000A,000D,000E Boot0000* ExadataLinux_1 Boot0001* NET0:PXE IP4 Intel(R) I210 Gigabit Network Connection Boot0002* NET1:PXE IP4 Oracle Dual Port 10GBase-T Ethernet Controller Boot0003* NET2:PXE IP4 Oracle Dual Port 10GBase-T Ethernet Controller Boot0004* PCIE1:PXE IP4 Oracle Dual Port 25Gb Ethernet Adapter Boot0005* PCIE1:PXE IP4 Oracle Dual Port 25Gb Ethernet Adapter Boot0007* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot0008* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot0009* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot000A* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot000D* Oracle Linux Boot000E* UEFI OS Boot000F* USB:SUN
この例では、
Oracle Linux (Boot00D)
およびExadataLinux_1 (Boot000)
を無効にして削除します。次のようなコマンドを使用して、起動デバイスを無効にして削除します。「Oracle Linux」の無効化:
# efibootmgr -b 000D -A
「Oracle Linux」の削除:
# efibootmgr -b 000D -B
古い「ExadataLinux_1」の無効化:
# efibootmgr -b 0000 -A
古い「ExadataLinux_1」の削除:
# efibootmgr -b 0000 -B
ExadataLinux_1
の起動エントリを再作成してから、起動順序エントリを表示します。# efibootmgr -c -d /dev/sda -p 2 -l '\EFI\XEN\XEN.EFI' -L 'ExadataLinux_1' # efibootmgr BootCurrent: 000F Timeout: 1 seconds BootOrder: 0000,0001,0002,0003,0004,0005,0007,0008,0009,000A,000E,000F Boot0001* NET0:PXE IP4 Intel(R) I210 Gigabit Network Connection Boot0002* NET1:PXE IP4 Oracle Dual Port 10GBase-T Ethernet Controller Boot0003* NET2:PXE IP4 Oracle Dual Port 10GBase-T Ethernet Controller Boot0004* PCIE1:PXE IP4 Oracle Dual Port 25Gb Ethernet Adapter Boot0005* PCIE1:PXE IP4 Oracle Dual Port 25Gb Ethernet Adapter Boot0007* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot0008* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot0009* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot000A* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot000E* UEFI OS Boot000F* USB:SUN Boot0000* ExadataLinux_1
efibootmgr
コマンドの出力で、ExadataLinux_1
の起動順序番号をノートにとって、次のコマンドでその値を使用します。# efibootmgr -b (entry number) -A # efibootmgr -b (entry number) -a
たとえば、ステップ13.aで示した前の出力では、
ExadataLinux_1
は(Boot000)
として表示されました。したがって、次のコマンドを使用します。# efibootmgr -b 0000 -A # efibootmgr -b 0000 -a
- 正しい起動順序を設定します。最初の起動デバイスとして
ExadataLinux_1
を設定します。残りのデバイスは、最後である必要があるUSB:SUN
を除き、同じ起動順序のままである必要があります。# efibootmgr -o 0000,0001,0002,0003,0004,0005,0007,0008,0009,000A,000E,000F
起動順序は次のようになります。
# efibootmgr BootCurrent: 000F Timeout: 1 seconds BootOrder: 0000,0001,0002,0003,0004,0005,0007,0008,0009,000A,000E,000F Boot0000* ExadataLinux_1 Boot0001* NET0:PXE IP4 Intel(R) I210 Gigabit Network Connection Boot0002* NET1:PXE IP4 Oracle Dual Port 10GBase-T Ethernet Controller Boot0003* NET2:PXE IP4 Oracle Dual Port 10GBase-T Ethernet Controller Boot0004* PCIE1:PXE IP4 Oracle Dual Port 25Gb Ethernet Adapter Boot0005* PCIE1:PXE IP4 Oracle Dual Port 25Gb Ethernet Adapter Boot0007* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot0008* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot0009* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot000A* PCIE3:PXE IP4 Oracle Quad Port 10GBase-T Adapter Boot000E* UEFI OS Boot000F* USB:SUN
ubiosconfig
コマンドを使用して、起動順序を確認します。# ubiosconfig export all -x /tmp/ubiosconfig.xml
ExadataLinux_1
のエントリがboot_order
の最初の子要素であることを確認します。<boot_order> <boot_device> <description>ExadataLinux_1</description> <instance>1</instance> </boot_device> <boot_device> <description>NET0:PXE IP4 Intel(R) I210 Gigabit Network Connection</description> <instance>1</instance> </boot_device> ...
- リストアした
/etc/fstab
ファイルを確認し、/EXAVMIMAGES
への参照をコメント・アウトします。# cd /mnt/etc
/EXAVMIMAGES
を参照する行をすべてコメント・アウトします。 diagnostics.iso
ファイルを切り離します。ILOM Webインタフェースを使用して「Storage Devices」ダイアログに移動し、「Disconnect」をクリックします。
「Storage Devices」ダイアログは、以前に
diagnostics.iso
イメージを接続するために使用したインタフェースです。Oracle Exadata System Softwareユーザーズ・ガイドの診断ISOファイルを使用したサーバーの起動を参照してください。- リストアされた
/dev/sda1
パーティションをアンマウントし、/dev/sda1
を/boot
に再マウントできるようにします。# umount /mnt/boot/efi # umount /mnt/boot # umount /mnt # umount /root/mnt
- システムを再起動します。
# 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インスタンスとともに稼働します。