共用方式為


準備適用於 Azure 本機虛擬機的 Red Hat Enterprise 映射 (預覽)

適用於:Azure 本機版本 23H2

本文說明如何準備 Red Hat Enterprise Linux 映射,以在 Azure 本機上建立虛擬機(VM)。 您可以使用 Azure CLI 來建立 VM 映射。

必要條件

開始之前,請先符合下列必要條件:

  • 可以存取 Azure 本機實例。 此系統已部署、註冊並連線至 Azure Arc。移至 Azure 本機資源中的 [概觀 ] 頁面。 在右窗格的 [ 伺服器 ] 索引卷標上, Azure Arc 應顯示為 [ 已連線]。
  • 在 Azure 本機實例上下載最新支援的 Red Hat Enterprise 伺服器映像 。 我們支援所有 Red Hat Enterprise Linux 7.x、8.x 和 9.x 版本。 在這裡,我們下載了 rhel-9.4-x86_64-boot.iso 檔案。 您可以使用此映像來建立 VM 映像。

工作流程

若要準備 Red Hat Enterprise 映射並建立 VM 映射:

  1. 建立 Red Hat Enterprise VM
  2. 聯機到 VM 並安裝 Red Hat OS
  3. 設定 VM
  4. 清除剩餘組態
  5. 建立 Red Hat VM 映像

下列各節提供工作流程中每個步驟的詳細指示。

從 Red Hat Enterprise 映射建立 VM 映像

重要

  • 請勿使用 Azure 虛擬機器 VHD 磁碟來準備 Azure 本機的 VM 映像。
  • 如果您想要在 VM 上啟用來賓管理,建議您準備 Red Hat Enterprise 映射。

請遵循 Azure 本機系統上的下列步驟,使用 Azure CLI 建立 VM 映射。

步驟 1:建立 Red Hat Enterprise VM

若要使用下載的 Red Hat Enterprise 映射來布建 VM:

  1. 使用下載的映像來建立具有下列規格的 VM:

    1. 為您的 VM 提供易記名稱。

      顯示 [指定名稱和位置] 頁面上 [新增虛擬機精靈] 的螢幕快照。

    2. 當您在這裡使用 VHDX 映射時,請為 VM 指定 第 2 代。

      顯示 [指定產生] 頁面上 [新增虛擬機精靈] 的螢幕快照。

    3. 選取 [指派記憶體],然後針對 [啟動記憶體] 輸入 4096。

      顯示 [指派記憶體] 頁面上 [新增虛擬機精靈] 的螢幕快照。

    4. 選取 [設定網络]。 從下拉式清單中,選取 VM 用於連線的虛擬交換器。

      顯示 [設定網络] 頁面上 [新增虛擬機精靈] 的螢幕快照。

    5. 接受 [連線虛擬硬碟] 頁面上的預設值。

      顯示 [虛擬硬碟] 頁面上 [新增虛擬機精靈] 的螢幕快照。

    6. 選取 [安裝選項],然後從可開機映射檔選取 [安裝操作系統]。 指向您稍早下載的 ISO。

      顯示 [操作系統安裝選項] 畫面的螢幕快照。

    如需逐步指示,請參閱 使用 Hyper-V 管理員布建 VM。

  2. 使用 UEFI 憑證來保護 VM 開機。

    1. 建立 VM 之後,它會顯示在 Hyper-V 管理員中。 選取 VM,以滑鼠右鍵按下它,然後選取 [ 設定]。

    2. 在左窗格中,選取 [安全性] 索引標籤。然後在 [安全開機] 下拉式清單中,選取 [Microsoft UEFI 證書頒發機構單位]。

    3. 選取 [確定] 儲存變更。

    顯示已啟用 UEFI 安全開機畫面的螢幕快照。

  3. 從 Hyper-V 管理員選取 VM,然後啟動 VM。 VM 會從您提供的 ISO 映像開機。

步驟 2:連線到 VM 並安裝 Red Hat OS

執行 VM 之後,請遵循下列步驟:

  1. 從 Hyper-V 管理員選取 VM,以滑鼠右鍵按鍵按下它以開啟功能表,然後選取 [ 連線]。

  2. 從開機功能表中選取 [ 安裝 Red Hat Enterprise Linux 9.4 ]。

  3. 選取語言,然後選取 [ 繼續]。

    顯示 [語言選取] 畫面的螢幕快照。

  4. 在 [ 安裝摘要 ] 頁面上,您可能會看到其他可採取動作的專案。

    顯示具有可採取動作專案的安裝摘要的螢幕快照。

  5. 選取 [ 連線至 Red Hat ] 並建立認證。 選取 [ 註冊] ,然後選取 [ 完成]。

    顯示 [連線至 Red Hat] 頁面的螢幕快照。

  6. 選取 [ 軟體選取]、保留預設值,然後選取 [ 完成]。

    顯示 [軟體選取] 頁面的螢幕快照。

  7. 選取 [ 安裝目的地 ],然後選取 [ 完成]。

    顯示 [安裝目的地] 頁面的螢幕快照。

  8. 選取 [ 網络與主機名]。

    顯示已完成安裝摘要頁面的螢幕快照。

  9. 啟用網路介面的 ON 交換器,然後選取 [完成]。

    顯示 [網络和主機名] 頁面的螢幕快照。

  10. 選取 [ 用戶設定 ] 並設定根密碼。 輸入密碼、確認密碼,然後選取 [ 完成]。

    顯示認證頁面的螢幕快照。

  11. 選取 [ 開始安裝]。

    顯示 [開始安裝] 按鈕的螢幕快照。

  12. 安裝完成後,選取 [重新啟動系統 ] 以重新啟動 VM。

    顯示安裝後 [重新啟動系統] 按鈕的螢幕快照。

如需逐步指示,請參閱 使用 Hyper-V 管理員布建 VM。

步驟 3:設定 VM

若要設定 VM:

  1. 使用您在 Red Hat Enterprise 安裝期間建立的根密碼連線並登入 VM。

  2. 請確定 cloud-init 未安裝。

    Sudo yum list installed | grep cloud-init
    
  3. cloud-init安裝工具,並確認已安裝的版本cloud-init

    Sudo yum install -y cloud-init
    cloud-init --version
    

    以下是範例輸出:

    [hcitest@localhost ~]$ sudo yum install -y cloud-init
    Installed:
    cloud-init-23.4-7.el9_4.noarch 
    dhcp-client-12:4.4.2-19.bl.el9.x86_64 
    dhcp-common-12:4.4.2-19.bl.el9.noarch 
    geolite2-city-20191217-6.el9.noarch 
    geolite2-country-20191217-6.el9.noarch 
    ipcalc-l.0.0-5.el9.x86_64 
    python3-attrs-20.3.0-7.el9.noarch 
    python3-babel-2.9.1-2.el9.noarch 
    python3-configob j-5.0.6-25.el9.noarch 
    python3-jinja2-2.11.3-5.el9.noarch 
    python3-j sonpatch-1.21-16.el9.noarch 
    python3-j sonpointer-2.0-4.el9.noarch 
    python3-j sonschema-3.2.0-13.el9.noarch 
    python3-markupsafe-l.1.1-12.el9.x86_64 
    python3-netifaces-0.10.6-15.el9.x86_64 
    python3-oauthlib-3.1.1-5.el9.noarch 
    python3-prettytable-0.7.2-27.el9.noarch 
    python3-pyrsistent-0.17.3-8.el9.x86_64 
    python3-pyserial-3.4-12.el9.noarch 
    python3-pytz-2021.1-5.el9.noarch
    
    Complete!
    [hcitest@localhost ~]$ cloud-init —version 
    /usr/bin/cloud-init 23.4-7.el9_4 
    

步驟 4:清除剩餘組態

從您的 VM 刪除電腦特定的檔案和數據,以便您建立全新的 VM 映射,而不需要任何歷程記錄或預設組態。 請遵循 Azure 本機上的這些步驟來清除剩餘組態。

  1. 清除 cloud-init 預設組態。

    sudo yum clean all
    sudo cloud-init clean
    

    以下是範例輸出:

    [hcitest@localhost ~]$ sudo yum clean all 
    Updating Subscription Management repositories.
    17 files removed
    [hcitest@localhost ~]$ sudo cloud-init clean
    
  2. 清除記錄和快取。

    sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*
    
  3. 取消註冊 VM。

    sudo subscription-manager unregister
    sudo Subscription-manager clean
    

    以下是範例輸出:

    [hcitest@localhost ~]$ sudo subscription-manager unregister 
    Unregistering from: subscription.rhsm.redhat.com:443/subscription 
    System has been unregistered.
    [hcitest@localhost ~]$ sudo subscription-manager clean 
    All local data removed
    
  4. 清除任何主機特定的詳細數據。

    sudo rm -f /etc/sysconfig/network-scripts/*
    sudo rm -f /etc/ssh/ssh_host*
    sudo rm /etc/lvm/devices/system.devices
    
  5. 拿掉Bash歷程記錄。

    sudo rm -f ~/.bash_history 
    export HISTSIZE=0
    exit
    
  6. 關閉 VM。 在 Hyper-V 管理員中,移至 [動作>關機]。

  7. 匯出 VHDX,或從您的 VM 複製 VHDX。 您可以使用下列方法:

    • 將 VHDX 複製到 Azure 本機上叢集共用磁碟區上的使用者記憶體。
    • 或者,將 VHDX 當做分頁 Blob 複製到 Azure 儲存體 帳戶中的容器。

    顯示匯出虛擬機器 VHDX 的螢幕快照。

步驟 5:建立 VM 映射

請遵循 Azure 本機上的下列步驟,從您稍早建立的 VHDX 建立 VM 映射。

使用 Azure CLI 建立 VM 映射:

  1. 以系統管理員身分執行 PowerShell。

  2. 登入。 執行下列 Cmdlet:

    az login
    
  3. 設定您的訂用帳戶。 執行下列 Cmdlet:

    az account set --subscription <Subscription ID>
    
  4. 為您的訂用帳戶、資源群組、自定義位置、位置、映像的OS類型、映像名稱,以及映射所在的路徑設定參數。 將中的 < > 參數取代為適當的值。

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $customLocation = "<Custom location>"
    $location = "<Location for your Azure Local>"
    $osType = "<OS of source image>"
    

    下表說明參數。

    參數 描述
    subscription 與您的 Azure 本機實例相關聯的訂用帳戶。
    resource_group 您與此映像相關聯的 Azure 本機實例資源群組。
    location Azure 本機實例的位置。 例如,位置可以是 eastuswestreurope
    os-type 與來源映像相關聯的操作系統。 此系統可以是 Windows 或 Linux。
  5. 使用 VM 的 VHDX 來建立資源庫映像。 使用此 VM 映像在 Azure 本機上建立 Azure Arc 虛擬機。

    請務必複製 Azure 本機叢集共用磁碟區中使用者記憶體中的 VHDX。 例如,路徑看起來可能像 C:\ClusterStorage\UserStorage_1\linuxvhdx

    $imagePath = "Path to user storage in CSV" 
    $imageName = "mylinuxvmimg" 
    $osType = "Linux"
    
    az stack-hci-vm image create --subscription $subscription -g $resource_group --custom-location $customLocation --location $location --image-path $imagePath --name $imageName --debug --os-type $osType 
    
  6. 確認映像已建立。