移行元OSがCentOS 7の場合
対象リージョン:全リージョン
移行元仮想環境で稼働している仮想サーバのOSがCentOS 7の場合、 IaaS環境への移行に必要な作業を説明します。
このタスクについて
- 本手順に記載されたコマンド操作は一例であり、操作方法にはお客様環境により若干の差異がある場合があります。各操作はお客様の責任および判断にて、環境に応じて実行してください。
-
仮想環境のコンソールを使用して操作してください。ネットワーク設定に影響があるため、リモートデスクトップなどの外部からは接続しないでください。
例)VMware vSphere Clientから仮想マシンコンソールを起動、操作します。
- 設定を変更する前に移行元仮想環境上でバックアップを取得し、復旧できるようにしておいてください。
手順
-
VMware Toolsのアンインストール
移行対象となる仮想サーバにVMware Toolsがインストールされている場合は、アンインストールしてください。
# vmware-uninstall-tools.pl
または
# rpm -e open-vm-tools
-
cloud-initのインストール
cloud-initを、以下の手順でインストールします。
-
CentOS 7.2以前の場合
-
cloud-initの入手
弊社提供のcloud-initモジュールを、ヘルプデスクから入手します。提供される最新のものを使用してください。
-
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モジュールの格納先、ファイル名については、環境に合わせて読み替えてください。 -
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
-
-
CentOS7.3以降の場合
-
cloud-initのインストール
# yum -y install cloud-init --enablerepo=* --disablerepo=c7-media
-
cloud-initの確認
cloud-initが正常にインストールされているか確認します。
# rpm -qi cloud-init
cloud-initの情報が表示されることを確認してください。
-
-
-
ブートログ出力先の設定
カーネルがブートログを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の値を変更します。
変更前)GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet" 変更後)GRUB_CMDLINE_LINUX="crashkernel=auto console=tty0 console=ttyS0,115200"
-
/boot/grub2/grub.cfg への変更を反映します。
# grub2-mkconfig -o /boot/grub2/grub.cfg
-
-
ネットワーク設定(DHCP接続)
以下の手順でネットワーク設定を実施します。
-
NetworkManagerを有効にします。
# yum -y install NetworkManager # systemctl enable NetworkManager # systemctl start NetworkManager
-
/etc/sysconfig/network-scripts/ifcfg-<ネットワークインターフェース名>の設定を、以下の内容に修正します。
ONBOOT=yes BOOTPROTO=dhcp
-
ネットワークを再起動します。
# systemctl restart NetworkManager
-
-
ネットワークインターフェース名の変更
-
ネットワークインターフェースの設定ファイルを退避します。
# cd /etc/sysconfig/network-scripts # cp -p ifcfg-eno16780032 org.ifcfg-eno16780032
※元ファイル名(ifcfg-eno16780032)は一例であり、環境によって異なります。
※退避するファイルには、名前の先頭に"org."を付けてください。
-
ネットワークインターフェースの設定ファイル名を変更します。
# mv ifcfg-eno16780032 ifcfg-eth0
-
複製したネットワークインターフェース設定の設定名とデバイス名を変更します。
Ifcfg-eth0の値を「NAME=eth0」と「DEVICE=eth0」に変更します。
※「NAME="eth0"」と「DEVICE="eth0"」の記載方法でも問題ありません。
-
/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 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
-
virtioドライバの有効化
initramfsを、移行後のOS起動に必要なvirtioドライバが組み込まれたものに置き換えます。
-
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"は一例です。
-
virtioドライバが組み込まれたinitramfsを作成します。
# dracut --add-drivers 'virtio virtio_ring virtio_blk virtio_net virtio_pci'
-
initramfsが正常に生成されたことを確認します。
# ls -l initramfs-3.10.0-327.el7.x86_64.img
-
-
cloud.cfgの設定
/etc/cloud/cloud.cfgに対して、cloud-initの動作を設定します。
# vi /etc/cloud/cloud.cfg
仮想サーバのメタデータに関する定義を設定します。
datasource_list: ['OpenStack'] datasource: OpenStack: timeout: 180
ヒント: 上記以外にもcloud-initの動作を設定できます。設定方法についてはcloud-initのサポートサイトを参照してください。 -
OSのシャットダウン
OSをシャットダウンします。
# shutdown -h now