- メンテナンス・ガイド
- Oracle Linux KVMゲストの管理
- KVMデプロイメントのリカバリ
- KVMシステムのリカバリ・シナリオ
- KVMホストとゲストのバックアップからのリカバリ
- Exadata X8M-2でのKVMホストのリカバリ
6.19.2.1.3 Exadata X8M-2でのKVMホストのリカバリ
この手順では、Oracle Exadata X8M-2データベース・サーバーのKVMホストをリカバリする方法について説明します。
- サーバーを診断モードで起動します。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
を使用して、ディスク・コントローラを構成してディスクを設定します。 - 障害の発生後に論理ボリューム、ボリューム・グループおよび物理ボリュームが存在する場合は、それらを削除します。
# lvm vgremove VGExaDb --force # lvm pvremove /dev/sda3 --force
- 既存のパーティションを削除し、すべてのパーティションが削除されたことを確認します。次のスクリプトを使用できます。
# for v_partition in $(parted -s /dev/sda print|awk '/^ / {print $1}') do parted -s /dev/sda rm ${v_partition} done # parted -s /dev/sda unit s print Model: AVAGO MR9[ 2783.921605] sda:361-16i (scsi) Disk /dev/sda: 3509760000s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags
- 3つのパーティションを
/dev/sda
に作成します- ディスク
/dev/sda
の終了セクターを実行中のKVMホストから取得し、変数に保存します:# 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
次のコマンドの開始および終了セクターの値は、既存のKVMホストから取得されたものです。これらの値は時間とともに変化することがあるため、この手順を実行するとき、これらの値をKVMホストから確認することをお薦めします。たとえば、Oracle Exadata Database Machine X8M-2データベース・サーバーの場合は、次のように表示されます。# parted -s /dev/sda unit s print Model: AVAGO MR9361-16i (scsi) Disk /dev/sda: 7025387520s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 64s 1048639s 1048576s xfs primary boot 2 1048640s 1572927s 524288s fat32 primary boot 3 1572928s 7025387486s 7023814559s primary lvm
- ブート・パーティション
/dev/sda1
を作成します。# parted -s /dev/sda mklabel gpt mkpart primary 64s 1048639s set 1 boot on
- efiブート・パーティション
/dev/sda2
を作成します。# parted -s /dev/sda mkpart primary fat32 1048640s 1572927s set 2 boot on
- 論理ボリューム
/dev/sda3
を保持するパーティションを作成します。# parted -s /dev/sda mkpart primary 1572928s ${end_sector}s set 3 lvm on
- すべてのパーティションが作成されたことを確認します。
# parted -s /dev/sda unit s print Model: AVAGO MR9[2991.834796] sda: sda1 sda2 sda3 361-16i(scsi) Disk /dev/sda:3509760000s Sector size(logical/physical): 512B/512B Partition Table:gpt Disk Flags: Number Start End Size File system Name Flags 1 64s 1048639s 1048576s xfs primary boot 2 1048640s 1572927s 524288s fat32 primary boot 3 1572928s 3509759966s 3508187039s primary lvm
- ディスク
- 論理ボリュームおよびファイル・システムを作成します。
- 物理ボリュームおよびボリューム・グループを作成します。
# lvm pvcreate /dev/sda3 # lvm vgcreate VGExaDb /dev/sda3
- 最初のシステム・パーティションを含むファイル・システムの論理ボリュームを作成してラベル付けし、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbSys1 -L15G VGExaDb -y # mkfs.xfs -L DBSYS /dev/VGExaDb/LVDbSys1 -f
- スワップ・ディレクトリの論理ボリュームを作成して、ラベルを付けます。
# lvm lvcreate -n LVDbSwap1 -L16G VGExaDb -y # mkswap -L SWAP /dev/VGExaDb/LVDbSwap1
- 2つ目のシステム・パーティションの論理ボリュームを作成し、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbSys2 -L15G VGExaDb -y # mkfs.xfs /dev/VGExaDb/LVDbSys2
- HOMEパーティションの論理ボリュームを作成してラベル付けし、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbHome -L4G VGExaDb -y # mkfs.xfs -L HOME /dev/VGExaDb/LVDbHome
- tmpパーティションの論理ボリュームを作成し、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbTmp -L3G VGExaDb -y # mkfs.xfs -L TMP /dev/VGExaDb/LVDbTmp -f
- 最初のvarパーティションの論理ボリュームを作成し、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbVar1 -L2G VGExaDb -y # mkfs.xfs -L VAR /dev/VGExaDb/LVDbVar1 -f
- 2つ目のvarパーティションの論理ボリュームを作成し、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbVar2 -L2G VGExaDb -y # mkfs.xfs /dev/VGExaDb/LVDbVar2 -f
- LVDbVarLogパーティションの論理ボリュームを作成してラベル付けし、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbVarLog -L18G VGExaDb -y # mkfs.xfs -L DIAG /dev/VGExaDb/LVDbVarLog -f
- LVDbVarLogAuditパーティションの論理ボリュームを作成してラベル付けし、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbVarLogAudit -L1G VGExaDb -y # mkfs.xfs -L AUDIT /dev/VGExaDb/LVDbVarLogAudit -f
- LVDoNotRemoveOrUse論理ボリュームを作成します。
# lvm lvcreate -n LVDoNotRemoveOrUse -L2G VGExaDb -y
- ゲスト記憶域リポジトリの論理ボリュームを作成し、その論理ボリュームにxfsファイル・システムを構築します。
# lvm lvcreate -n LVDbExaVMImages -L1500G VGExaDb -y # mkfs.xfs -m crc=1 -m reflink=1 -L EXAVMIMAGES /dev/VGExaDb/LVDbExaVMImages -f
/dev/sda1
パーティションにファイル・システムを作成し、ラベルを付けます。# mkfs.xfs -L BOOT /dev/sda1 -f
- /dev/sda2パーティションにファイル・システムを作成し、ラベルを付けます。
# mkfs.vfat -v -c -F 32 -s 2 /dev/sda2 # dosfslabel /dev/sda2 ESP
- 物理ボリュームおよびボリューム・グループを作成します。
- すべてのパーティションのマウント・ポイントを作成して、各パーティションをマウントします。たとえば、
/mnt
が最上位ディレクトリとして使用されると、マウントされるパーティションのリストは次のようになります。/dev/VGExaDb/LVDbSys1 on /mnt /dev/sda1 on /mnt/boot /dev/sda2 on /mnt/boot/efi /dev/VGExaDb/LVDbHome on /mnt/home /dev/VGExaDb/LVDbTmp on /mnt/tmp /dev/VGExaDb/LVDbVar1 on /mnt/var /dev/VGExaDb/LVDbVarLog on /mnt/var/log /dev/VGExaDb/LVDbVarLogAudit on /mnt/var/log/audit /dev/VGExaDb/LVDbExaVMImages on /mnt/EXAVMIMAGES
次の例では、システム・パーティションをマウントし、ブート・パーティション用に2つのマウント・ポイントを作成します# mount /dev/VGExaDb/LVDbSys1 /mnt -t xfs # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot -t xfs # mkdir /mnt/boot/efi # mount /dev/sda2 /mnt/boot/efi -t vfat # mkdir /mnt/home # mount /dev/VGExaDb/LVDbHome /mnt/home -t xfs # mkdir /mnt/tmp # mount /dev/VGExaDb/LVDbTmp /mnt/tmp -t xfs # mkdir /mnt/var # mount /dev/VGExaDb/LVDbVar1 /mnt/var -t xfs # mkdir /mnt/var/log # mount /dev/VGExaDb/LVDbVarLog /mnt/var/log -t xfs # mkdir /mnt/var/log/audit # mount /dev/VGExaDb/LVDbVarLogAudit /mnt/var/log/audit -t xfs # mkdir /mnt/EXAVMIMAGES # mount /dev/VGExaDb/LVDbExaVMImages /mnt/EXAVMIMAGES -t xfs
eth0
でネットワークを起動し、(DHCPを使用していない場合は)ホストのIPアドレスおよびネットマスクを割り当てます。DHCPを使用している場合は、ホストのIPアドレスを手動で構成します。# ip link set eth0 up # ip address add ip_address_for_eth0/netmask_for_eth0 dev 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
- バックアップからファイルをリストアします。
スナップショットベースのバックアップを使用したKVMホストのバックアップの手順を使用してバックアップが作成されている場合、次のコマンドを使用してファイルをリストアできます。
# tar --acls --xattrs --xattrs-include=* --format=pax -pjxvf /root/mnt/myKVMbackup.tar.bz2 -C /mnt
- kdumpサービス用のディレクトリを作成します
# mkdir /mnt/EXAVMIMAGES/crashfiles
efibootmgr
を使用して起動デバイスを設定します。- Oracle Linuxの起動デバイスを無効にして削除します。エントリ
ExadataLinux_1
が表示された場合、このエントリを削除して再作成します。次に例を示します:# efibootmgr BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001,000A,000B,0007,0008,0004,0005 Boot0000* ExadataLinux_1 Boot0001* NET0:PXE IP4 Intel(R) I210 Gigabit Network Connection Boot0004* PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter Boot0005* PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter Boot0007* NET1:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller Boot0008* NET2:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller Boot000A PCIE2:PXE IP4 Mellanox Network Adapter - 50:6B:4B:CB:EF:F2 Boot000B PCIE2:PXE IP4 Mellanox Network Adapter - 50:6B:4B:CB:EF:F3 MirroredPercentageAbove4G: 0.00 MirrorMemoryBelow4GB: false
この例では、ExadataLinux_1
(Boot000
)は無効になり削除されます。次のコマンドを使用して、起動デバイスを無効にして削除します。古い
ExadataLinux_1
を無効にします。
古い# efibootmgr -b 0000 -A
ExadataLinux_1
を削除します。# efibootmgr -b 0000 -B
ExadataLinux_1
の起動エントリを再作成してから、起動順序エントリを表示します。# efibootmgr -c -d /dev/sda -p 2 -l '\EFI\REDHAT\SHIM.EFI' -L 'ExadataLinux_1' # efibootmgr BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001,0007,0008,0004,0005,000B,000C Boot0000* ExadataLinux_1 Boot0001* NET0:PXE IP4 Intel(R) I210 Gigabit Network Connection Boot0004* PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter Boot0005* PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter Boot0007* NET1:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller Boot0008* NET2:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller Boot000B* PCIE2:PXE IP4 Mellanox Network Adapter - EC:0D:9A:CC:1E:46 Boot000C* PCIE2:PXE IP4 Mellanox Network Adapter - EC:0D:9A:CC:1E:47 MirroredPercentageAbove4G: 0.00 MirrorMemoryBelow4GB: false
efibootmgr
コマンドの出力で、ExadataLinux_1
の起動順序番号をノートにとり、次のコマンドでその値を使用します。
たとえば、ステップ13.bで表示された前の出力では、# efibootmgr -b entry number -A # efibootmgr -b entry number -a
ExadataLinux_1
は(Boot0000
)としてリストされていました。したがって、次のコマンドを使用します。# efibootmgr -b 0000 -A # efibootmgr -b 0000 -a
- 正しい起動順序を設定します。最初の起動デバイスとして
ExadataLinux_1
を設定します。残りのデバイスの起動順序は同じに保つ必要があります# efibootmgr -o 0000,0001,0004,0005,0007,0008,000B,000C
- 起動順序を確認します。起動順序は次のようになります。
# efibootmgr BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001,0004,0005,0007,0008,000B,000C Boot0000* ExadataLinux_1 Boot0001* NET0:PXE IP4 Intel(R) I210 Gigabit Network Connection Boot0004* PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter Boot0005* PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter Boot0007* NET1:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller Boot0008* NET2:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller Boot000B* PCIE2:PXE IP4 Mellanox Network Adapter - EC:0D:9A:CC:1E:46 Boot000C* PCIE2:PXE IP4 Mellanox Network Adapter - EC:0D:9A:CC:1E:47 MirroredPercentageAbove4G: 0.00 MirrorMemoryBelow4GB: false
ubiosconfig
コマンドを使用して、起動順序を確認します。# ubiosconfig export all -x /tmp/ubiosconfig.xml
ExadataLinux_1
のエントリがboot_orderの最初の子要素であることを確認します。# cat /tmp/ubiosconfig.xml <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> <boot_device> <description>PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter</description> <instance>1</instance> </boot_device> <boot_device> <description>PCIE1:PXE IP4 Oracle dual 25Gb Ethernet Adapter or dual 10Gb Ethernet Adapter</description> <instance>2</instance> </boot_device> <boot_device> <description>NET1:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller</description> <instance>1</instance> </boot_device> <boot_device> <description>NET2:PXE IP4 Oracle Dual Port 10Gb/25Gb SFP28 Ethernet Controller</description> <instance>1</instance> </boot_device> <boot_device> <description>PCIE2:PXE IP4 Mellanox Network Adapter - EC:0D:9A:CC:1E:46</description> <instance>1</instance> </boot_device> <boot_device> <description>PCIE2:PXE IP4 Mellanox Network Adapter - EC:0D:9A:CC:1E:47</description> <instance>1</instance> </boot_device> </boot_order>
- リストアした
fstab
ファイルを確認し、/EXAVMIMAGES
への参照をコメント・アウトします。/mnt/etc
に移動します。# cd /mnt/etc
/mount/etc/fstab
ファイルで、/EXAVMIMAGES
を参照する行をすべてコメント・アウトします。
- Oracle Linuxの起動デバイスを無効にして削除します。
KVMホストがリカバリされました。
親トピック: KVMホストとゲストのバックアップからのリカバリ