1.3. Microsoft Azure のベースイメージの設定
ベースイメージには、Azure で RHEL 7 仮想マシンイメージとして機能するための設定変更が必要です。以下のセクションでは、Azure で必要な追加の設定変更を説明します。
1.3.1. Hyper-V デバイスドライバーのインストール
Microsoft は、Linux Integration Services (LIS) for Hyper-V パッケージの一部として、ネットワークおよびストレージデバイスのドライバーを提供しています。Hyper-V デバイスドライバーを Azure 仮想マシンとしてプロビジョニングする前に、仮想マシンイメージへのインストールが必要になる場合があります。lsinitrd | grep hv
コマンドを使用して、ドライバーがインストールされていることを確認します。
手順
以下の
grep
コマンドを実行して、必要な Hyper-V デバイスドライバーがインストールされているかどうかを確認します。# lsinitrd | grep hv
以下の例では、必要なドライバーがすべてインストールされています。
# lsinitrd | grep hv drwxr-xr-x 2 root root 0 Aug 12 14:21 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/hv -rw-r--r-- 1 root root 31272 Aug 11 08:45 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/hv/hv_vmbus.ko.xz -rw-r--r-- 1 root root 25132 Aug 11 08:46 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/net/hyperv/hv_netvsc.ko.xz -rw-r--r-- 1 root root 9796 Aug 11 08:45 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/scsi/hv_storvsc.ko.xz
すべてのドライバーがインストールされていない場合は、残りの手順を完了してください。
注記hv_vmbus
ドライバーは、すでにこの環境に追加されている可能性があります。このドライバーが存在する場合でも、仮想マシンで次の手順を実行してください。-
/etc/hv.conf.d
にhv.conf
という名前のファイルを作成します。 以下のドライバーパラメーターを
dracut.conf
ファイルに追加します。add_drivers+=" hv_vmbus " add_drivers+=" hv_netvsc " add_drivers+=" hv_storvsc "
注記引用符の前後に空白に注意してください (例:
add_drivers+=" hv_VMBus ")
。これにより、環境内にその他の Hyper-V ドライバーが存在している場合に、一意のドライバーが読み込まれます。initramfs
イメージを再生成します。# dracut -f -v --regenerate-all
検証手順
- マシンを再起動します。
-
lsinitrd | grep hv
コマンドを実行して、ドライバーがインストールされていることを確認します。
1.3.2. 追加の設定設定の変更
仮想マシンを Azure で動作するには、さらなる設定変更が必要です。追加の変更を行うには、以下の手順を行います。
手順
- 必要な場合は、仮想マシンの電源を入れます。
仮想マシンを登録し、Red Hat Enterprise Linux 7 リポジトリーを有効にします。
# subscription-manager register --auto-attach
cloud-init (存在する場合) の停止および削除
cloud-init
サービスを停止します。# systemctl stop cloud-init
cloud-init
ソフトウェアを削除します。# yum remove cloud-init
その他の仮想マシン変更の完了
/etc/ssh/sshd_config
ファイルを編集し、パスワード認証を有効にします。PasswordAuthentication yes
一般的なホスト名を設定してください。
# hostnamectl set-hostname localhost.localdomain
/etc/sysconfig/network-scripts/ifcfg-eth0
ファイルを編集 (または作成) します。以下のパラメーターのみを使用してください。注記ifcfg-eth0
ファイルは、RHEL 7 DVD ISO イメージには存在しないため、作成する必要があります。DEVICE="eth0" ONBOOT="yes" BOOTPROTO="dhcp" TYPE="Ethernet" USERCTL="yes" PEERDNS="yes" IPV6INIT="no"
すべての永続的なネットワークデバイスルールがある場合は削除します。
# rm -f /etc/udev/rules.d/70-persistent-net.rules # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules # rm -f /etc/udev/rules.d/80-net-name-slot-rules
ssh
が自動的に起動するように設定します。# systemctl enable sshd # systemctl is-enabled sshd
カーネルブートパラメーターを変更します。
-
/etc/default/grub
ファイルのGRUB_CMDLINE_LINUX
行の先頭にcrashkernel=256M
を追加します。crashkernel=auto
が存在する場合は、crashkernel=256M
に変更します。 次の行がない場合は、
GRUB_CMDLINE_LINUX
行の末尾に追加します。earlyprintk=ttyS0 console=ttyS0 rootdelay=300
以下のオプションが存在する場合は削除します。
rhgb quiet
-
grub.cfg
ファイルを再生成します。# grub2-mkconfig -o /boot/grub2/grub.cfg
Windows Azure Linux Agent (WALLinuxAgent) をインストールして有効にします。
# yum install WALinuxAgent -y # systemctl enable waagent
注記No package
WALinuxAgent
availableというエラーメッセージが表示された場合は、rhel-7-server-extras-rpms
リポジトリーをインストールします。再度インストールを試行する前に、# subscription-manager repos --enable=rhel-7-server-extras-rpms
コマンドを実行します。/etc/waagent.conf
で以下の行を編集して、プロビジョニングされた仮想マシン用にスワップ領域を設定します。プロビジョニングされた仮想マシンに適した swap 領域を設定します。Provisioning.DeleteRootPassword=n ResourceDisk.Filesystem=ext4 ResourceDisk.EnableSwap=y ResourceDisk.SwapSizeMB=2048
プロビジョニングの準備
Red Hat Subscription Manager から仮想マシンの登録を解除します。
# subscription-manager unregister
既存のプロビジョニングの詳細をクリーンアップして、Azure プロビジョニング用に仮想マシンを準備します。Azure は、仮想マシンを Azure に再プロビジョニングします。このコマンドは、データ損失の警告を生成しますが、これは正常です。
# waagent -force -deprovision
シェル履歴をクリーンアップし、仮想マシンをシャットダウンします。
# export HISTSIZE=0 # poweroff