移行元OSがCentOS 8の場合

対象リージョン:全リージョン

移行元仮想環境で稼働している仮想サーバのOSがCentOS 8の場合、 IaaS環境への移行に必要な作業を説明します。

このタスクについて

移行元となる仮想環境上および仮想サーバのOS上で、以下の作業を実施します。
重要:
  • 本手順に記載されたコマンド操作は一例であり、操作方法にはお客様環境により若干の差異がある場合があります。各操作はお客様の責任および判断にて、環境に応じて実行してください。
  • 仮想環境のコンソールを使用して操作してください。ネットワーク設定に影響があるため、リモートデスクトップなどの外部からは接続しないでください。

    例)VMware vSphere Clientから仮想マシンコンソールを起動、操作します。

  • 設定を変更する前に移行元仮想環境上でバックアップを取得し、復旧できるようにしておいてください。

手順

  1. VMware Toolsのアンインストール

    移行対象となる仮想サーバにVMware Toolsがインストールされている場合は、アンインストールしてください。

    # rpm -e open-vm-tools open-vm-tools-desktop
  2. cloud-initのインストール

    cloud-initを、以下の手順でインストールします。

    1. cloud-initのインストール

      # dnf -y install cloud-init
    2. cloud-initの確認

      cloud-initが正常にインストールされているか確認します。

      # rpm -qi cloud-init

      cloud-initの情報が表示されることを確認します。

  3. cloud.cfgの設定

    /etc/cloud/cloud.cfgに cloud-initの動作を設定します。

    仮想サーバのメタデータに関する定義を設定します。

    # vi /etc/cloud/cloud.cfg
    datasource_list: ['OpenStack']
    datasource:
     OpenStack:
      timeout: 180
    ヒント: 上記以外にもcloud-initの動作を設定できます。設定方法についてはcloud-initのサポートサイトを参照してください。
  4. ブートログ出力先の設定

    カーネルがブートログをttyS0デバイスに書き込めるように、設定を変更します。

    1. /etc/default/grubを退避します。

      # cp -p /etc/default/grub /etc/default/grub.bak
    2. /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"
    3. /boot/grub2/grub.cfg への変更を反映します。

      # grub2-mkconfig -o /boot/grub2/grub.cfg
  5. ネットワーク設定(DHCP接続)

    以下の手順でネットワーク設定を実施します。

    1. ネットワークインターフェースの設定ファイルを退避します。

      # cd /etc/sysconfig/network-scripts
      # cp -p ifcfg-eno16780032 org.ifcfg-eno16780032
      ヒント:
      • 元ファイル名(ifcfg-eno16780032)は一例であり、環境によって異なります。
      • 退避するファイルには、名前の先頭に"org."を付けてください。
    2. /etc/sysconfig/network-scripts/ifcfg-<ネットワークインターフェース名>の設定を、以下の内容に修正します。

      ONBOOT=yes
      BOOTPROTO=dhcp

      以下の行がある場合は、各行を削除します。値は例です。

      IPADDR=10.4.0.110
      PREFIX=22
      GATEWAY=10.4.0.220
    3. ネットワークを再起動します。

      # systemctl restart NetworkManager
  6. ネットワークインターフェース名の変更
    1. ネットワークインターフェースの設定ファイル名を変更します。

      # mv ifcfg-eno16780032 ifcfg-eth0
    2. ネットワークインターフェース設定の設定名とデバイス名を変更します。

      Ifcfg-eth0の値を「NAME=eth0」と「DEVICE=eth0」に変更します。

      ヒント: 「NAME="eth0"」と「DEVICE="eth0"」の記載方法でも問題ありません。
    3. /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"
    4. /boot/grub2/grub.cfg に /etc/default/grubの変更を反映します。

      # grub2-mkconfig -o /boot/grub2/grub.cfg
  7. MACアドレスの削除
    1. /etc/sysconfig/network-scripts/ifcfg-eth0から、ネットワークインターフェースの固有情報を削除します。

      「UUID=」と「HWADDR=」の行を削除します。

    2. OSを再起動します。

      # reboot
  8. Zeroconfの無効化

    Zeroconfを無効化して、移行後の仮想サーバがメタデータを取得できるようにします。

    # vi /etc/sysconfig/network

    以下の行がなければ追記します。

    NOZEROCONF=yes
  9. ファイアーウォールの無効化
    # systemctl stop firewalld
    # systemctl disable firewalld
    # systemctl stop nftables
    # systemctl disable nftables
  10. virtioドライバの有効化

    initramfsを、移行後のOS起動に必要なvirtioドライバが組み込まれたものに置き換えます。

    1. 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"は一例です。
    2. virtioドライバが組み込まれたinitramfsを作成します。

      # dracut --add-drivers 'virtio_blk virtio_net'
    3. initramfsが正常に生成されたことを確認します。

      # ls -l initramfs-4.18.0-147.el8.x86_64.img
  11. OSのシャットダウン

    OSをシャットダウンします。

    # shutdown -h now