作業系統營運常見問題

更新時間:
Copy as MD

更換作業系統問題

Linux系統使用問題

Windows系統使用問題

Red Hat鏡像使用問題

SUSE鏡像問題

CentOS鏡像問題

Ubuntu鏡像問題

FreeBSD鏡像問題

Fedora鏡像問題

Alibaba Cloud Linux系統問題

Alibaba Cloud Linux 通用問題

Alibaba Cloud Linux 3

Alibaba Cloud Linux 2

GuestOS常見問題

Linux作業系統(GuestOS)常見問題與解決方案

無法正常啟動

無法正常登入

無法訪問執行個體

網路不通

效能問題

Windows作業系統(GuestOS)常見問題與解決方案

無法正常登入

效能問題

  • CPU使用率是否過高

    如果CPU持續保持高使用率,則會對系統穩定性和業務運行造成影響。具體操作,請參見Windows執行個體CPU使用率較高問題的排查與處理

  • 檢查Windows作業系統的版本

    微軟已經於20200114日停止對Windows Server 2008Windows Server 2008 R2作業系統提供支援。因此阿里雲不再對使用上述作業系統的ECS執行個體提供支援人員。如果您有使用上述作業系統的ECS執行個體,請儘快更新至Windows Server 2012或以上版本。當前支援的鏡像請參見公用鏡像,您也可以在售賣頁查看。

  • 檢查磁碟容量

    Windows系統有時會出現C盤的磁碟空間不斷減小的情況,導致系統不能正常操作。具體操作,請參見Windows執行個體中C盤可用空間減少的排查思路

安裝AD網域控制站失敗問題

其他問題

附錄

如何更換作業系統(系統硬碟)?

您可以通過更換ECS執行個體的鏡像來更換作業系統(更換系統硬碟)

警告

更換作業系統(系統硬碟)後,原來的舊系統硬碟會被釋放,系統硬碟上的所有資料會被清除。建議您在操作之前為系統硬碟手動建立單個快照備份資料。

帳號A的伺服器製作鏡像後,能給帳號B更換作業系統使用嗎?

可以。帳號A需要先共用自訂鏡像給帳號B,然後帳號B再使用鏡像更換作業系統(更換系統硬碟)

更換作業系統時,如果鏡像中包含資料盤,可以通過該鏡像更換作業系統嗎?

您可以使用包含資料盤的鏡像更換作業系統,僅更換原執行個體的系統硬碟,不影響原執行個體的資料盤。

重要

如果更換作業系統使用的是包含資料盤的自訂鏡像,請確保業務中系統硬碟和資料盤之間沒有依賴關係,或變更後的系統硬碟對資料盤的操作不影響您的商務程序。例如,如果您的業務中存在系統硬碟向資料盤的讀寫資料操作,更換作業系統後,由於系統硬碟變動,可能導致業務出現讀寫資料盤異常等問題。

更換作業系統與重新初始化系統硬碟有什麼差異?

主要差異如下表所示:

差異項

重新初始化系統硬碟

更換系統硬碟(作業系統)

功能差異

初始化會還原雲端服務器的初始化狀態,初始化前後作業系統不變。

將現有的作業系統類型切換為其他類型的作業系統。

對系統硬碟的影響

  • 舊系統硬碟不會被釋放。

  • 系統硬碟資料會恢複到剛建立時的狀態,建立執行個體後安裝的應用程式和產生的資料都會被清除,建議您做好資料備份。

  • 系統硬碟ID、雲端硬碟類型、ECS執行個體的IP地址等均保持不變。

  • 更換作業系統後,原來舊的系統硬碟會被釋放。

  • 會清除系統硬碟上的所有資料,建議您做好資料備份。

  • 系統硬碟ID會變,但是雲端硬碟類型、ECS執行個體IP地址以及彈性網卡MAC地址保持不變。

對資料盤的影響

不會影響資料盤。

不會影響資料盤。

對快照的影響

  • 基於系統硬碟建立的快照可以用於復原雲端硬碟。

  • 基於系統硬碟建立的手動快照和自動快照均會保留。

  • 自動快照原則設定仍然有效,不需要重新設定。

  • 舊系統硬碟快照不能用於復原新系統硬碟,但可以用於建立自訂鏡像。

  • 基於舊盤手動建立的快照,不會被釋放。

  • 自動建立的快照,如果舊系統硬碟開啟自动快照随云盘释放,則自動快照會被自動刪除;如果未開啟自动快照随云盘释放,則到期後自動釋放。

  • 舊系統硬碟的自動快照策略將失效,需要重新設定。

計費情況

初始化系統硬碟不收費。初始化前後作業系統不變,計費項目不發生改變。

更換作業系統本身免費,以下情況會收取費用:

  • 如果更換的新鏡像是收費鏡像,則會收取鏡像費用。更多資訊,請參見鏡像計費

  • 如果更換時擴容了系統硬碟的雲端硬碟容量,則會收取新增容量的費用。更多資訊,請參見Block Storage計費

通過更換作業系統擴容系統硬碟失敗,如何處理?

通過更換作業系統(系統硬碟)對系統硬碟進行擴容時,可能會因為逾時導致分區擴容不生效。針對未擴容成功的系統,請參考擴容分區與檔案系統(Linux)手動擴充分區。該方式只是擴充系統硬碟分區,不會影響系統的版本。

更換作業系統時,如果選不到目標鏡像並且提示“該執行個體為非IO最佳化執行個體”怎麼辦?

問題原因

執行個體和鏡像的I/O最佳化屬性需要匹配,即I/O最佳化執行個體只能使用IO最佳化鏡像,非I/O最佳化執行個體只能使用非I/O最佳化鏡像。因此,當執行個體與鏡像的I/O最佳化屬性不匹配時,在更換作業系統的過程中,將無法選擇目標鏡像,並會提示“該執行個體為非I/O最佳化執行個體,在更換作業系統時只能選擇支援非I/O最佳化的鏡像”。

解決方案
  1. 現售的執行個體類型均為I/O最佳化執行個體,建議您更換為新的執行個體類型

  2. 選擇支援I/O最佳化執行個體的鏡像來更換作業系統(更換系統硬碟)

說明
  • 您可以通過DescribeInstances介面的IoOptimized參數查詢執行個體的I/O屬性。

  • 您可以通過DescribeImages介面的IsSupportIoOptimized參數查詢鏡像的I/O屬性。

如何重設系統時區為本地時區

單台執行個體可以通過timedatectl set-timezone 本地時區xxx/xxx在系統內直接修改為本地時區。

多台執行個體可以用雲助手功能批量修改的功能。

Windows Server with Container鏡像中包含的容器運行時是什麼類型?

由於微軟對容器運行時支援策略變更(詳細資料請參考Supported Container Runtime on Windows Server),阿里雲ECS2024年開始更新的Windows Server with Container鏡像不再預裝MCR執行階段程式庫,替換為開源的containerd容器執行階段程式庫。如果使用者對MCR有需求,請自行從Mirantis購買和安裝Mirantis Container Runtime

20240301日開始,阿里雲ECS產品提供的Windows Server with Container鏡像中包含以下容器運行相關組件:

  • Windows Server容器功能組件,不支援Hyper-V隔離。詳細資料請參考 Windows and containers

  • Containerd執行階段程式庫,組件版本為1.7.13。更多資訊,請參考containerd

  • 管理容器的命令列介面nerdctl.exe,組件版本為1.7.13。更多資訊,請參考nerdctl

  • Windows容器網路CNI外掛程式nat.exe,組件版本為1.0.0。更多資訊,請參考windows-container-networking

為什麼Windows系統在執行userdata時寫入資料失敗?

問題描述

執行userdata寫入資料到 C:\Users\Administrator\Desktop\userData_test.txt路徑失敗,提示未能找到路徑。

問題原因

Windows系統中,C:\Users及其子目錄是使用者設定檔和資料的預設儲存位置,需要登入系統後才可以訪問,而在系統初始化執行userdata階段實際還未登入系統,所以寫入資料到C:\Users目錄會失敗。

解決方案

修改userdata中寫入資料的路徑為其他路徑,例如:

[bat]
echo "userData" > C:\userData_test.txt

具體操作,請參見自訂執行個體初始化配置

Windows Server 2025鏡像有哪些限制?

使用特定KMS網域名稱啟用VPC網路中的Windows Server系統?

VPC網路中,您需要使用特定的KMS網域名稱來啟用Windows系統執行個體。具體操作,請參見如何使用KMS網域名稱啟用VPC網路中的Windows執行個體

VPC網路中,您需要使用特定的KMS網域名稱來啟用Windows系統執行個體。具體操作,請參見VPC網路下Windows執行個體啟用方法

VPC網路中,您需要使用特定的KMS網域名稱來啟用Windows系統執行個體。具體操作,請參見VPC網路下Windows執行個體啟用方法

執行個體的作業系統為Windows Server,現在提示Windows副本不是正版怎麼辦?

需要啟用Windows。具體操作,請參見使用KMS網域名稱啟用ECS執行個體的正版Windows Server系統

頻繁調用Windows系統API:timeBeginPeriod導致系統時間異常,如何解決?

Windows Server 2008上頻繁調用系統API:timeBeginPeriod,導致Windows系統時間變慢或變快。您可以參考如下操作進行解決:

說明

可能會造成系統時間精度變化的系統函數,請參見微軟官方文檔

  1. 遠程登入ECS執行個體。

    具體操作,請參見使用Workbench登入Windows執行個體

  2. 下載工具

  3. 解壓CheckTimeBeginPeriod.zip

  4. 解壓bin.zip並進入bin目錄,然後雙擊.exe檔案。

    • 64位作業系統,雙擊InjectDllx64.exe

    • 32位作業系統,雙擊InjectDllx86.exe

    列印的進程就是調用timeBeginPeriod的進程。

  5. 根據業務實際情況,停止或更新調用timeBeginPeriod的程式。

如果問題仍未解決,您可以直接提交工單尋求支援人員。

Windows雲端服務器使用IE瀏覽器開啟網站提示“增強安全配置正在阻止來自下列網站內容”如何處理?

Windows作業系統的Elastic Compute Service或者Simple Application Server中,使用IE瀏覽器開啟網站時,提示“增強安全配置正在阻止來自下列網站內容”報錯,解決方案請參見Windows雲端服務器使用IE瀏覽器開啟網站提示“增強安全配置正在阻止來自下列網站內容”如何處理?

更換Windows執行個體的系統硬碟或者重新初始化系統硬碟為什麼userdata不會自動執行?

問題原因

Windows系統的ECS執行個體正常啟動後,會在C:\ProgramData\aliyun\vminit\INSTANCE_執行個體ID}\METASERVER路徑下建立快取檔案,該檔案用於標記執行個體是否已經初始化。如果您通過該ECS執行個體建立了自訂鏡像,並用這個自訂鏡像重新初始化系統硬碟或更換系統硬碟,在C:\ProgramData\aliyun\vminit\INSTANCE_ID\METASERVER路徑下會找到與當前重設執行個體ID一致的快取檔案。由於Vminit組件會根據快取檔案的存在與否來判斷ECS執行個體是否是初次啟動。如果找到與當前重設執行個體ID一致的快取檔案,Vminit組件會判斷ECS執行個體不是初次啟動,將不會自動執行userdata指令碼。

說明

Vminit在建立Windows執行個體時會自動安裝,為Windows執行個體在啟動階段提供了初始化配置的能力,類似於Linux系統的cloud-init。關於Vminit組件的更多資訊,請參見初始化工具介紹

解決方案

建議您在通過該ECS執行個體建立自訂鏡像前,檢查並刪除C:\ProgramData\aliyun\vminit\INSTANCE_{執行個體ID}\METASERVER路徑下的快取檔案。

Windows系統是否有設定可以讓一個進程的線程均勻分布在各個 CPU 上?

沒有。

Windows作業系統層面沒有直接的設定來強行讓特定進程的線程均勻分布。調度器是基於系統所有線程的整體行為工作的。如果需要控制特定進程的線程分布,通常需要藉助第三方工具,或者在程式碼中手動設定線程的親和性(Affinity)。

Windows線程調度是否會考慮CPU快取命中率?

會考慮,為了最大化CPU快取命中率(Cache Hit),Windows在調度時會重點參考以下兩個因素:

  • 理想處理器(Ideal processor):線程建立時由系統分配的處理器,通常通過輪詢方式讓新線程分布在不同CPU上。

  • 上次處理器(Last processor):線程上一次運行所在的處理器。

Windows線程在什麼調度情境下會重新計算並遷移到其他 CPU 運行?

線上程運行過程中,主要涉及以下三種調度情境:

  • 時間片輪轉:當分配的時間片用完後,線程會被放回同一CPU的就緒(ready)隊列等待,預設仍在原CPU上運行,不會重新計算下次啟動並執行CPU

  • 搶佔式調度:當高優先順序線程搶佔執行時,低優先順序線程會被強制放回CPU隊列,下次運行通常仍在原CPU,不需要重新計算。

  • 自願等待:線程因等待資源(如 I/O、鎖)而主動掛起,當資源就緒恢複運行時,系統會重新計算 CPU進行分配,優先尋找理想處理器或上次啟動並執行處理器。

使用Red Hat Enterprise Linux作業系統過程中遇到問題,如何擷取支援人員?

與傳統的登入Red Hat系統提交售後請求不同的是,您可以直接提交工單尋求支援人員,阿里雲售後工程師會協助解決您遇到的問題。如果涉及阿里雲無法解決的Red Hat Enterprise Linux作業系統問題,阿里雲會將問題提交至Red Hat,由Red Hat負責提供最終的支援人員。

阿里雲提供的Red Hat Enterprise Linux鏡像包含哪些Red Hat官方訂閱?

阿里雲提供的Red Hat鏡像包含Red Hat Enterprise Linux(RHEL)產品訂閱。相關軟體倉庫源如下:

  • RHEL 7

    • Red Hat Enterprise Linux 7 Server - Extras from RHUI (RPMs)

    • Red Hat Enterprise Linux 7 Server - Optional from RHUI (RPMs)

    • Red Hat Enterprise Linux 7 Server from RHUI (RPMs)

  • RHEL 8&RHEL 9

    • BaseOS

    • AppStream

    最新的RHEL 8&RHEL 9鏡像中,還將預設預置CodeReady Linux BuilderSupplementary兩個倉庫。如果您購買的RHEL 8&9執行個體中需要使用這兩個軟體倉庫,請聯絡阿里雲售後擷取。

    更多關於RHEL 8&RHEL 9的軟體倉庫源及軟體包列表詳情,請參考RHEL 8軟體包清單RHEL 9軟體包清單

阿里雲Red Hat鏡像僅提供RHEL產品軟體包,如果您需要安裝RHEL以外產品的軟體包(例如Red Hat Satellite、Red Hat Ceph Storage),需要您自行購買紅帽訂閱,並註冊主機,訂閱相關產品。

購買阿里雲上的Red hat作業系統顯示未訂閱(Unknown),是什麼原因?

這是正常現象。您在購買Red Hat Enterprise Linux鏡像時,可以從阿里雲提供的更新源中擷取Red Hat的更新。該方式與傳統模式的區別在於,您將不會獲得單獨的Red Hat帳號,用於從Red Hat提供的更新源擷取更新。因此,您在執行個體內部執行subscription-manager命令查看訂閱狀態時,如下回顯資訊所示,系統將是未訂閱狀態。

+-------------------------------------------+
 System Status Details
+-------------------------------------------+
Overall Status: Unknown

System Purpose Status: Unknown

SUSE作業系統提供哪些服務支援?

阿里雲線上售賣的SLES(SUSE Linux Enterprise Server)作業系統會與SUSE更新源保持定時同步。使用SLES公用鏡像建立的執行個體,其作業系統支援服務包含在阿里雲的企業級支援服務中。如果您購買了企業級支援服務,可以提交工單擷取支援人員,阿里雲工程師團隊會協助您解決SLES作業系統上發生的問題。

是否可以查看Alibaba Cloud Linux 2組件的原始碼?

Alibaba Cloud Linux 2遵循開源協議。您可以通過yumdownloader工具或者在阿里雲開來源站點點下載原始碼包,也可以從GitHub網站下載Alibaba Cloud Linux 2核心原始碼樹,詳情請參見GitHub

Alibaba Cloud Linux 2是否與歷史版本的Aliyun Linux向後相容?

Alibaba Cloud Linux 2完全相容Aliyun Linux 17.01。

說明

如果您使用了自行編譯的核心模組,可能需要在Alibaba Cloud Linux 2上重新編譯才能正常使用。

Alibaba Cloud Linux 2上支援運行哪些第三方應用程式?

Alibaba Cloud Linux 2CentOS 7.6.1810發行版保持二進位相容,在此基礎上提供差異化的作業系統功能。

CentOSRHEL相比,Alibaba Cloud Linux 2的優勢體現在:

  • 滿足您的作業系統新特性訴求,更快的發布節奏,以及更新的Linux核心、使用者態軟體及工具包。

  • 開箱即用,最簡使用者配置,最短時間服務就緒。

  • 最大化使用者效能收益,與雲基礎設施聯動最佳化。

  • RHEL相比沒有運行時計費,與CentOS相比有商業支援。

Alibaba Cloud Linux 2怎樣保證資料安全?

Alibaba Cloud Linux 2二進位相容CentOS 7.6.1810/RHEL 7.6,遵從RHEL的安全規範。具體體現在以下幾個方面:

  • 使用業內標準的漏洞掃描及安全性測試工具,定期做安全掃描。

  • 定期評估CentOS 7CVE補丁,修補作業系統的安全性漏洞。

  • 與安全團隊合作,支援阿里雲現有的OS安全強化方案。

  • 使用CentOS 7相同的機制,發布使用者安全警告及補丁更新。

Alibaba Cloud Linux 2是否支援資料加密?

Alibaba Cloud Linux 2保留CentOS 7的資料加密工具包,並確保CentOS 7KMS協同工作的加密方案可以在Alibaba Cloud Linux 2得到支援。

怎樣設定Alibaba Cloud Linux 2的有關許可權?

Alibaba Cloud Linux 2屬於與CentOS 7同源的作業系統。CentOS 7的管理員可以無縫地使用完全一致的管理命令做相關的使用權限設定,Alibaba Cloud Linux 2的預設使用權限設定與阿里雲CentOS 7鏡像完全一致。

在阿里雲ECS中運行Alibaba Cloud Linux是否收費?

Alibaba Cloud Linux鏡像本身是免費的,但是您需要為ECS執行個體等其他資源的支付費用。

Alibaba Cloud Linux支援哪些阿里雲ECS執行個體類型?

Alibaba Cloud Linux支援大部分阿里雲ECS執行個體類型,包括ECS Bare Metal Instance。

說明

Alibaba Cloud Linux不支援使用Xen虛擬機器平台的執行個體。

Alibaba Cloud Linux是否支援32位應用程式和庫?

暫不支援。

Alibaba Cloud Linux是否支援圖形化介面(GUI)?

不承諾支援。您可以參考官方CentOS自行安裝GUI,具體操作,請參見Linux執行個體安裝圖形化介面

Linux系統的ECS執行個體中,執行wget命令時提示“command not found”錯誤怎麼辦?

問題現象

Linux執行個體中執行wget命令時提示“command not found”,執行yum install wget命令時提示“already installed and latest version”。

問題原因

檢查/usr/bin目錄中沒有wget命令檔案,但存在wge命令的檔案,可能是由於命令檔案被重新命名導致報錯。

解決方案

請您參考以下步驟進行操作。

  1. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 執行以下命令查詢wge命令的路徑。

    whereis wge

    命令返回結果如下,表示wge命令路徑為/usr/bin/wge

    wge:/usr/bin/wge
  3. 根據上述的路徑,執行以下命令重新命名即可。

    cp /usr/bin/wge /usr/bin/wget
  4. 重新執行wget命令,若不再提示以上報錯資訊,則表示問題已修複。

Linux執行個體系統的ECS執行個體中,使用wget命令下載時提示“Permission denied”錯誤怎麼辦?

問題現象

Linux系統的ECS執行個體中,使用wget下載時提示以下資訊。

wget bash: /usr/bin/wget: Permission denied
問題原因

Linux執行個體系統的ECS執行個體中,wget命令許可權為000,沒有讀、寫及執行許可權。

解決方案

請您參考以下步驟進行操作。

  1. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 執行以下命令查看wget命令許可權。

    ls -l /usr/bin/wget

    命令返回結果如下,說明wget命令許可權為000,沒有讀、寫、執行許可權。

    -------- 1 root root 366800 Oct 31 2014 /usr/bin/wget
  3. 執行以下命令,查看/usr/bin/wget目錄屬性。

    lsattr /usr/bin/wget

    命令返回結果如下,表示/usr/bin/wget目錄屬性為i(不允許在該目錄下建立和刪除檔案)。

    ----i--------e- /usr/bin/wget
  4. 執行以下命令,移除/usr/bin/wget目錄i屬性。

    chattr -i /usr/bin/wget
  5. 執行以下命令,對/usr/bin/wget目錄進行授權。

    chmod 755 /usr/bin/wget 
  6. 重新執行wget命令,若不再提示以上報錯資訊,則表示問題已修複。

安裝AD網域控制站失敗,提示“安裝Active Directory網域服務二進位檔案失敗”錯誤怎麼辦?

問題現象

Windows系統的ECS執行個體中,安裝AD網域控制站失敗,提示“安裝Active Directory網域服務二進位檔案失敗”錯誤。

問題原因

通過開啟事件檢視器發現報錯,Remote Registry服務被禁止,無法啟動該服務。

解決方案

請參考以下操作啟動Remote Registry服務。

  1. 遠端連線Windows執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Windows執行個體

  2. 依次選擇開始 > 運行,輸入services.msc,然後單擊確認

  3. 服務視窗中,雙擊Remote Registry服務,進入Remote Registry屬性視窗,設定以下選項。

    • 啟動類型地區,選擇自動選項。

    • 服務狀態地區,單擊啟動,確保Remote Registry服務正常啟動。

  4. 單擊確定,儲存設定。

安裝AD網域控制站時,提示“此電腦具有動態分配的IP地址”怎麼辦?

問題現象

Windows系統的ECS執行個體中安裝AD網域控制站時,提示“此電腦具有動態分配的IP地址”。

問題原因

Windows系統的ECS執行個體上至少有一個實體網路介面卡未將靜態IP地址分配給其IP屬性。

解決方案
  1. 遠端連線Windows執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Windows執行個體

  2. 安裝AD網域控制站。

  3. 在安裝AD域時彈出的靜態IP分配選項框中,單擊

說明

LoopBack使用了DHCP方式,可以在未分配靜態IP地址的情況下繼續執行操作。

安裝AD網域控制站時,提示“0x0000232B RC0DE_NAME_ERROR”錯誤碼怎麼辦?

問題現象

Windows系統的ECS執行個體中安裝AD網域控制站時,提示“0x0000232B RCODE_NAME_ERROR”錯誤碼。

問題原因

可能是由於DNS伺服器中IP地址配置錯誤導致。

解決方案

請參考以下操作將Slave的內外網網卡的DNS伺服器全部修改為Master的私網地址。

  1. 遠端連線Windows執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Windows執行個體

  2. 進入Internet協議版本4(TCP/IPv4)屬性視窗,修改DNS伺服器位址,然後單擊確定

    說明

    更改DNS伺服器位址為Master實際的私網地址。

    p13294

  3. 檢查是否能PingDNS伺服器IP地址。

如何處理CentOS DNS解析逾時?

問題原因

CentOS 6CentOS 7DNS解析機制變動,導致20170222日以前建立的ECS執行個體或使用20170222日以前的自訂鏡像建立的CentOS 6CentOS 7執行個體可能出現DNS解析逾時的情況。

解決方案

請按下列步驟操作修複此問題:

  1. 下載指令碼fix_dns.sh

  2. 將下載的指令碼放至CentOS系統的/tmp目錄下。

  3. 運行bash /tmp/fix_dns.sh命令,執行指令碼。

指令碼的作用和邏輯說明如下:

  • 指令碼作用

    判斷DNS解析檔案/etc/resolv.conf中是否存在options>single-request-reopen配置。更多資訊,請參見resolv.conf檔案說明

    CentOS 6CentOS 7DNS解析機制,使用相同的網路五元組發送IPV4 DNS請求和IPV6 DNS請求,此時應開啟single-request-reopen配置。開啟該配置後,一旦需要處理同一socket發送的兩次請求時,解析端會在發送第一次請求後關閉socket,並在發送第二次請求前開啟新的socket。配置成功後,無需重啟執行個體即可生效。

  • 指令碼邏輯

    1. 判斷執行個體系統是否為CentOS。

      • 如果執行個體為非CentOS系統(如UbuntuDebian):指令碼停止工作。

      • 如果執行個體為CentOS系統:指令碼繼續工作。

    2. 查詢解析檔案/etc/resolv.confoptions的配置情況。

      • 如果不存在options配置:

        預設使用阿里雲options配置options timeout:2 attempts:3 rotate single-request-reopenoptions timeout

      • 如果存在options配置:

        • 不存在single-request-reopen配置,則在options配置中追加該項。

        • 存在single-request-reopen配置,則指令碼停止工作,不更改DNS nameserver的配置。

如何檢查與修複CentOS 7執行個體和Windows執行個體IP地址缺失問題?

問題原因及解決方案,請參見檢查與修複CentOS 7 執行個體和Windows執行個體IP地址缺失問題

CentOS 7.9 ARM系統無法產生dump檔案如何處理?

問題現象

CentOS 7.9 ARM系統宕機後,通過ls /var/crash查詢dump檔案,沒有產生vmcore檔案。

image.png

問題原因

CentOS 7.9 ARM系統帶有CONFIG_ARM64_USER_VA_BITS_52=y特性的核心,系統中原生內建的makedumpfile軟體版本與核心版本不匹配,因此無法產生dump檔案。

解決方案

重要

該方案僅適用於已正確開啟kdump服務的系統。如果您沒有開啟kdump服務且按照本文操作修複問題,請在proc/cmdline檔案中手動設定crashkernel參數。

  1. 運行以下命令,下載相應的kexec-tools包。

    wget http://mirrors.aliyun.com/centos-vault/7.9.2009/os/Source/SPackages/kexec-tools-2.0.15-51.el7.src.rpm
  2. 運行以下命令,安裝RPM包。

    rpm -ivh kexec-tools-2.0.15-51.el7.src.rpm
  3. 運行以下命令,下載patch補丁檔案。

    cd /root/rpmbuild/SOURCES
    wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/patch/rhelonly-kexec-tools-2.0.20-makedumpfile-arm64-Add-support-for-ARMv8.2-LVA-52-bi.patch
  4. 運行以下命令,修改kexec-tools.spec檔案。

    1. 開啟kexec-tools.spec檔案。

      cd /root/rpmbuild/SPECS/
      vi kexec-tools.spec
    2. i鍵進入編輯模式,並在檔案相應位置加入如下兩行內容。

      Patch999: rhelonly-kexec-tools-2.0.20-makedumpfile-arm64-Add-support-for-ARMv8.2-LVA-52-bi.patch
      %patch999 -p1

      添加位置如下:

      image.png

      image.png

    3. Esc鍵退出編輯模式,並輸入:wq儲存退出。

  5. 運行以下命令,檢查安裝依賴。

    yum-builddep kexec-tools.spec 
  6. 運行以下命令,構建RPM包。

    yum -y install rpm-build
    rpmbuild -ba kexec-tools.spec
  7. 運行以下命令,安裝修改後的RPM包。

    cd /root/rpmbuild/RPMS/aarch64
    rpm -ivh kexec-tools-2.0.15-51.el7.aarch64.rpm

如果再次發生宕機,通過ls -lh /var/crash查詢dump檔案,可以正常產生vmcore檔案,表示問題已解決。

image.png

  • 如何解決RedHat 8.1/8.2鏡像在ECS Bare Metal Instance執行個體規格類型系列的ECS執行個體下啟動慢的問題?

    ECS Bare Metal Instance執行個體規格類型系列的ECS執行個體中,RedHat 8.1/8.2鏡像相較於RedHat 7鏡像啟動時間長度多1~2分鐘。為解決該問題,您可以在RedHat 8.1/8.2系統的/boot/grub2/grubenv檔案中,將核心啟動參數console=ttyS0 console=ttyS0,115200n8修改為console=tty0 console=ttyS0,115200n8,然後重啟伺服器使配置生效。

為什麼Ubuntu某些版本的ECS執行個體中啟動Server Guard進程後系統負載較高?

在某些版本的Ubuntu(例如Ubuntu 18.04)的ECS執行個體中,啟動Server Guard進程(AliYunDun)後,系統平均負載較高。

具體的原因和解決方案,請參見Ubuntu 18.04版本的ECS執行個體中啟動Server Guard進程後系統負載較高

Ubuntu系統服務為何會被自動重啟?

Ubuntu系統中預設會自動更新軟體包,服務為unattended-upgrade,此服務為自動運行,會定時從apt源檢測軟體包或者驅動是否存在更新,若存在,會更新軟體包和驅動,會導致相關服務被自動重啟,如不需要自動更新,建議禁用此服務。

systemctl stop unattended-upgrade systemctl disable unattended-upgrade

FreeBSD系統如何打補丁編譯核心?

阿里雲的FreeBSD公用鏡像已為核心添加了補丁,已滿足系列V及以上的執行個體規格類型系列的啟動需求。具體的執行個體規格類型系列可通過DescribeInstanceTypeFamilies介面的Generation參數查詢。

以下情況可能導致系統無法正常啟動,您可以通過FreeBSD核心源碼打補丁編譯核心的方式,避免或解決系統無法啟動的問題。

  • 使用非阿里雲提供的FreeBSD鏡像及相關自訂鏡像建立ECS執行個體時,系列V及以上執行個體規格類型系列的ECS執行個體可能出現無法正常啟動的情況。

  • 使用FreeBSD公用鏡像建立ECS執行個體,並使用了freebsd-update等更新核心補丁,可能會導致系列V及以上執行個體規格類型系列的ECS執行個體無法正常啟動。

FreeBSD 13及以上不需要打補丁。本樣本以FreeBSD 12.3為例,介紹如何使用FreeBSD核心源碼打補丁編譯核心。

  1. 下載並解壓FreeBSD核心源碼。

    wget http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/amd64/12.3-RELEASE/src.txz -O /src.txz
    cd /
    tar -zxvf /src.txz
  2. 下載補丁包。

    本樣本中,為virtio驅動打補丁包0001-virtio.patch

    cd /usr/src/sys/dev/virtio/
    wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/0001-virtio.patch
    patch -p4 < 0001-virtio.patch
  3. 複製核心檔案,並編譯安裝核心。

    make -j<N>表示指定編譯時間的並行數,需要根據您執行編譯的環境配置來決定。例如,1 vCPU環境建議設定-j2,即vCPU核心數與變數N的比值為1:2

    cd /usr/src/
    cp ./sys/amd64/conf/GENERIC .
    make -j2 buildworld KERNCONF=GENERIC
    make -j2 buildkernel KERNCONF=GENERIC
    make -j2 installkernel KERNCONF=GENERIC
  4. 編譯完成後,刪除源碼。

    rm -rf /usr/src/*
    rm -rf /usr/src/.*

FreeBSD系統在KVM環境無法找到系統硬碟,如何處理?

問題現象

FreeBSD系統在KVM虛擬化環境上VNC登入時,無法找到系統硬碟,無法進入系統,如下圖所示。無法進入根分區

解決方案

  1. VNC中輸入?,查看相關rootfsufsid。ufsid

  2. 繼續輸入ufs:/dev/ufsid/5565b5a09045****,按斷行符號即可正常進入作業系統內部。

  3. 輸入使用者名稱和密碼,登入系統。

  4. 運行以下命令,查看/etc/fstab配置。

    cat /etc/fstab

    如下圖所示,說明/etc/fstab配置是UUID的掛載方式。但是FreeBSD系統並不支援UUID的掛載方式,需要修改為ufsid方式。檢查/etc/fstab配置

  5. FreeBSD系統的掛載方式修改為ufsid。

    1. 運行以下命令,開啟/etc/fstab

      vi /etc/fstab
    2. i鍵進入編輯模式。

    3. 修改UUID=5565b5a09045****/dev/ufsid/5565b5a09045****

    4. 修改完成後按Esc鍵,並輸入:wq後按下斷行符號鍵,儲存並退出。

  6. 運行以下命令,重啟系統使配置生效。

    reboot 
  • 為什麼我無法使用ssh-rsa簽名演算法的SSH金鑰組遠端連線Fedora 33 64位系統的執行個體?

    當您使用Fedora 33 64位作業系統的ECS執行個體時,如果登入憑證設定的是ssh-rsa簽名演算法的SSH金鑰組,可能無法順利使用SSH遠端連線執行個體。您可以通過以下任一方式解決該問題:

    • ssh-rsa簽名演算法的SSH金鑰組替換為ECDSA簽名演算法等其他簽名演算法的SSH金鑰組。

    • 在系統中運行update-crypto-policies --set LEGACY命令,將加密策略POLICY切換為LEGACY,即可繼續使用ssh-rsa簽名演算法的SSH金鑰組。

  • 為什麼使用Fedora CoreOS鏡像建立部分執行個體後,CPU資訊只有執行個體規格的一半?

    使用Fedora CoreOS鏡像建立部分執行個體(例如,通用型執行個體規格類型系列g5)後,執行lscpu命令查看CPU資訊,On-line CPU(s) list的總個數只有執行個體實際規格的一半。例如,建立執行個體時選擇的CPU2核,則On-line CPU(s) list個數只有1個。樣本如下圖所示。lscpu

    說明

    On-line CPU(s) list參數值代表CPU編號,圖中樣本表示只有0CPU可用。

    這是因為Fedora CoreOS鏡像的核心預設配置了mitigations=auto,nosmt啟動參數,會自動為有漏洞的系統禁用同步多線程技術SMT(Simultaneous Multi-Threading ),導致可用CPU減半。mitigations=auto,nosmt參數可以通過執行cat /proc/cmdline命令查看。

    關於SMT的更多資訊,請參見Automatically disable SMT when needed to address vulnerabilitiesPolicy for disabling SMT

Linux作業系統(GuestOS)常見問題與解決方案附錄

  • 為什麼ECS預設沒有啟用虛擬記憶體或Swap說明?

    Swap分區或虛擬記憶體檔案,是在系統實體記憶體不夠用的時候,由系統記憶體管理程式將那些很長時間沒有操作的記憶體資料,臨時儲存到Swap分區或虛擬記憶體檔案中,以提高可用記憶體額度的一種機制。

    但是,如果在記憶體使用量率已經非常高,而同時I/O效能也不是很好的情況下,該機制其實會起到相反的效果。阿里雲ECS雲端硬碟使用了Distributed File System作為雲端服務器的儲存,對每一份資料都進行了強一致的多份拷貝。該機制在保證使用者資料安全的同時,由於3倍增漲的I/O操作,會降低本地磁碟的儲存效能和I/O效能。

    綜上,為了避免當系統資源不足時進一步降低ECS雲磁碟的I/O效能,Windows系統執行個體預設沒有啟用虛擬記憶體,Linux系統執行個體預設未配置Swap分區。

  • 如何在公用鏡像中開啟kdump?

    公用鏡像中預設未開啟kdump服務。若您需要執行個體在宕機時,產生core檔案,並以此分析宕機原因,請參見以下步驟開啟kdump服務。本步驟以公用鏡像CentOS 7.2為例。實際操作時,請以您的作業系統為準。

    1. 設定core檔案組建目錄。

      1. 運行vim /etc/kdump.conf開啟kdump設定檔。

      2. 設定pathcore檔案的組建目錄。本樣本中,在/var/crash目錄下產生core檔案,則path的設定如下。

        path /var/crash
      3. 儲存並關閉/etc/kdump.conf檔案。

    2. 開啟kdump服務。

      根據作業系統對命令的支援情況,選擇開啟方式。

      • 方法一:依次運行以下命令開啟kdump服務。

        systemctl enable kdump.service
        systemctl start kdump.service
      • 方法二:依次運行以下命令開啟kdump服務。

        chkconfig kdump on
        service kdump start
      • 方法三:如果您的伺服器已安裝雲助手,可參考如何解決執行個體遷移後的宕機問題?開啟kdump服務。

  • Linux作業系統配置IPv6地址後,安裝了NTP服務的伺服器時間無法同步,如何處理?

    問題現象

    在伺服器上執行ntpq -p同步時間時,返回逾時,如下圖所示。逾時

    解決方案

    說明

    本方法適用於CentOS 7及以下、Ubuntu 20.04及以下、Anolis OS(ANCK\RHCK)、Alibaba Cloud Linux、Debian等系列作業系統。

    1. 遠端連線Linux執行個體。

      具體操作,請參見使用Workbench登入Linux執行個體

    2. 運行以下命令,修改/etc/ntp.conf設定檔。

      vi /etc/ntp.conf
    3. i鍵進入編輯模式。

    4. 在檔案中添加restrict -6 ::1內容,如下圖所示。新增內容

    5. 修改完成後按Esc鍵,並輸入:wq後按下斷行符號鍵,儲存並退出。

    6. 運行以下命令,重啟NTP服務。

      systemctl restart ntp 
  • 為什麼使用自訂鏡像建立的執行個體,熱插拔雲端硬碟/網卡會失敗?

    問題現象

    熱插拔雲端硬碟指執行個體處於運行中狀態時掛載/卸載雲端硬碟;熱插拔網卡指執行個體處於運行中狀態時綁定/解除綁定彈性網卡。

    阿里雲支援熱插拔雲端硬碟和網卡,但熱插拔是否成功需要作業系統核心(Kernel)支援。如果作業系統核心不支援,則會出現以下問題:

    • 掛載雲端硬碟或綁定彈性網卡後,在作業系統內部查看不到對應的裝置。

    • 卸載雲端硬碟或解除綁定彈性網卡失敗。

    解決方案

    普通雲端服務器和裸金屬伺服器的熱插拔需要核心支援的功能不同,建議核心都支援PCI(Peripheral Component Interconnect)、ACPI(Advanced Configuration and Power Management Interface)熱插拔功能(除CentOS 5等低版本系統外,一般都預設開啟)。您可以通過以下步驟查看核心是否開啟PCI/ACPI熱插拔功能。

    1. 遠端連線Linux執行個體。

      具體操作,請參見使用Workbench登入Linux執行個體

    2. 執行如下命令,查看當前執行個體核心版本。

      uname -r

      返回資訊如下所示,表示當前系統核心版本為3.10.0-1127.19.1.el7.x86_64

      image.png

    3. 執行如下命令,查看/boot目錄下的檔案。

      ll /boot

      返回資訊如下所示,config-3.10.0-1127.19.1.el7.x86_64即為系統核心的設定檔。

      image.png

    4. 執行如下命令,查看系統核心設定檔。

      cat /boot/config-3.10.0-1127.19.1.el7.x86_64
      • 當以下配置項都是y,表示該功能已經編譯進核心,作業系統支援對應的熱插拔。

        CONFIG_HOTPLUG_PCI_PCIE=y
        CONFIG_HOTPLUG_PCI=y
        CONFIG_HOTPLUG_PCI_ACPI=y
      • 當某個配置項是is not set ,表示核心未編譯該特性,需要重新編譯核心以支援該特性。

      • 當某個配置項是m ,表示編譯成module,例如以下CONFIG_HOTPLUG_PCI_ACPI是編譯成module的,需要載入對應的module。

        CONFIG_HOTPLUG_PCI_PCIE=y
        CONFIG_HOTPLUG_PCI=y
        CONFIG_HOTPLUG_PCI_ACPI=m

        CentOS 5.x作業系統2.6的核心為例,CONFIG_HOTPLUG_PCI_ACPI對應的moduleacpiphp.ko,如果需要載入,需要執行modprobe acpiphp命令。如果載入失敗,您可以升級高版本核心或停止執行個體後進行冷插拔。

        重要

        不建議隨意自行升級雲端服務器的核心和作業系統版本。如果需要升級核心,請參見避免Linux執行個體升級核心系統無法啟動的方法

  • 作業系統核心錯誤後可能出現執行個體關機,如何處理?

    問題現象

    當作業系統內出現非預期核心錯誤(kernel panic)時,載入第二核心(捕獲核心)進行記憶體轉儲產生Kdump日誌。由於與裸金屬執行個體規格存在相容性問題,在第二核心啟動過程中磁碟識別失敗,導致Kdump日誌採集失敗並且第二核心啟動失敗,執行個體處於關機狀態,後續需要在控制台重新啟動執行個體。

    更多關於裸金屬執行個體規格的資訊,請參見執行個體規格類型系列

    問題原因

    裸金屬執行個體使用作業系統內建的Kdump服務產生dump檔案時可能失敗。

    • ebm*6代系列裸金屬執行個體,在選用如下鏡像時會出現該問題。

      • CentOS 8.3及以下CentOS版本

      • Ubuntu 16/18

      • Debian 10

      • Alibaba Cloud Linux 24.19.91-24.al7之前的核心版本(4.19.91-24.al7版本已修複)

    • ebm*7代系列裸金屬執行個體,在選用Debian 10鏡像時會出現該問題。

    解決方案

    • CentOS等鏡像

      建議更換更高版本的作業系統。具體操作,請參見更換作業系統(更換系統硬碟)

    • Alibaba Cloud Linux 2鏡像

      建議按照以下操作,升級核心版本到4.19.91-24.al7及以上。

      1. 遠程登入ECS執行個體。

        具體操作,請參見使用Workbench登入Linux執行個體

      2. 運行以下命令,查詢核心版本。

        uname -r
      3. 運行以下命令,升級核心版本。

        sudo yum update kernel
      4. 運行以下命令,重啟ECS執行個體,以使新的核心版本生效。

        sudo reboot