移行元OSがCentOS 7の場合

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

このタスクについて

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

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

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

手順

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

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

    # vmware-uninstall-tools.pl
  2. cloud-initのインストール

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

    1. cloud-initの入手

      弊社提供のcloud-initモジュールを、ヘルプデスクから入手します。提供される最新のものを使用してください。

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

      # yum -y install --enablerepo=* --disablerepo=c7-media
       /var/tmp/cloud-init-0.7.5-10.el7.FJ.20160406.noarch.rpm cloud-utils
      ヒント: cloud-initモジュールの格納先、ファイル名については、環境に合わせて読み替えてください。
    3. cloud-initの確認

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

      # rpm -qi cloud-init

      富士通提供のcloud-initがインストールされていた場合の表示例を以下に示します。

      # rpm -qi cloud-init
      Name        : cloud-init
                <--省略-->
      Packager    : FUJITSU LIMITED
      Vendor      : FUJITSU LIMITED
                <--省略-->

      富士通提供のcloud-initがインストールされていない場合、再インストールを行い、富士通提供cloud-initに入れ替わったことを確認します。

      # rpm -e cloud-init
      # rpm -q cloud-init
      # rm -rf /var/lib/cloud
      # rpm -ivh /var/tmp/cloud-init-0.7.5-10.el7.FJ.20160406.noarch.rpm
      # rpm -qi cloud-init
  3. ブートログ出力先の設定

    カーネルがブートログを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の値を変更します。

      変更前)GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
      変更後)GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200"
    3. /boot/grub2/grub.cfg への変更を反映します。

      # grub2-mkconfig -o /boot/grub2/grub.cfg
  4. ネットワーク設定(DHCP接続)
    ヒント: インポート後、仮想サーバをDHCPでネットワーク接続する場合は、以下を設定します。固定IPアドレス設定の場合は、インポート後も同じIPアドレスで起動されます。
    1. NetworkManagerを有効にします。

      # yum -y install NetworkManager
      # systemctl enable NetworkManager
      # systemctl start NetworkManager
    2. /etc/sysconfig/network-scripts/ifcfg-<ネットワークインターフェース名>の設定を、以下の内容に修正します。

      ONBOOT=yes
      BOOTPROTO=dhcp
    3. ネットワークを再起動します。

      # systemctl restart NetworkManager
  5. ネットワークインターフェース名の変更
    1. /etc/sysconfig/network-scripts/ifcfg-<ネットワークインターフェース名>から、ネットワークインターフェースの設定をコピーします。

      # cd /etc/sysconfig/network-scripts
      # cp ifcfg-eno16780032 ifcfg-eth0

      ※元ファイル名(ifcfg-eno16780032)は一例であり、環境によって異なります。

    2. 複製したネットワークインターフェース設定の設定名とデバイス名を変更します。

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

      ※「NAME="eth0"」と「DEVICE="eth0"」の記載方法でも問題ありません。

    3. /etc/default/grubを編集します。

      # vi /etc/default/grub

      以下のように、GRUB_CMDLINE_LINUXに値を追記します。

      追記前)GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200"
      追記後)GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200 net.ifnames=0"
    4. /boot/grub2/grub.cfg に対して、/etc/default/grubの変更を反映します。

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

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

    2. OSを再起動します。

      # reboot
  7. Zeroconfの無効化

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

    # vi /etc/sysconfig/network

    以下の行を追記します。

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

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

    1. initramfsをバックアップします。

      # cd /boot
      # mv initramfs-3.10.0-327.el7.x86_64.img initramfs-3.10.0-327.el7.x86_64.img.bak

      ※上記のファイル名"initramfs-3.10.0-327.el7.x86_64.img"は一例です。

    2. virtioドライバが組み込まれたinitramfsを作成します。

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

      # ls -l initramfs-3.10.0-327.el7.x86_64.img
  10. cloud.cfgの設定

    /etc/cloud/cloud.cfgの設定を行います。

    cloud-initの動作設定をする場合は、/etc/cloud/cloud.cfgに対して行います。設定内容は、cloud-initのサポートサイトを参照してください。

  11. OSのシャットダウン

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

    # shutdown -h now