全部產品
Search
文件中心

Elastic Compute Service:Vminit組件說明

更新時間:Jul 05, 2024

Windows執行個體是通過Vminit組件來控制執行個體的啟動行為。在執行個體初次開機或者每次啟動時自動執行一系列配置任務,用來完成執行個體初始化或其他配置。2023年09月份及之後的Windows公用鏡像以及基於公用鏡像建立的自訂鏡像,預設預置Vminit且支援禁用單個外掛程式以滿足您的個人化配置訴求。本文介紹Vminit組件包含的外掛程式以及如何禁用外掛程式。

Vminit的外掛程式說明

Vminit本質上是順序執行了一系列外掛程式來完成系統初始化配置,有些外掛程式僅在建立執行個體後初次開機時執行一次,有些外掛程式會在每次執行個體啟動時都會執行。Vminit當前包含了10個外掛程式,具體說明如下表所示。

外掛程式名稱

執行頻率

外掛程式功能

說明

Plugin_Main_StartDepend

僅在執行個體初次開機時執行。

啟動Windows作業系統的IP Helper服務、DHCP用戶端和Windows時間服務(W32Time) 。

Windows鏡像預設開啟這些系統服務,但是您可能在自訂鏡像中禁用了這些服務,該外掛程式會開啟這些服務,避免因禁用系統服務導致網路和NTP設定異常。

Plugin_Main_OpenRDP

允許通過遠端桌面連線服務RDP串連執行個體。

Windows系統預設開啟RDP服務,對于禁用RDP服務的鏡像,該外掛程式會開啟RDP。

Plugin_Main_NetworkClean

初始化網路設定,系統會使用DHCP方式自動擷取執行個體中所有網卡的IP地址和DNS伺服器設定。

如果執行個體中的IP Helper和DHCP服務未正確開啟,可能導致該外掛程式執行失敗,從而無法通過內網訪問執行個體中繼資料。

Plugin_Main_ConfigDisk

將隨執行個體建立的資料盤進行初始化,包括建立分區、分配盤符等,且分區格式預設為GPT。

  • 在執行個體建立過程中,如果同時添加了新的資料盤,資料盤是未初始化的。為提高您的便利,本外掛程式會自動對資料盤進行初始化共置為聯機狀態。

  • 在執行個體建立過程中,如果添加的是帶有資料的資料盤,Vminit不會對其進行初始化。

Plugin_Main_ExtendVolume

自動檢測Windows系統硬碟的空閑空間,並在空間不足的情況下(<5 GB),利用diskpart命令來擴充系統硬碟。

無。

Plugin_Main_CloudinitUserData

該外掛程式會從阿里雲的中繼資料中擷取您配置的自訂資料,並使用系統的system賬戶執行自訂資料指令碼。

Plugin_Main_ConfigHostname

執行個體每次啟動時都會執行。

設定執行個體的主機名稱。在執行個體建立階段,阿里雲會為每個執行個體分配一個主機名稱。如果您在建立執行個體時指定了主機名稱,系統將根據您設定的主機名稱進行配置。否則,阿里雲將自動分配一個隨機的主機名稱。

  • 設定主機名稱會強制重啟系統,重啟系統會在該外掛程式執行完畢後立即執行。

  • 如果執行個體的主機名稱與您配置的主機名稱一致,則不會重複設定主機名稱。

  • 如果您本身不依賴阿里雲修改主機名稱,而是由您自訂設定執行個體的主機名稱,可以禁用該外掛程式。例如,您在自訂鏡像中增加了開機啟動修改主機名稱的邏輯,這就可能與Vminit這個外掛程式的邏輯衝突,這種情況建議在建立自訂鏡像時,禁用該外掛程式。具體操作,請參見禁用Vminit的外掛程式

Plugin_Main_ConfigWsus

該外掛程式會從阿里雲的中繼資料中擷取WSUS地址,並配置到執行個體中。如果執行個體的WSUS地址已經配置成阿里雲的WSUS地址,則不會重複配置。

該外掛程式依賴內網訪問能力。

Plugin_Main_ConfigKms

該外掛程式會從阿里雲的中繼資料中擷取KMS地址,配置到執行個體後會進行KMS啟用。如果執行個體KMS已經啟用且KMS相同,則不會重複配置。

該外掛程式依賴內網訪問能力。

Plugin_Main_ConfigNtp

配置NTP時鐘源,用於時間同步。該外掛程式會從阿里雲的中繼資料中擷取NTP伺服器位址,並配置到執行個體中。如果執行個體已經配置了相同的NTP地址,則不會重複配置。

  • 該外掛程式依賴內網訪問能力。

  • 該外掛程式依賴W32Time服務。

禁用Vminit的外掛程式

Vminit的所有外掛程式預設開啟,如果您是通過自訂鏡像去建立執行個體,且希望在執行個體啟動過程中不自動執行某些操作,可以在製作鏡像過程中禁用對應的外掛程式。

  1. C:\ProgramData\aliyun\vminit目錄下建立一個檔案。該檔案有如下要求:

    • 檔案名稱必須為customized_config

    • 檔案不能添加任何尾碼

    • 給檔案新增內容時,必須是JSON格式。

    說明

    ProgramData通常是隱藏目錄,請確保啟用了顯示隱藏的檔案、檔案夾和磁碟機選項,以便您能看到並正確操作隱藏專案。

  2. 在該檔案中進行配置,禁用外掛程式。例如:

    • 如果您不需要阿里雲自動設定執行個體主機名稱,希望自訂主機名稱,您可以禁用Plugin_Main_ConfigHostname外掛程式。在customized_config檔案中複製如下資訊(JSON格式)並儲存檔案。

      {
       "disabledPlugins": ["Plugin_Main_ConfigHostname"]
      }
    • 如果您不需要阿里雲自動設定執行個體主機名稱以及初始化資料盤,您可以同時禁用Plugin_Main_ConfigHostname和Plugin_Main_ConfigDisk外掛程式。在customized_config檔案中複製如下資訊(JSON格式)並儲存檔案。

      {
       "disabledPlugins": ["Plugin_Main_ConfigHostname", "Plugin_Main_ConfigDisk"]
      }
      說明

      如果您後續需要重新啟用某個外掛程式,可以在customized_config檔案中刪除對應外掛程式的配置內容。

Vminit版本資訊

Vminit版本

發布內容

發布日期

2.0.1.0

首次發布,支援外掛程式化可配置。

2023年09月

2.0.1.2

  • 清除Windows事件管理器中的報錯警示。

  • Userdata的Bat指令碼支援延遲變數。

2024年01月

說明

您可以通過C:\ProgramData\aliyun\vminit\vminit.exe檔案查看Vminit版本資訊。

常見問題

  1. 建立ECS執行個體時為什麼會有一次重啟動作?

    • 原因:在建立ECS執行個體過程中,即使您沒有指定主機名稱,系統也會預設分配一個主機名稱,而主機名稱需要系統重啟生效,因此在建立階段,會有一個重啟過程。

    • 解決方案:如果您不希望在建立階段有這個重啟動作,可以通過禁用Plugin_Main_ConfigHostname外掛程式來解決。

  2. 自訂鏡像中包含了開機執行修改主機名稱指令碼的內容,建立執行個體時為什麼會無限重啟?

    • 原因:阿里雲建立執行個體時會預設為執行個體分配一個主機名稱,與外掛程式自動修改主機名稱邏輯衝突。

    • 解決方案:可以通過禁用Plugin_Main_ConfigHostname外掛程式來解決。

  3. 為什麼通過公用鏡像建立ECS執行個體時會重啟兩次?

    公用鏡像相比自訂鏡像,會多一個系統準備(Sysprep)階段,這個階段會使系統重啟。