Azure Stack HCI 仮想マシン用の Ubuntu イメージを準備する

適用対象: Azure Stack HCI バージョン 23H2

この記事では、Ubuntu イメージを準備して、Azure Stack HCI クラスターに仮想マシン (VM) を作成する方法について説明します。 VM イメージの作成には Azure CLI を使用します。

前提条件

開始する前に、次の前提条件を満たします。

  • Azure Stack HCI クラスターにアクセスできます。 このクラスターはデプロイされ、登録され、Azure Arc に接続されます。 Azure Stack HCI クラスター リソースの [概要 ] ページに移動します。 右側のウィンドウの [サーバー] タブに、Azure Arc が [接続済み] と表示されます。
  • Azure Stack HCI クラスターで、サポートされている最新の Ubuntu サーバー イメージ をダウンロードします。 サポートされている OS バージョンは 、Ubuntu 18.0420.04および 22.04 LTS です。 VM イメージを作成するには、このイメージを準備します。

ワークフロー

Ubuntu イメージを準備し、そのイメージから VM イメージを作成するには:

  1. Ubuntu VM を作成する
  2. VM を構成する
  3. 残余構成をクリーンアップする
  4. Ubuntu VM イメージを作成する

次のセクションでは、ワークフローの各ステップの詳細な手順について説明します。

Ubuntu イメージから VM イメージを作成する

重要

VM でゲスト管理を有効にする場合は、Ubuntu イメージを準備することをお勧めします。

Azure Stack HCI クラスターで次の手順に従って、Azure CLI を使用して VM イメージを作成します。

手順 1: Ubuntu VM を作成する

ダウンロードした Ubuntu イメージを使用して VM をプロビジョニングするには:

  1. ダウンロードしたイメージを使用して、次の仕様で VM を作成します。

    1. VM のフレンドリ名を指定します。

      [名前と場所の指定] ページの [新しい仮想マシン] ウィザードを示すスクリーンショット。

    2. ここで VHDX イメージを使用しているときに、VM の第 2 世代を指定します。

      [生成の指定] ページの [新しい仮想マシン] ウィザードを示すスクリーンショット。

    3. 起動可能なイメージから [オペレーティング システムのインストール] を選択 します。 前にダウンロードした ISO をポイントします。

      [インストール オプション] ページの [新しい仮想マシン] ウィザードを示すスクリーンショット。

    詳細な手順については、「Hyper-V マネージャーを使用した VM のプロビジョニング」を参照してください

  2. VM をセキュア ブートするには、UEFI 証明書を使用します。

    1. VM が作成されると、Hyper-V マネージャーに表示されます。 VM を選択して右クリックし、[設定] を選択 します
    2. 左側のウィンドウで、[セキュリティ] タブを選択します。次に、[セキュア ブート] の [テンプレート] ドロップダウン リストから Microsoft UEFI 証明機関を選択します。
    3. [OK] を選択して変更を保存します。

    [設定] ページの VM のセキュア ブート オプションを示すスクリーンショット。

手順 2: VM を構成する

Azure Stack HCI クラスターで次の手順に従って、前にプロビジョニングした VM を構成します。

  1. VM にサインインします。 「Linux VM への接続」の手順を参照してください。

  2. リポジトリから最新のパッケージ リストをすべてダウンロードするには、次のコマンドを実行します。

    sudo apt update
    
  3. Azure の カスタマイズされたカーネルをインストールします。 この手順は、VM がネットワーク インターフェイスの IP を取得するために必要です。

    sudo apt install linux-azure -y
    
  4. SSH サーバーをインストールします。 次のコマンドを実行します。

    sudo apt install openssh-server openssh-client -y
    
  5. パスワードレス sudo を構成します。 次のコマンドを使用visudoして、ファイルの末尾に/etc/sudoers追加します。

    ALL ALL=(ALL) NOPASSWD:ALL
    

手順 3: 残余構成をクリーンアップする

履歴や既定の構成なしでクリーンな VM イメージを作成できるように、VM からマシン固有のファイルとデータを削除します。 Azure Stack HCI クラスターで次の手順に従って、残りの構成をクリーンアップします。

  1. 既定の構成をクリーンアップ cloud-init します。

    sudo rm -f /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg /etc/cloud/cloud.cfg.d/curtin-preserve-sources.cfg /etc/cloud/cloud.cfg.d/99-installer.cfg /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
    sudo rm -f /etc/cloud/ds-identify.cfg
    sudo rm -f /etc/netplan/*.yaml
    
  2. ログとキャッシュをクリーンアップします。

    sudo cloud-init clean --logs --seed
    sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*
    sudo apt-get clean
    
  3. bash 履歴を削除します。

    rm -f ~/.bash_history 
    export HISTSIZE=0 
    logout
    
  4. VM をシャット ダウンします。 Hyper-V マネージャーで、[アクション>のシャットダウン] に移動します。

手順 4: VM イメージを作成する

Azure Stack HCI クラスターで次の手順に従って、前に作成した VHDX から VM イメージを作成します。

Azure CLI を使用して VM イメージを作成します。

  1. PowerShell を管理者として実行します。

  2. サインインする。 次のコマンドレットを実行します。

    az login
    
  3. サブスクリプションを設定します。 次のコマンドレットを実行します。

    az account set --subscription <Subscription ID>
    
  4. サブスクリプション、リソース グループ、カスタムの場所、場所、イメージの OS の種類、イメージの名前、およびイメージが配置されているパスのパラメーターを設定します。 パラメーター < > を適切な値に置き換えます。

    $Subscription = "<Subscription ID>"
    $Resource_Group = "<Resource group>"
    $CustomLocation = "<Custom location>"
    $Location = "<Location for your Azure Stack HCI cluster>"
    $OsType = "<OS of source image>"
    

    パラメーターについては、次の表で説明します。

    パラメーター 説明
    Subscription Azure Stack HCI クラスターに関連付けられているサブスクリプション。
    Resource_Group このイメージに関連付ける Azure Stack HCI クラスターのリソース グループ。
    Location Azure Stack HCI クラスターの場所。 たとえば、場所は次のようになりますeastuswestreurope
    OsType ソース イメージに関連付けられているオペレーティング システム。 このシステムには、Windows または Linux を使用できます。
  5. VM の VHDX を使用してギャラリー イメージを作成します。 この VM イメージを使用して、Azure Stack HCI に Azure Arc 仮想マシンを作成します。

    Azure Stack HCI のクラスター共有ボリューム内のユーザー ストレージ内の VHDX を必ずコピーしてください。 たとえば、パスは次のようになります C:\ClusterStorage\UserStorage_1\linuxvhdx

    $ImagePath = "Path to user storage in CSV" 
    
    $ImageName = "mylinuxvmimg" 
    
    az stack-hci-vm image create --subscription $subscription -g $resource_group --custom-location $CustomLocation --location $location --image-path $ImagePath --name $ImageName --debug --os-type 'Linux' 
    
  6. イメージが作成されていることを確認します。