이 문서에서는 사용한 만큼만 지불(PAYG) SUSE Linux Enterprise Server(SLES)를 실행하는 Compute Engine 가상 머신(VM) 인스턴스를 SUSE 구독 관리 도구(SMT) 저장소에 연결할 때 발생할 수 있는 문제의 해결 방법에 대해 설명합니다.
시작하기 전에
- VM에 연결된 서비스 계정이 있는지 확인합니다.
- VM에서 Service Metadata API에 액세스할 수 있는지 확인합니다.
- sc-repocheck 도구를 사용하여 문제를 자동으로 문제 해결합니다.
- SUSE PAYG 문제 해결 가이드에 설명된 단계를 확인합니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
SUSE SMT IP 주소 목록에서 VM 리전에 해당하는 IP 주소를 찾습니다.
파일을 수정해서 SUSE SMT IP 주소 및 누락된 기타 정보를 추가합니다.
성공적인 응답:
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
필수 패키지 설치
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>
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. ...
VM에 외부 IP 주소가 있거나 Virtual Private Cloud 서브넷에 NAT(Cloud NAT 또는 커스텀 솔루션)가 사용되는지 확인합니다.
온프레미스 네트워크를 통한 공개 인터넷 액세스 또는 라우팅 트래픽 제한과 같은 기본 네트워크 라우팅 규칙을 수정한 경우 다음을 수행해서 Compute Engine의 기본 게이트웨이를 통해 SMT IP에 대해 경로를 수동으로 추가합니다.
Google Cloud 콘솔의 경로 페이지로 이동합니다.
경로 관리 탭 아래에서 SUSE SMT IP 주소가 포함된 경로를 확인하고 Compute Engine 기본 게이트웨이가 다음 홉으로 설정되었는지 확인합니다.
경로가 누락되었으면 경로 만들기를 클릭하고 필요한 정보를 입력하여 이를 추가할 수 있습니다.
예를 들어 추가 중개 네트워크 소프트웨어(예: 방화벽, 커스텀 NAT 등)와 함께 내부 패스 스루 네트워크 부하 분산기를 사용하는 경우 다음을 수행하여 부하 분산기가 VM 트래픽의 다음 홉으로 사용되는지 확인합니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
확인할 VM의 이름을 클릭합니다. VM 세부정보 페이지가 열립니다.
네트워크 인터페이스 섹션에서 세부정보 보기를 클릭합니다.
방화벽 및 경로 세부정보 섹션에서 원하는 IP 주소 범위에 대한 경로를 정의하는 경로를 찾습니다.
경로 이름을 클릭하고 내부 패스 스루 네트워크 부하 분산기나 해당 IP 주소가 다음 홉으로 설정되었는지 확인합니다.
원하는 IP 주소 범위에 대한 경로를 정의하는 경로가 없거나 경로의 다음 홉이 내부 패스 스루 네트워크 부하 분산기와 다르면 내부 패스 스루 네트워크 부하 분산기를 다음 홉으로 설정합니다.
내부 패스 스루 네트워크 부하 분산기를 사용하는 경우 내부 패스 스루 네트워크 부하 분산기가 VM과 동일한 리전에 있는지 확인합니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
확인할 VM을 찾고 해당 리전을 적어 둡니다.
Google Cloud 콘솔에서 부하 분산 페이지로 이동합니다.
사용된 내부 패스 스루 네트워크 부하 분산기를 찾아서 VM과 동일한 리전에 있는지 확인합니다.
VM 및 내부 패스 스루 네트워크 부하 분산기가 같은 리전에 있지 않으면 전역 액세스를 사용 설정합니다.
/etc/products.d
디렉터리로 이동합니다.cd /etc/products.d
SLES for SAP가 설치된 경우
SLES.prod
를SLES_SAP.prod
로 바꿔서 다음 명령어를 실행합니다.sudo ln -sf SLES.prod baseproduct
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
재등록 섹션에서 세부정보를 확인합니다.
모듈 및 확장 프로그램 삭제 가이드에 설명된 대로 SUSE 관리자 클라이언트 도구를 삭제합니다.
SUSE 관리자 클라이언트 등록 취소 방법 가이드에 따라 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
네트워크 문제
확인할 수 없는 도메인 이름
VM이
smt-gce.susecloud.net
SMT 서버에 연결할 수 없으면 다음 문제가 발생할 수 있습니다.SUSEConnect error: SocketError: getaddrinfo: Name or service not known
ping: 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
파일에 이전 예시와 동일한 행이 없으면 다음을 수행합니다.네트워크 사용 불가
VM이 Compute Engine 업데이트 서버 도메인 이름을 확인할 수 없더라도 네트워크 사용 불가로 인해 다음 오류가 발생할 수 있습니다.
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 응답 코드 또는 오류 메시지가 포함됩니다. 다음은 일반적인 응답 및 오류입니다.
엄격한 호스트 방화벽 규칙과 같은 일부 시나리오에서는
smt-gce.susecloud.net
도메인과 연결된 기본 IP 주소를 사용하지 못할 수 있습니다. 문제가 현재 IP 주소와만 연결된 것이 아닌지 확인하려면 대체 리전 서버에 대해 네트워크 연결 테스트를 수행합니다. 다음을 수행하여 리전 서버 목록을 검색합니다.WebUI
SUSE WebUI로 이동하여 리전 업데이트 서버 목록을 가져옵니다.
CLI
pint
도구를 사용해서 CLI를 통해 리전 업데이트 서버 목록을 가져옵니다.Google Cloud에 대한 전체 SUSE 서버 IP 목록을 찾으려면 다음 문서를 확인합니다.
VM 구성이 잘못되어 네트워크가 사용 불가 상태가 될 수 있습니다. 문제가 발생한 경우 네트워크 진단을 수행하여 근본 원인을 식별해야 합니다.
등록 실패
Cloud NAT에서 비공개 IP 주소가 포함된 VM이 있으면 다음 오류가 발생할 수 있습니다.
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 인스턴스당 최소 포트 매개변수가 최소한 160 이상으로 설정되었는지 확인합니다.
자세한 내용은 Cloud NAT 뒤에서 Compute Engine 인스턴스의 등록 및 Zypper 실패 SUSE 지원 게시판을 확인하세요.
응답 없음
VM에 업데이트 및 리전 서버와 통신 문제가 발생하면 다음 오류가 관찰될 수 있습니다.
이러한 오류는 업데이트 및 리전 서버의 응답이 없어서 발생할 수 있습니다. 이 경우에 해당하는지 확인하려면 비슷한 콘텐츠에 대해
/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
이 문제를 해결하려면 다음 중 하나 이상을 사용해 보세요.
OS 구성 문제
알 수 없는 등록 상태
사용한 만큼만 지불(PAYG) SUSE Linux Enterprise Server(SLES)가 등록되었는지 여부를 알 수 없으면 다음 명령어를 실행합니다.
sudo SUSEConnect --status-text
출력에는 SUSE Linux Enterprise Server를 포함하여 SUSE 제품의 버전 및 등록 상태가 포함됩니다.
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
의 심볼릭 링크를 업데이트합니다.인스턴스 ID 정보 사용 불가
인스턴스 ID 정보를 VM에 사용할 수 없으면 다음 오류가 발생할 수 있습니다.
ERROR:Data collected from stderr for instance data collection "b'Unable to access instance identity information\n'"
ID 토큰에 대해 인스턴스 메타데이터를 액세스하려면 모든 VM이 서비스 계정과 연결되어 있어야 합니다.
자세한 내용은 퍼블릭 클라우드 인프라 업데이트를 참조하세요.
VM이 이 상황과 관련이 있는지 확인하려면 VM에서 다음 명령어를 실행합니다.
curl -s -H 'Metadata-Flavor: Google' \ 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test'
ID 토큰이 포함된 성공적인 응답의 예시:
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이 구성되 경우 문제가 발생할 수 있습니다. 다음 예시는 HTTP 프록시를 통해 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"
Compute Engine에서 SUSE는 중간자(MITM) 또는 비투명 유형의 프록시와 같이 원본 통신을 수정하는 중간 항목을 통해 수행될 때 운영체제 등록에 대한 공식 지원을 제공하지 않습니다.
이 문제를 해결하기 위한 공식적인 솔루션은 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.
다음을 수행하여 문제를 해결합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-11-22(UTC)
-