4.6. Microsoft Azure のデプロイメントに必要な設定変更を行う
カスタムベースイメージを Azure にデプロイする前に、追加の設定変更を実行して、仮想マシン (VM) が Azure で適切に動作できるようにする必要があります。
手順
- 仮想マシンにログインします。
仮想マシンを登録し、Red Hat Enterprise Linux 9 リポジトリーを有効にします。
subscription-manager register --auto-attach
# subscription-manager register --auto-attach Installed Product Current Status: Product Name: Red Hat Enterprise Linux for x86_64 Status: Subscribed
Copy to Clipboard Copied! cloud-init
およびhyperv-daemons
パッケージがインストールされていることを確認します。dnf install cloud-init hyperv-daemons -y
# dnf install cloud-init hyperv-daemons -y
Copy to Clipboard Copied! Azure サービスとの統合に必要な
cloud-init
設定ファイルを作成します。Hyper-V Data Exchange Service (KVP) へのログ記録を有効にするには、
/etc/cloud/cloud.cfg.d/10-azure-kvp.cfg
設定ファイルを作成し、そのファイルに次の行を追加します。reporting: logging: type: log telemetry: type: hyperv
reporting: logging: type: log telemetry: type: hyperv
Copy to Clipboard Copied! Azure をデータソースとして追加するには、
/etc/cloud/cloud.cfg.d/91-azure_datasource.cfg
設定ファイルを作成し、そのファイルに次の行を追加します。datasource_list: [ Azure ] datasource: Azure: apply_network_config: False
datasource_list: [ Azure ] datasource: Azure: apply_network_config: False
Copy to Clipboard Copied!
特定のカーネルモジュールが自動的にロードされないようにするには、
/etc/modprobe.d/blocklist.conf
ファイルを編集または作成し、そのファイルに次の行を追加します。blacklist nouveau blacklist lbm-nouveau blacklist floppy blacklist amdgpu blacklist skx_edac blacklist intel_cstate
blacklist nouveau blacklist lbm-nouveau blacklist floppy blacklist amdgpu blacklist skx_edac blacklist intel_cstate
Copy to Clipboard Copied! udev
ネットワークデバイスルールを変更します。次の永続的なネットワークデバイスルールが存在する場合は削除します。
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
# 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
Copy to Clipboard Copied! Azure で Accelerated Networking が意図したとおりに動作するようにするには、新しいネットワークデバイスルール
/etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
を作成し、次の行を追加します。SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"
Copy to Clipboard Copied!
sshd
サービスが自動的に起動するように設定します。systemctl enable sshd systemctl is-enabled sshd
# systemctl enable sshd # systemctl is-enabled sshd
Copy to Clipboard Copied! カーネルブートパラメーターを変更します。
/etc/default/grub
ファイルを開き、GRUB_TIMEOUT
行に次の値があることを確認します。GRUB_TIMEOUT=10
GRUB_TIMEOUT=10
Copy to Clipboard Copied! 次のオプションがある場合は、
GRUB_CMDLINE_LINUX
行の末尾から削除します。rhgb quiet
rhgb quiet
Copy to Clipboard Copied! /etc/default/grub
ファイルに、指定されたすべてのオプションを含む次の行が含まれていることを確認します。GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300" GRUB_TIMEOUT_STYLE=countdown GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300" GRUB_TIMEOUT_STYLE=countdown GRUB_TERMINAL="serial console" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
Copy to Clipboard Copied! 注記HDD 上でワークロードを実行する予定がない場合は、
GRUB_CMDLINE_LINUX
行の末尾にelevator=none
を追加します。これにより、I/O スケジューラーが
none
に設定され、SSD 上でワークロードを実行するときの I/O パフォーマンスが向上します。grub.cfg
ファイルを再生成します。BIOS ベースのマシンの場合:
RHEL 9.2 以前
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfg
Copy to Clipboard Copied! RHEL 9.3 以降の場合:
grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
# grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
Copy to Clipboard Copied!
UEFI ベースのマシンの場合:
RHEL 9.2 以前
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfg
Copy to Clipboard Copied! RHEL 9.3 以降の場合:
grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
# grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
Copy to Clipboard Copied! 警告grub.cfg
を再構築するパスは、BIOS ベースと UEFI ベースの両マシンで同じです。実際のgrub.cfg
は BIOS パスにのみ存在します。UEFI パスには、grub2-mkconfig
コマンドを使用して変更または再作成してはならないスタブファイルがあります。システムが
grub.cfg
にデフォルト以外の場所を使用している場合は、それに応じてコマンドを調整してください。
Windows Azure Linux Agent (
WALinuxAgent
) を設定します。WALinuxAgent
パッケージをインストールして有効にします。dnf install WALinuxAgent -y systemctl enable waagent
# dnf install WALinuxAgent -y # systemctl enable waagent
Copy to Clipboard Copied! プロビジョニングされた VM でスワップパーティションが使用されないようにするには、
/etc/waagent.conf
ファイルの次の行を編集します。Provisioning.DeleteRootPassword=y ResourceDisk.Format=n ResourceDisk.EnableSwap=n
Provisioning.DeleteRootPassword=y ResourceDisk.Format=n ResourceDisk.EnableSwap=n
Copy to Clipboard Copied!
Azure プロビジョニング用に VM を準備します。
Red Hat Subscription Manager から仮想マシンの登録を解除します。
subscription-manager unregister
# subscription-manager unregister
Copy to Clipboard Copied! 既存のプロビジョニングの詳細をクリーンアップします。
waagent -force -deprovision
# waagent -force -deprovision
Copy to Clipboard Copied! 注記このコマンドは警告を生成しますが、Azure が VM のプロビジョニングを自動的に処理するため、これは想定されています。
シェル履歴をクリーンアップし、仮想マシンをシャットダウンします。
export HISTSIZE=0 poweroff
# export HISTSIZE=0 # poweroff
Copy to Clipboard Copied!