本文說明如何解決問題。您可能會在將執行隨用隨付 (PAYG) SUSE Linux Enterprise Server (SLES) 的 Compute Engine 虛擬機器 (VM) 執行個體連線至 SUSE 訂閱管理工具 (SMT) 存放區時遇到問題。
事前準備
- 確認 VM 已連結服務帳戶。
- 確認可從 VM 存取 Service Metadata API。
- 確認 VM 與相應的區域伺服器和 SMT 伺服器之間的網路連線
- 使用 sc-repocheck 工具自動排解問題。
- 請參閱 SUSE PAYG 疑難排解指南中的步驟。
- 
  
  如果尚未設定驗證,請先完成設定。
  驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,可以選取下列任一選項,向 Compute Engine 進行驗證:
  
   
   
     
   
  
   
   
     
   
  
   
   
     
   
  
 
 
 
  
    
      Select the tab for how you plan to use the samples on this page: ConsoleWhen you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication. gcloud- 
 
 
  
  
   
   
  
   
   
  
   
   
     
   
  
  
   
   
  
   
   
  
   
   
  
 
 
   
   
      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI: gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。 
- Set a default region and zone.
 網路問題無法解析的網域名稱如果 VM 無法連線至 smt-gce.susecloud.netSMT 伺服器,可能會發生下列問題:SUSEConnect error: SocketError: getaddrinfo: Name or service not knownping: unknown host smt-gce.susecloud.net這些問題可能是因為 SMT 伺服器網域名稱 smt-gce.susecloud.net解析錯誤所致。這個網域無法在全球解析,因此您必須根據 VM 區域設定 IP 位址,方法如下:檢查 /etc/hosts檔案,確認其中包含smt-gce.susecloud.net網域的項目。cat /etc/hosts | grep -i smt輸出內容類似如下,但 IP 位址可能不同: # Added by SMT registration do not remove, retain comment as well 108.59.80.221 smt-gce.susecloud.net smt-gce如果 /etc/hosts檔案未包含與上述範例相同的程式碼,請按照下列步驟操作:- 從 SUSE SMT IP 位址清單中,找出與 VM 區域對應的 IP 位址。 
- 編輯檔案,新增 SUSE SMT IP 位址和任何缺少的資訊。 
 網路無法使用即使 VM 能夠解析 Compute Engine Update Server 網域名稱,您仍可能因網路無法使用而遇到下列錯誤: Unexpected exception. Not ready to read within timeout.Repository 'SLE-Module-Adv-Systems-Management12-Pool' is invalid. Repository 'SLE-Module-Adv-Systems-Management12-Updates' is invalid.以下列舉您在調查期間可能在 /var/log/cloudregister記錄檔中發現的錯誤:WARNING:Unable to remove client registration from server WARNING:HTTPSConnectionPool(host='smt-gce.susecloud.net', port=443): Max retries exceeded with url: /connect/systems (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 110] Connection timed out',)) INFO:Region server arguments: ?regionHint=europe-central2 ERROR:No response from: [('34.118.112.80', None), ('34.116.251.218', None), ('34.116.224.144', None)]如要進一步瞭解問題原因,請執行網路連線測試。以下範例說明如何使用 cURL測試 HTTPS 連線:curl -sSI -m 5 -o /dev/null \ -w 'Response code (>0 is OK): %{http_code}\n' \ 'https://smt-gce.susecloud.net'指令輸出內容包含 HTTP 回應碼或錯誤訊息。以下是常見的回應和錯誤: - 成功回應: - Response code (>0 is OK): 200
- 要求逾時錯誤: - Response code (>0 is OK): 000 curl: (28) Connection timed out after 5001 milliseconds
- 無法解決的網域錯誤: - Response code (>0 is OK): 000 curl: (6) Could not resolve host: smt-gce.susecloud.net
 在某些情況下 (例如嚴格的主機防火牆規則),與 smt-gce.susecloud.net網域相關聯的預設 IP 位址可能無法使用。為確保問題不只與目前的 IP 位址有關,請對其他區域伺服器執行網路連線測試。如要擷取區域伺服器清單,請執行下列步驟:WebUI前往 SUSE WebUI 取得區域更新伺服器清單。 CLI使用 pint工具,透過 CLI 取得區域更新伺服器清單。- 安裝必要套件 - sudo zypper install python3-susepubliccloudinfo
- 使用下列指令,指定特定區域 - pint google servers --region us-central1
- 成功輸出內容會包含 XML 格式的項目清單 - <?xml version='1.0' encoding='UTF-8'?> <servers> <server ip="146.148.73.14" name="" region="us-central1" type="regionserver-sles"/> <server ip="162.222.182.90" name="" region="us-central1" type="regionserver-sap"/> <server ip="108.59.80.221" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.85.41" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.80.58" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> </servers>
 如要查看 SUSE 伺服器 IP 的完整清單,請參閱下列文件: Google Cloud 網路無法使用可能是因為 VM 設定錯誤。如有問題,請務必執行網路診斷,找出根本原因。 註冊失敗如果 VM 在 Cloud NAT 中有私人 IP 位址,您可能會遇到下列錯誤: ERROR: Registration failed: Registering system to registration proxy https://smt-gce.susecloud.net command '/usr/bin/zypper --non-interactive refs Python_3_Module_x86_64' failed Error: zypper returned 4 with 'Problem retrieving the repository index file for service 'Python_3_Module_x86_64': Timeout exceeded when accessing 'https://smt-gce.susecloud.net/services/2045/repo/repoindex.xml?credentials=Python_3_Module_x86_64'.如要解決這個問題,請檢查 Cloud NAT 設定,確認「每個 VM 執行個體的通訊埠數量下限」參數至少設為 256。 詳情請參閱 Registration and zypper failed for Compute Engine instances behind Cloud NAT SUSE 支援公告。 未作答如果 VM 無法與更新和區域伺服器通訊,可能會出現下列錯誤: - SUSEConnect錯誤:- SUSEConnect error: Errno::ETIMEDOUT: Connection timed out - connect(2) for "smt-gce.susecloud.net" port 443
- zypper錯誤:- Error retrieving metadata for 'SLE-Module-Adv-Systems-Management12-Pool': Not ready to read within timeout. ...
 如果更新和區域伺服器沒有回應,就可能導致這些錯誤。如要確認是否發生這種情況,請檢查 /var/log/cloudregister記錄檔 中是否有類似內容:INFO:Region server arguments: ?regionHint=europe-central2 INFO:Using API: regionInfo INFO:Region server arguments: ?regionHint=europe-central2 INFO:Getting update server information, attempt 1 INFO: Using region server: 130.211.242.136 ERROR: No response from: 130.211.242.136 INFO: Using region server: 35.187.193.56 ERROR: No response from: 35.187.193.56 INFO: Using region server: 162.222.182.90 ERROR: No response from: 162.222.182.90 INFO: Using region server: 130.211.88.88 ERROR: No response from: 130.211.88.88 ERROR: None of the servers responded ERROR: Attempted: [IPv4Address('130.211.242.136'), IPv4Address('35.187.193.56'), IPv4Address('162.222.182.90'), IPv4Address('130.211.88.88')] ... ... ... ERROR:Request not answered by any server after 3 attempts ERROR:Exiting without registration如要解決這個問題,請嘗試下列一或多個做法: - 確認 VM 具有外部 IP 位址,或虛擬私有雲子網路使用 NAT (Cloud NAT 或自訂解決方案)。 
- 如果您修改了預設網路轉送規則 (例如限制公開網際網路存取權,或透過內部部署網路轉送流量),請透過 Compute Engine 的預設閘道,手動為 SMT IP 位址新增路徑,方法如下: - 前往 Google Cloud 控制台的「Routes」(路徑) 頁面。 
- 在「Route Management」分頁中,找出包含 SUSE SMT IP 位址的路徑,並確認該路徑已將 Compute Engine 預設閘道設為下一個躍點。 
- 如果路線遺失,請按一下「建立路線」並輸入必要資訊,即可新增路線。 
 
- 如果您使用內部直通式網路負載平衡器,例如搭配其他中介網路軟體 (如防火牆、自訂 NAT 等),請確認負載平衡器做為 VM 流量的下一個躍點,方法如下: - 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。 
- 按一下要檢查的 VM 名稱。「VM details」(VM 詳細資料) 頁面隨即開啟。 
- 在「Network interfaces」(網路介面) 區段中,按一下「View details」(查看詳細資料)。 
- 在「防火牆和路徑詳細資料」區段中,找出定義所選 IP 位址範圍路徑的路徑。 
- 按一下路徑名稱,確認內部直通式網路負載平衡器或其 IP 位址已設為下一個躍點。 
 - 如果沒有定義所選 IP 位址範圍路徑的路徑,或路徑的下一個躍點與內部直通式網路負載平衡器不同,請將內部直通式網路負載平衡器設為下一個躍點。 
- 如果您使用內部直通式網路負載平衡器,請確認該負載平衡器與 VM 位於相同區域。 - 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。 
- 找出要檢查的 VM,並記下其所在區域。 
- 前往 Google Cloud 控制台的「Load balancing」(負載平衡) 頁面。 
- 找出使用的內部直通式網路負載平衡器,並檢查是否與 VM 位於相同地區。 
- 如果 VM 和內部直通式網路負載平衡器不在同一區域,請啟用全域存取權。 
 
 作業系統設定問題登記狀態不明如果您不確定隨用隨付 (PAYG) SUSE Linux Enterprise Server (SLES) 是否已註冊,請執行下列指令: sudo SUSEConnect --status-text輸出內容包含 SUSE 產品 (包括 SUSE Linux Enterprise Server) 的版本和註冊狀態。 Installed Products: ------------------------------------------ SUSE Linux Enterprise Server 12 SP5 (SLES/12.5/x86_64) Registered ------------------------------------------ ...如果狀態為 Not Registered,請從重新註冊程序開始,修正問題。基本產品符號連結不正確如果基礎產品連結指向不正確的產品檔案,可能會發生下列錯誤: ERROR:Unable to obtain product information from server "108.59.85.41,None" Unprocessable Entity {"type":"error","error":"Unmet product dependencies, activate one of these products first: SUSE Linux Enterprise Server 12 x86_64... ... Unable to register modules, exiting.這個錯誤是由於 /etc/products.d/baseproduct符號連結指向的產品檔案 (即sle-module-toolchain.prod) 有誤所致。如要解決這個問題,請按照下列步驟更新 /etc/products.d/baseproduct的符號連結,指向適當的基礎產品檔案:- 前往 - /etc/products.d目錄- cd /etc/products.d
- 如果安裝的是 SLES for SAP,請執行下列指令,將 - SLES.prod替換為- SLES_SAP.prod:- sudo ln -sf SLES.prod baseproduct
 無法取得執行個體身分資訊如果 VM 無法提供執行個體身分資訊,可能會發生下列錯誤: ERROR:Data collected from stderr for instance data collection "b'Unable to access instance identity information\n'" 如要存取身分權杖的執行個體中繼資料,所有 VM 都必須與服務帳戶建立關聯。 詳情請參閱「Public Cloud Infrastructure Update」。 如要確認 VM 是否與這個情況相關,請在 VM 上執行下列指令: curl -s -H 'Metadata-Flavor: Google' \ 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test'成功回應的範例 (附身分識別權杖): eyJhbGciOiJSUzI1NiIsImtpZCI6IjkzOTd0MDQxSHQ2NDNxNzkzUjY1MDIwNzEyMjZPNnppaTdqNTl3eTciLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJ0ZXN0IiwiYXpwIjoiMjY1MDIwMDUyMzgzMjYyNTk0ODU2IiwiZXhwIjoxNjgzNzEyNTQzLCJpYXQiOjE2ODM3MTI4NjQsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbSIsInN1YiI6IjQ1NjA2MzQ5MDg5Mzc0Njg3ODI5NyJ9.EpzQ3NZ8mKStdpH10fL34qsKG0rjQEflzvLJLm2tVNX4xBJAkMhi8lcs5InUEY-QMK3njgbzdzNtD1fXoIfKoeWsqkA8vG3NkBz5zqRrtaB2STcO14H5tjIdTBsrCtET447tRXlGG5cvgMcWnRDZG92-jUZEpWki_Ri4T69X5-bBWkfE2Thm3oSUW4fScdeVOEmOgWnzD2jeVqQ_2YniywvpkT-rLzKfN-5AgN66zgBfXqJVTC90KFMebfiaOoL7z6ZSM9AjZGf45QEMZjxjd-Xzyee6ZWK8s0RE3hJlytb3zYcLt3tJwQ1WhnrC2ToJ-ZmKxxK3xKDLCvCQ6Ny5to 如果傳回的中繼資料不是權杖,而是下列錯誤訊息,表示 VM 受到影響: { "error": "invalid_request", "error_description": "Service account not enabled on this instance" }如要解決這個問題,請按照下列步驟操作: - 停止 VM: - gcloud compute instances stop VM_NAME
- 將服務帳戶新增至 VM: - gcloud compute instances set-service-account VM_NAME \ --service account SERVICE_ACCOUNT \ --no-scopes
- 啟動 VM: - gcloud compute instances start VM_NAME
- 新增缺少的服務帳戶後,請從 VM 執行下列指令,重新註冊 SLES: - sudo registercloudguest --force-new
 透過 Proxy 註冊如果 VM 設定為使用任何類型的 Proxy 軟體,就可能會發生問題。下列範例示範如何嘗試使用 HTTP Proxy 註冊 SLES。 ERROR: Baseproduct registration failed ERROR: Registering system to registration proxy https://smt-gce.susecloud.net Announcing system to https://smt-gce.susecloud.net ... SUSEConnect error: Net::HTTPFatalError: 503 "Service Unavailable" 透過中介機構 (例如中間人 (MITM) 或非透明類型 Proxy) 修改原始通訊內容時,Compute Engine 上的 SUSE 不會提供作業系統註冊的官方支援。 如要解決這個問題,官方解決方案是設定 Cloud NAT,並透過 Cloud NAT 傳送 VM 流量。 常見解決方法重新註冊在某些情況下,重新註冊的方法可用於解決註冊問題。 如要強制進行新註冊,請使用下列指令: sudo registercloudguest --force-new如果成功,系統會輸出下列內容。 Registration succeeded如要瞭解重新註冊程序的詳細資訊,請參閱 /var/log/cloudregister。成功示例INFO:Forced new registration INFO:Clean current registration server: ('108.59.80.221', None) ... INFO:Starting new HTTP connection (1): 169.254.169.254 INFO:Region server arguments: ?regionHint=us-central1 INFO:Using region server: 130.211.242.136 INFO:Starting new HTTPS connection (1): 130.211.242.136 INFO:Starting new HTTPS connection (1): 108.59.80.58 INFO:Modified /etc/hosts, added: 108.59.80.58 smt-gce.susecloud.net smt-gce ... INFO:Starting new HTTPS connection (1): 108.59.80.58 DEBUG:"GET /api/health/status HTTP/1.1" 200 None INFO:Current update server will be used: "('108.59.80.58', None)" INFO:Starting new HTTPS connection (1): smt-gce.susecloud.net DEBUG:"POST /connect/systems/products/migrations HTTP/1.1" 422 None INFO:Registration: /usr/sbin/SUSEConnect --url https://smt-gce.susecloud.net --product sle-module-containers/12/x86_64 --instance-data /var/lib/cloudregister/9c982106-78de-48fe-a662-20383da4c760失敗的範例INFO:Forced new registration INFO:Using API: regionInfo INFO:Starting new HTTP connection (1): 169.254.169.254 INFO:Region server arguments: ?regionHint=us-central1 INFO:Using region server: 130.211.242.136 INFO:Starting new HTTPS connection (1): 130.211.242.136 ERROR:No response from: 130.211.242.136 INFO:Using region server: 130.211.88.88 INFO:Starting new HTTPS connection (1): 130.211.88.88 ERROR:No response from: 130.211.88.88 INFO:Using region server: 146.148.73.14 INFO:Starting new HTTPS connection (1): 146.148.73.14 ERROR:No response from: 146.148.73.14 ERROR:None of the servers responded ERROR: Attempted: ['130.211.242.136', '130.211.88.88', '146.148.73.14'] ERROR:Exiting without registration取消註冊在某些情況下 (例如重大版本升級),您可能會遇到下列錯誤,因為系統已向 SUMA 註冊: Can't get available migrations from server: SUSE::Connect::ApiError: The requested products 'SUSE Manager Client Tools for SLE 12 x86_64' are not activated on the system. This system is managed by SUSE manager.請按照下列步驟解決問題: - 請按照「Adding or deleting modules and extensions with SUSEConnect」指南的說明,移除 SUSE Manager Client Tools 模組。 
- 按照「如何取消註冊 SUSE Manager Client」指南的說明,取消註冊 SUMA。 
- 從 VM 執行下列指令,清除舊的註冊項目: - sudo SUSEConnect --cleanup && \ sudo registercloudguest --clean && \ sudo rm -f /etc/SUSEConnect && \ sudo rm -f /etc/zypp/{repos,services,credentials}.d/* && \ sudo rm -f /var/lib/cloudregister/* && \ sudo rm -rf /var/cache/zypp/* && \ sudo rm -rf /var/cache/cloudregister/* && \ sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts
- 執行下列指令,再次註冊系統: - sudo registercloudguest --force-new
- 註冊程序完成後,請重新整理服務和存放區,並檢查 SMT 伺服器提供的系統是否包含所有預期存放區: - sudo zypper ref -s && \ sudo zypper ls && \ sudo zypper lr -U
 除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。 上次更新時間:2025-10-19 (世界標準時間)。 -