鏡像檢測功能用于檢測鏡像是否為有效鏡像、鏡像是否可以創建出功能齊全的ECS實例等。您可以在創建鏡像、導入鏡像等環節使用鏡像檢測功能,檢測完成后,您可以在鏡像控制臺查看鏡像檢測結果并針對檢測結果中的修復建議進行修復,提升鏡像質量,從而保證基于這些鏡像部署的ECS實例能夠穩定高效地運行。
鏡像檢測會在創建鏡像、導入鏡像完成后觸發,不會對創建鏡像、導入鏡像的流程產生任何影響(即使檢測失敗)。
鏡像檢測功能本身不會收取任何費用。
鏡像通過檢測功能后,會攜帶操作系統版本(
acs:ecs:image:osVersion
)和內核版本acs:ecs:image:kernelVersion
標簽,用于鏡像目錄對鏡像進行分類。
功能優勢
強烈建議您在創建鏡像、導入鏡像時配置鏡像檢測。配置鏡像檢測有如下優勢:
使用限制
鏡像檢測當前支持絕大多數的操作系統,但仍有部分操作系統不支持,請在使用鏡像檢測功能時選擇適用的操作系統版本。不支持的操作系統列表請參見鏡像檢測操作系統限制。
配置鏡像檢測
創建鏡像時配置檢測
ECS控制臺方式
目前,在ECS控制臺上創建自定義鏡像時已默認選擇執行鏡像檢測,保持不變即可。更多信息,請參見使用實例創建自定義鏡像和使用快照創建自定義鏡像。
OpenAPI方式
通過CreateImage接口設置入參DetectionStrategy=Standard
即可。可通過OpenAPI Explorer運行該接口,免去您計算簽名的困擾,也可以自動生成SDK代碼示例。
導入鏡像時配置檢測
ECS控制臺方式
目前,在控制臺上導入自定義鏡像時已默認選擇執行鏡像檢測,保持不變即可。更多信息,請參見導入自定義鏡像。
OpenAPI方式
通過ImportImage接口設置入參DetectionStrategy=Standard
即可。可通過OpenAPI Explorer運行該接口,免去您計算簽名的困擾,也可以自動生成SDK代碼示例。
查看鏡像檢測結果
ECS控制臺方式
在自定義鏡像頁面找到已創建的鏡像,等待鏡像狀態為可用之后,會自動執行鏡像檢測任務。當鏡像檢測結果列為檢測完成時,表示鏡像檢測完成。
將鼠標懸浮至檢測完成,然后單擊查看詳情即可查看詳細的鏡像檢測結果。
(條件必選)如果有待修復項,按照建議進行修復。
(僅適用于Linux)您可以單擊一鍵修復通過系統運維管理 OOS(CloudOps Orchestration Service)的公共模板ACS-ECS-RepairImage進行修復。
也可以根據鏡像詳情中的修復建議手動修復,鏡像檢測項的詳細說明及修復建議請參見檢測項說明。
OpenAPI方式
通過DescribeImages根據檢測鏡像的鏡像ID查詢即可。可通過OpenAPI Explorer運行該接口,即可免去您計算簽名的困擾,也可以自動生成SDK代碼示例。
返回值中DetectionOptions
即為檢測結果,其中Status
為檢測任務狀態,Item
是每個檢測項結果。
檢測項說明
Linux檢測項
Linux操作系統鏡像檢測項的詳細說明及修復建議如下表所示。
檢測項 | 檢測說明 | 修復建議 |
GUESTOS.Platform | 系統平臺,只能是Linux操作系統。 | 不涉及 |
GUESTOS.OSVersion | 系統版本。 | 不涉及 |
GUESTOS.Architecture | 系統架構。 | 不涉及 |
GUESTOS.RtcTimeMode | 鏡像硬件時鐘時區RTC (Real Time Clock) ,包括UTC和local。建議設置為標準的UTC模式。 | 如何設置硬件時鐘的時間標準為UTC,請參見Linux時間和時區說明。 |
GUESTOS.BootMode | 鏡像啟動模式,包括LEGACY和UEFI。 | 不涉及 |
GUESTOS.KernelVersion | 內核版本。 | 不涉及 |
GUESTOS.Virtio | 鏡像是否安裝virtio驅動。ECS實例運行需要相關虛擬化設備驅動支持,未安裝該驅動會導致實例啟動異常。 | 如何為鏡像安裝virtio驅動,請參見安裝virtio驅動。 |
GUESTOS.Nvme | 鏡像是否安裝NVMe驅動。部分ECS規格,例如ecs.g7se使用基于NVMe協議掛載的云盤,鏡像中需要安裝相關驅動。 | 如何為鏡像安裝NVMe驅動,請參見如何為已有自定義鏡像安裝NVMe驅動?。 |
GUESTOS.Fstab | 鏡像中/etc/fstab文件配置了系統磁盤設備掛載信息,錯誤的配置會導致系統啟動異常,例如配置的掛載設備信息不存在、設備UUID錯誤等。 | 如何正確配置/etc/fstab,請參見在fstab文件中配置UUID方式自動掛載數據盤。 |
GUESTOS.Grub | 鏡像中grub引導文件是否正常。例如device設備配置異常、相關設備不存在、UUID錯誤等,會導致系統啟動異常。 | 如何為鏡像生成正確的GRUB配置文件,請參見Linux實例的grub啟動配置錯誤。 |
GUESTOS.Dhcp | 鏡像中網絡配置文件是否設置為DHCP模式,如果鏡像中設置為靜態模式,會導致實例啟動后網絡配置異常。 | 如何設置鏡像網絡配置模式為DHCP,請參見如何在Linux鏡像中配置網絡為DHCP。 |
GUESTOS.Selinux | 鏡像是否關閉SELinux。云上鏡像不建議開啟SELinux,有可能會導致系統啟動異常。 | 如何關閉SELinux,請參見開啟或關閉SELinux。 |
GUESTOS.OnlineResizeFS | 鏡像是否支持根分區自動擴容。鏡像中安裝有cloud-init、growpart命令等,使用鏡像創建實例后,根分區會自動擴容。例如您的鏡像空間大小是20 GB,創建實例時系統盤大小為100 GB,則實例創建后,根分區會自動擴容至100 GB。 | 如何配置鏡像支持自動擴容,請參見安裝cloud-init。 |
GUESTOS.SystemImage | 鏡像是否是有效的系統盤鏡像,請不要導入ISO鏡像、空鏡像等無效鏡像。 | 不涉及 |
GUESTOS.CloudAssistant | 鏡像是否安裝云助手。云助手是為ECS打造的原生自動化運維工具,通過免密碼、免登錄、無需使用跳板機的形式,在ECS實例上實現批量運維、執行命令(Shell、PowerShell和Bat等)和發送文件等操作。建議您在鏡像中安裝云助手,幫助您高效運維ECS。 | 如何安裝云助手,請參見安裝云助手Agent。 |
GUESTOS.CloudInit | 鏡像中是否安裝cloud-init。cloud-init是標準的云服務器初始化配置服務,為實例配置hostname、密鑰、根分區擴容等。 | 如何為鏡像安裝cloud-init,請參見安裝cloud-init。 |
GUESTOS.SecurityCenterAgent | 鏡像是否安裝云安全中心Agent。云安全中心作為一個實時識別、分析和預警安全威脅的統一安全管理系統,為您提供安全態勢總覽、防勒索、防病毒、防篡改、合規檢查等安全能力,全方位檢測和防護您的服務器和Web應用安全。 | 如何為鏡像安裝云安全中心Agent,請參見安裝客戶端。 |
GUESTOS.SupportMocInstanceTypes | 檢測鏡像是否支持阿里云ECS神龍規格。 阿里云最新的ECS實例通常為神龍規格,例如ecs.g6、ecs.g7等。如果鏡像的系統和內核版本過低,在相關規格上啟動會有異常。具體的實例規格信息,請參見實例規格族。 |
|
Windows檢測項
Windows操作系統鏡像檢測項的詳細說明及修復建議如下表所示。
檢測項 | 檢測說明 | 修復建議 |
GUESTOS.Platform | 系統平臺,只能是Windows操作系統。 | 不涉及 |
GUESTOS.OSVersion | 系統版本。 | 不涉及 |
GUESTOS.Architecture | 系統架構。 | 不涉及 |
GUESTOS.KernelVersion | 內核版本。 | 不涉及 |
GUESTOS.Virtio | 鏡像中是否安裝了virtio驅動。ECS實例運行依賴相關虛擬化設備驅動,未安裝該驅動會導致實例啟動異常。 | 如何為鏡像安裝virtio 驅動,請參見安裝virtio驅動。 |
GUESTOS.BCD | 鏡像中的BCD文件是否正確。BCD文件丟失或者損壞會導致實例無法啟動。 | 請使用正確的BCD文件。 |
GUESTOS.Registry | 鏡像中的注冊表文件是否正確。注冊表文件丟失或者損壞會導致實例啟動異常。 | 請使用正確的注冊表文件。 |
GUESTOS.Hotfix | 鏡像中的補丁是否正確。缺少必要的補丁或者安裝了有問題的補丁,會導致實例啟動異常。 |
|
GUESTOS.Disk | 鏡像中的磁盤設置是否正確。如果在磁盤上有殘留的驅動項,可能會導致實例啟動異常。 | |
GUESTOS.Sysprep | 檢測鏡像制作時Sysprep進程是否完成。如果在制作過程中,強制系統關機等操作導致Sysprep進程中止,可能會導致實例啟動異常。 | 請重新制作鏡像,注意不要中斷系統的Sysprep進程。具體操作,請參見創建虛擬機并安裝操作系統。 |
GUESTOS.Update | 檢測鏡像制作時Update進程是否完成。如果在制作過程中,強制系統關機等操作導致Update進程中止,可能會導致實例啟動異常。 | 請重新制作鏡像,注意不要中斷系統的更新進程。具體操作,請參見創建虛擬機并安裝操作系統。 |
GUESTOS.Xen | 存在殘留的Xen驅動,可能會導致系統無法正常啟動。 | |
GUESTOS.CloudAssistant | 鏡像是否安裝云助手。云助手是為ECS打造的原生自動化運維工具,通過免密碼、免登錄、無需使用跳板機的形式,在ECS實例上實現批量運維、執行命令(Shell、PowerShell和Bat等)和發送文件等操作。建議您在鏡像中安裝云助手,幫助您高效運維ECS。 | 如何安裝云助手,請參見安裝云助手Agent。 |
GUESTOS.Server | 鏡像中的服務配置是否正確。如果配置了不允許安裝驅動,會導致實例更新驅動失敗。 | |
GUESTOS.DesktopConfig | 檢測桌面配置文件(desktop.ini)是否缺失。如果缺失,將導致桌面配置失效。 | 請配置正確的desktop.ini。 |
GUESTOS.BootMgr | 檢測系統引導管理器(BootMgr)是否缺失。如果缺失,將導致系統無法啟動。 | 請配置正確的BootMgr。 |
相關文檔
系統運維管理 OOS(CloudOps Orchestration Service)是全面、免費的云上自動化運維平臺,通過模板來定義所需要編排的運維操作。OOS提供的公共模板供您直接使用和參考,您也可以編寫自定義模板來實現您所需要的運維操作。更多信息,請參見模板概述。
鏡像服務商在云市場發布鏡像前或在本地自行制作自定義鏡像過程中,鏡像也是需要滿足與ECS實例規格適配的一些規范要求,以便與多種ECS實例規格良好適配。更多信息,請參見阿里云鏡像規范(Linux)和阿里云鏡像規范(Windows)。