検索

3.3. Microsoft Azure のカスタムベースイメージの設定

download PDF

仮想マシン (VM) のカスタムベースイメージを作成し、Azure で特定の設定を使用して RHEL 9 VM をデプロイすることができます。以下のセクションでは、Azure で必要な追加の設定変更について説明します。

3.3.1. Hyper-V デバイスドライバーのインストール

Microsoft は、Linux Integration Services (LIS) for Hyper-V パッケージの一部として、ネットワークおよびストレージデバイスのドライバーを提供しています。Hyper-V デバイスドライバーを Azure 仮想マシン (VM) としてプロビジョニングする前に、仮想マシンイメージへのインストールが必要になる場合があります。lsinitrd | grep hv コマンドを使用して、ドライバーがインストールされていることを確認します。

手順

  1. 以下の 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.el9.x86_64/kernel/drivers/hv
    -rw-r--r--   1 root     root        31272 Aug 11 08:45 usr/lib/modules/3.10.0-932.el9.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.el9.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.el9.x86_64/kernel/drivers/scsi/hv_storvsc.ko.xz

    すべてのドライバーがインストールされていない場合は、残りの手順を完了してください。

    注記

    hv_vmbus ドライバーは、すでにこの環境に追加されている可能性があります。このドライバーが存在する場合でも、次の手順を実行してください。

  2. /etc/dracut.conf.dhv.conf という名前のファイルを作成します。
  3. 以下のドライバーパラメーターを dracut.conf ファイルに追加します。

    add_drivers+=" hv_vmbus "
    add_drivers+=" hv_netvsc "
    add_drivers+=" hv_storvsc "
    add_drivers+=" nvme "
    注記

    引用符の前後に空白に注意してください (例: add_drivers+=" hv_VMBus ")。これにより、環境内にその他の Hyper-V ドライバーが存在している場合に、一意のドライバーが読み込まれます。

  4. initramfs イメージを再生成します。

    # dracut -f -v --regenerate-all

検証

  1. マシンを再起動します。
  2. lsinitrd | grep hv コマンドを実行して、ドライバーがインストールされていることを確認します。

3.3.2. Microsoft Azure のデプロイメントに必要な設定変更を行う

カスタムベースイメージを Azure にデプロイする前に、追加の設定変更を実行して、仮想マシン (VM) が Azure で適切に動作できるようにする必要があります。

手順

  1. VMI にログインします。
  2. 仮想マシンを登録し、Red Hat Enterprise Linux 9 リポジトリーを有効にします。

    # subscription-manager register --auto-attach
    Installed Product Current Status:
    Product Name: Red Hat Enterprise Linux for x86_64
    Status: Subscribed
  3. cloud-init および hyperv-daemons パッケージがインストールされていることを確認します。

    # dnf install cloud-init hyperv-daemons -y
  4. Azure サービスとの統合に必要な cloud-init 設定ファイルを作成します。

    1. Hyper-V Data Exchange Service (KVP) へのログ記録を有効にするには、/etc/cloud/cloud.cfg.d/10-azure-kvp.cfg 設定ファイルを作成し、そのファイルに次の行を追加します。

      reporting:
          logging:
              type: log
          telemetry:
              type: hyperv
    2. Azure をデータソースとして追加するには、/etc/cloud/cloud.cfg.d/91-azure_datasource.cfg 設定ファイルを作成し、そのファイルに次の行を追加します。

      datasource_list: [ Azure ]
      datasource:
          Azure:
              apply_network_config: False
  5. 特定のカーネルモジュールが自動的にロードされないようにするには、/etc/modprobe.d/blocklist.conf ファイルを編集または作成し、そのファイルに次の行を追加します。

    blacklist nouveau
    blacklist lbm-nouveau
    blacklist floppy
    blacklist amdgpu
    blacklist skx_edac
    blacklist intel_cstate
  6. udev ネットワークデバイスルールを変更します。

    1. 次の永続的なネットワークデバイスルールが存在する場合は削除します。

      # 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
    2. Azure で Accelerated Networking が意図したとおりに動作するようにするには、新しいネットワークデバイスルール /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules を作成し、次の行を追加します。

      SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"
  7. sshd サービスが自動的に起動するように設定します。

    # systemctl enable sshd
    # systemctl is-enabled sshd
  8. カーネルブートパラメーターを変更します。

    1. /etc/default/grub ファイルを開き、GRUB_TIMEOUT 行に次の値があることを確認します。

      GRUB_TIMEOUT=10
    2. 次のオプションがある場合は、GRUB_CMDLINE_LINUX 行の末尾から削除します。

      rhgb quiet
    3. /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"
      注記

      HDD でワークロードを実行する予定がない場合は、GRUB_CMDLINE_LINUX 行の最後に elevator=none を追加します。

      これにより、I/O スケジューラーが none に設定され、SSD でワークロードを実行する際の I/O パフォーマンスが向上します。

    4. grub.cfg ファイルを再生成します。

      • BIOS ベースのマシンの場合:

        • RHEL 9.2 以前

          # grub2-mkconfig -o /boot/grub2/grub.cfg
        • RHEL 9.3 以降の場合:

          # grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline
      • UEFI ベースのマシンの場合:

        • RHEL 9.2 以前

          # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
        • RHEL 9.3 以降の場合:

          # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg --update-bls-cmdline

          システムが grub.cfg にデフォルト以外の場所を使用している場合は、それに応じてコマンドを調整してください。

  9. Windows Azure Linux Agent (WALinuxAgent) を設定します。

    1. WALinuxAgent パッケージをインストールして有効にします。

      # dnf install WALinuxAgent -y
      # systemctl enable waagent
    2. プロビジョニングされた VM でスワップパーティションが使用されないようにするには、/etc/waagent.conf ファイルの次の行を編集します。

      Provisioning.DeleteRootPassword=y
      ResourceDisk.Format=n
      ResourceDisk.EnableSwap=n
  10. Azure プロビジョニング用に VM を準備します。

    1. Red Hat Subscription Manager から仮想マシンの登録を解除します。

      # subscription-manager unregister
    2. 既存のプロビジョニングの詳細をクリーンアップします。

      # waagent -force -deprovision
      注記

      このコマンドは警告を生成しますが、Azure が VM のプロビジョニングを自動的に処理するため、これは想定されています。

    3. シェル履歴をクリーンアップし、仮想マシンをシャットダウンします。

      # export HISTSIZE=0
      # poweroff
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.