移行元OSがRHEL8の場合
対象リージョン:東日本第3/西日本第3
移行元仮想環境で稼働している仮想サーバのOSがRHEL8の場合、IaaS環境への移行に必要な作業を説明します。
このタスクについて
- 本手順に記載されたコマンド操作は一例であり、操作方法にはお客様環境により若干の差異がある場合があります。各操作はお客様の責任および判断にて、環境に応じて実行してください。
-
仮想環境のコンソールを使用して操作してください。ネットワーク設定に影響があるため、リモートデスクトップなどの外部からは接続しないでください。
例)VMware vSphere Clientから仮想マシンコンソールを起動、操作します。
- 設定を変更する前に移行元仮想環境上でバックアップを取得し、復旧できるようにしておいてください。
手順
-
VMware Toolsのアンインストール
移行対象となる仮想サーバにVMware Toolsがインストールされている場合は、アンインストールしてください。
# rpm -e open-vm-tools open-vm-tools-desktop
-
サブスクリプションの割当て
仮想サーバにサブスクリプションを割り当てていない場合は、以下を実施します。
-
サブスクリプションサービスへの登録
以下のコマンドを入力したあと、Red Hatアカウントのユーザー名とパスワードを入力して、システムをサブスクリプションサービスに登録します。
# subscription-manager register
-
割当て可能なサブスクリプションの確認
サブスクリプションサービスに登録されている割当て可能なサブスクリプションを確認します。以下のコマンドを実行したあと、仮想サーバに割り当てるサブスクリプションのPool IDを控えておきます。
# subscription-manager list --available | less
-
サブスクリプションの割当て
手順2で控えておいたPool IDを指定して、仮想サーバにサブスクリプションを割り当てます。
# subscription-manager subscribe --pool=<Pool ID>
-
-
cloud-initのインストール
cloud-initを、以下の手順でインストールします。
-
cloud-initのインストール
# dnf -y install cloud-init
-
cloud-initの確認
cloud-initが正常にインストールされているか確認します。
# rpm -qi cloud-init
cloud-initの情報が表示されることを確認します。
-
-
cloud.cfgの設定
/etc/cloud/cloud.cfgに cloud-initの動作を設定します。
# vi /etc/cloud/cloud.cfg
仮想サーバのメタデータに関する定義を設定します。
datasource_list: ['OpenStack'] datasource: OpenStack: timeout: 180
ssh_deletekeysの設定値が0、またはfalseではない場合、以下のとおり設定します。
デフォルトの設定値が数値型(1)の場合は、以下のどちらかを設定します。
デフォルトの設定値がboolean型(true)の場合は、boolean型(false)を設定します。
ssh_deletekeys: 0
ssh_deletekeys: false
ヒント: 上記以外にもcloud-initの動作を設定できます。設定方法についてはcloud-initのサポートサイトを参照してください。 -
サブスクリプションサービスの登録解除
サブスクリプションサービスへのシステムの登録を解除します。
# subscription-manager unregister
-
ブートログ出力先の設定
カーネルがブートログをttyS0デバイスに書き込めるように、設定を変更します。
-
/etc/default/grubを退避します。
# cp -p /etc/default/grub /etc/default/grub.bak
-
/etc/default/grubを編集し、grubにカーネルがブートログをttyS0デバイスに書き込む定義を追加します。
以下のように、定義を末尾に追加または変更します。
# vi /etc/default/grub
GRUB_TERMINAL="serial console" GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0" GRUB_SAVEDEFAULT=true GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
" GRUB_CMDLINE_LINUX"の値から"rhgb quiet"を削除し、"console=tty0 console=ttyS0,115200"を追記します。
変更前)GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
変更後)GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap console=tty0 console=ttyS0,115200"
-
/boot/grub2/grub.cfg への変更を反映します。
# grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
ネットワーク設定(DHCP接続)
以下の手順でネットワーク設定を実施します。
-
ネットワークインターフェースの設定ファイルを退避します。
# cd /etc/sysconfig/network-scripts # cp -p ifcfg-eno16780032 org.ifcfg-eno16780032
ヒント:- 元ファイル名(ifcfg-eno16780032)は一例であり、環境によって異なります。
- 退避するファイルには、名前の先頭に"org."を付けてください。
-
/etc/sysconfig/network-scripts/ifcfg-<ネットワークインターフェース名>の設定を、以下の内容に修正します。
ONBOOT=yes BOOTPROTO=dhcp
以下の行がある場合は、各行を削除します。値は例です。
IPADDR=10.4.0.110 PREFIX=22 GATEWAY=10.4.0.220
-
ネットワークを再起動します。
# systemctl restart NetworkManager
-
-
ネットワークインターフェース名の変更
-
ネットワークインターフェースの設定ファイル名を変更します。
# mv ifcfg-eno16780032 ifcfg-eth0
-
ネットワークインターフェース設定の設定名とデバイス名を変更します。
Ifcfg-eth0の値を「NAME=eth0」と「DEVICE=eth0」に変更します。
ヒント: 「NAME="eth0"」と「DEVICE="eth0"」の記載方法でも問題ありません。 -
/etc/default/grubを編集します。
GRUB_CMDLINE_LINUXに値を追記します。
# vi /etc/default/grub
変更前)GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200"
変更後)GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200 net.ifnames=0 biosdevnames=0"
-
/boot/grub2/grub.cfg に/etc/default/grubの変更を反映します。
# grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
MACアドレスの削除
-
/etc/sysconfig/network-scripts/ifcfg-eth0から、ネットワークインターフェースの固有情報を削除します。
「UUID=」と「HWADDR=」の行を削除します。
-
OSを再起動します。
# reboot
-
-
Zeroconfの無効化
Zeroconfを無効化して、移行後の仮想サーバがメタデータを取得できるようにします。
# vi /etc/sysconfig/network
以下の行がなければ追記します。
NOZEROCONF=yes
-
ファイアーウォールの無効化
# systemctl stop firewalld # systemctl disable firewalld # systemctl stop nftables # systemctl disable nftables
-
virtioドライバの有効化
initramfsを、移行後のOS起動に必要なvirtioドライバが組み込まれたものに置き換えます。
-
initramfsをバックアップします。
# cd /boot # mv initramfs-4.18.0-147.el8.x86_64.img initramfs-4.18.0-147.el8.x86_64.img.bak
ヒント: 上記のファイル名" initramfs-4.18.0-147.el8.x86_64.img"は一例です。 -
virtioドライバが組み込まれたinitramfsを作成します。
# dracut --add-drivers 'virtio_blk virtio_net'
-
initramfsが正常に生成されたことを確認します。
# ls -l initramfs-4.18.0-147.el8.x86_64.img
-
-
OSのシャットダウン
OSをシャットダウンします。
# shutdown -h now