xe CLI를 사용하여 업데이트 적용
xe CLI를 사용하여 XenServer 8 호스트 및 풀에 업데이트를 적용합니다.
업데이트를 받으려면 XenServer 호스트가 인터넷에 연결되어 있어야 합니다. 호스트가 방화벽을 사용하는 경우 호스트가 의 ops.xenserver.com
하위 도메인에 액세스할 수 있는지 확인하세요. 자세한 내용은 연결 요구 사항을 참조하십시오.
XenServer 풀을 업데이트하려면 다음 단계를 완료하십시오.
풀에 대한 업데이트 구성
XenServer 호스트 및 풀에 업데이트를 적용하려면 먼저 풀 또는 호스트를 업데이트 채널에 가입시켜 호스트 업데이트를 구성해야 합니다. 이러한 채널은 CDN(콘텐츠 전송 네트워크)에서 제공되는 업데이트에 액세스할 수 있는 기간을 제어합니다.
두 가지 업데이트 채널은 다음과 같습니다.
풀을 업데이트 채널 중 하나에 구독하면 풀이 정기적으로 업데이트 채널과 자동으로 동기화됩니다. 또는 풀을 업데이트 채널과 수동으로 동기화할 수도 있습니다. 이 동기화 작업은 사용 가능한 모든 업데이트를 풀 코디네이터에 다운로드합니다. 그런 다음 xe CLI를 사용하여 다운로드한 업데이트를 적용할 수 있습니다.
-
풀의 얼리 액세스 업데이트 채널을 만들고 활성화하십시오.
pool_uuid=$(xe pool-list --minimal) base_binary_url="https://repo.ops.xenserver.com/xs8/base" base_source_url="https://repo-src.ops.xenserver.com/xs8/base" base_repo_uuid=$(xe repository-introduce name-label=base_repo name-description=Base binary-url=<base_binary_url> source-url=<base_source_url> update=false) update_binary_url="https://repo.ops.xenserver.com/xs8/earlyaccess" update_source_url="https://repo-src.ops.xenserver.com/xs8/earlyaccess" update_repo_uuid=$(xe repository-introduce name-label=early_access_repo name-description="Early Access" binary-url=<update_binary_url> source-url=<update_source_url> update=true) xe pool-param-set uuid=<pool_uuid> repositories=<base_repo_uuid>,<update_repo_uuid> <!--NeedCopy-->
또는 풀의 일반 업데이트 채널을 생성하여 활성화할 수도 있습니다.
pool_uuid=$(xe pool-list --minimal) base_binary_url="https://repo.ops.xenserver.com/xs8/base" base_source_url="https://repo-src.ops.xenserver.com/xs8/base" base_repo_uuid=$(xe repository-introduce name-label=base_repo name-description=Base binary-url=<base_binary_url> source-url=<base_source_url> update=false) update_binary_url="https://repo.ops.xenserver.com/xs8/normal" update_source_url="https://repo-src.ops.xenserver.com/xs8/normal" update_repo_uuid=$(xe repository-introduce name-label=normal name-description="Normal" binary-url=<update_binary_url> source-url=<update_source_url> update=true) xe pool-param-set uuid=<pool_uuid> repositories=<base_repo_uuid>,<update_repo_uuid> <!--NeedCopy-->
-
현재 활성화된 저장소 UUID 목록을 검색합니다.
pool_uuid=$(xe pool-list --minimal) xe pool-param-get uuid=<pool_uuid> param-name=repositories <!--NeedCopy-->
-
리포지토리 UUID를 사용하여 특정 리포지토리에 대한 자세한 내용을 볼 수 있습니다.
xe repository-param-list uuid=<UUID> <!--NeedCopy-->
-
(선택 사항) 호스트와 리포지토리를 호스팅하는 퍼블릭 CDN 간의 통신에 사용되는 HTTP 연결 프록시 서버를 구성하고 활성화합니다.
xe pool-configure-repository-proxy proxy-url=<http://proxy.example.com> proxy-username=<proxy-user> proxy-password=<proxy-password> <!--NeedCopy-->
프록시 서버 구성을 비활성화합니다.
xe pool-disable-repository-proxy <!--NeedCopy-->
프록시 서버 구성 보기:
pool_uuid=$(xe pool-list --minimal) xe pool-param-get uuid=<pool_uuid> param-name=repository-proxy-url xe pool-param-get uuid=<pool_uuid> param-name=repository-proxy-username <!--NeedCopy-->
풀의 새 업데이트 동기화
동기화 일정을 구성하여 풀이 업데이트 채널과 자동으로 동기화되도록 합니다. 매일 또는 매주 특정 요일에 동기화가 수행되도록 예약할 수 있습니다. 풀을 업데이트 채널과 동기화하면 사용 가능한 모든 업데이트가 풀 코디네이터에 다운로드되고 다운로드된 모든 업데이트를 풀에 적용할 수 있습니다.
-
풀을 매일 동기화하도록 설정:
xe pool-configure-update-sync update-sync-frequency=daily update-sync-day=0 xe pool-set-update-sync-enabled value=true <!--NeedCopy-->
또는 풀을 매주 동기화하도록 설정하십시오.
xe pool-configure-update-sync update-sync-frequency=weekly update-sync-day=1 (# 0 is Sunday, 1 is Monday, etc) xe pool-set-update-sync-enabled value=true <!--NeedCopy-->
-
동기화 구성 보기:
pool_uuid=$(xe pool-list --minimal) xe pool-param-get uuid=<pool_uuid> param-name=update-sync-frequency xe pool-param-get uuid=<pool_uuid> param-name=update-sync-day xe pool-param-get uuid=<pool_uuid> param-name=update-sync-enabled <!--NeedCopy-->
-
풀이 업데이트 채널과 마지막으로 성공적으로 동기화된 타임스탬프를 확인하십시오.
pool_uuid=$(xe pool-list --minimal) xe pool-param-get param-name=last-update-sync uuid=<pool_uuid> <!--NeedCopy-->
또는 XenServer 풀을 업데이트 채널과 수동으로 동기화할 수 있습니다.
pool_uuid=$(xe pool-list --minimal)
update_checksum=$(xe pool-sync-updates uuid=<pool_uuid> --minimal)
<!--NeedCopy-->
update_checksum
은(는) 설치된 업데이트의 수준을 나타내는 고유 식별자입니다. 퍼블릭 CDN에 새 업데이트가 제공될 때마다 변경되며, 나중에 풀에 업데이트를 적용할 때 사용되므로 항상 사용 가능한 최신 업데이트를 적용할 수 있습니다. update_checksum
은(는) 기술 지원 부서에 문의해야 하는 경우 유용한 정보를 제공할 수도 있습니다.
참고:
동기화 후 가능한 한 빨리 업데이트를 풀에 적용하여 최신 업데이트를 활용하십시오.
동기화 후 풀의 호스트에 업데이트를 적용하기 전에 새 풀 코디네이터를 지정하는 경우 풀을 업데이트하려면 우선 새 풀 코디네이터와 다시 동기화해야 합니다.
풀을 업데이트하는 동안에는 XenServer 풀을 동기화하지 마십시오.
지침 카테고리 이해 및 작업 업데이트
풀에 업데이트를 적용하기 전후에 일부 작업(예: 호스트 비우기 또는 재부팅)이 필요할 수 있습니다. 업데이트 작업이 필요 없는 경우도 있습니다.
지침 카테고리
XenServer는 작업을 필수, 권장, 전체 효율성 및 라이브 패치로 분류하여 이러한 작업으로 인해 발생할 수 있는 VM 중단을 최소화하려고 합니다. 이러한 분류를 통해 호스트 또는 VM에 다운타임이나 경미한 중단을 야기할 수 있는 업데이트 작업이 환경 및 위험 프로파일에 필요한지 여부를 판단할 수 있습니다.
업데이트에는 이러한 범주 중 하나 이상에 작업이 나열될 수 있습니다. 예를 들어 업데이트 시 업데이트의 효율성을 극대화하려면 호스트를 다시 시작해야 하지만 풀 중단 가능성을 줄이면서 업데이트의 이점을 최대한 활용하려면 툴스택을 다시 시작하는 것이 좋습니다.
업데이트 프로세스 중에 다음 세 가지 작업 레벨 중 하나를 수행하도록 선택할 수 있습니다.
- 필수
- 필수 + 권장
- 필수 + 권장 + 전체 효율성
필수
필수 작업은 업데이트 후에 반드시 수행해야 합니다. 그렇지 않으면 런타임 시 시스템이 실패할 수 있습니다. 이러한 조치는 중요한 수정 사항을 적용하고 환경이 안전하고 안정적인지 확인하는 데 필요합니다. 필수 작업은 거부할 수 없습니다.
권장
권장 작업은 업데이트에서 제공되는 대부분의 기능 및 수정 사항을 활용하기 위해 수행할 것을 권장하는 작업입니다. 이러한 작업을 지금 수행하지 않도록 선택하면 해당 풀, 호스트 또는 VM에 대한 보류 중인 업데이트 작업에 나열됩니다.
권장 작업을 수행하는 이유:
- 이러한 작업은 안전하고 안정적인 XenServer 환경을 보장하는 작업입니다.
권장 작업을 거부하는 이유:
- 업데이트에 대한 세부 정보를 검토한 결과, 이러한 업데이트가 아직 완전히 적용되지 않을 위험은 감수할 만하다고 판단합니다.
- 이제 권장 작업으로 인해 VM이 원치 않게 중단될 수 있습니다.
전체 효율성
관련 업데이트의 이점을 얻으려면 전체 효율성 작업이 필요합니다. 전체 효율성 작업이 관련된 업데이트는 일반적으로 특정 하드웨어를 사용하거나 특정 기능을 사용하는 사용자에게만 해당됩니다.
업데이트 정보를 검토하여 사용자 환경에 이러한 작업이 필요한지 여부를 파악하십시오. 이러한 작업을 지금 수행하지 않도록 선택하면 해당 풀, 호스트 또는 VM에 대해 보류 중인 작업에 나열됩니다.
전체 효율성 작업을 수행하는 이유:
- 전체 효율성 작업을 포함하는 업데이트는 하드웨어, 환경 또는 구성과 관련이 있습니다.
전체 효율성 작업을 거부하는 이유:
- 전체 효율성 지침이 포함된 업데이트는 하드웨어, 환경 또는 구성과 관련이 없습니다.
- 전체 효율성 작업은 이제 VM에 원치 않는 중단을 야기합니다.
- 이러한 업데이트의 혜택은 지금 당장 필요하지 않습니다.
전체 효율성 작업이 환경에 적용되지만 작업을 연기하기로 선택한 경우 적절한 유지 관리 기간 동안 이러한 작업을 완료하여 환경의 안정성을 유지하도록 계획하십시오.
라이브 패치
특정 구성 요소에 대한 업데이트에는 라이브 패치가 포함될 수 있습니다. 호스트에 라이브 패치를 적용할 수 있는지 여부는 호스트가 마지막으로 재부팅될 때 설치된 구성 요소의 버전에 따라 달라집니다. 업데이트를 호스트에 라이브 패치로 적용할 수 있는 경우 라이브 패치 지침이 권장 지침을 대체합니다.
예:
두 개의 풀이 있습니다. 풀 A는 최신 수준으로 업데이트되었습니다. 풀 B는 한동안 업데이트되지 않았습니다. 권장 업데이트 작업 “호스트 다시 시작”과 라이브 패치 업데이트 작업 “툴스택 다시 시작”이 포함된 새 업데이트를 릴리스합니다.
풀 A에서는 이러한 최신 호스트에 라이브 패치를 적용할 수 있습니다. 권장 지침에는 “툴스택 다시 시작”이 나와 있습니다. 라이브 패치 지침의 업무 중단이 덜한 작업이 권장 지침보다 우선합니다.
풀 B에서는 호스트가 이전 수준에 있기 때문에 라이브 패치를 호스트에 적용할 수 없습니다. 권장 지침에는 “호스트 다시 시작”이 표시됩니다. 권장 지침은 계속 적용됩니다. 이 경우에는 라이브 패치 지침이 중요하지 않습니다.
업데이트가 라이브 패치로 적용될 때 업데이트의 일부 수정 사항만 활성화되는 경우가 있습니다. 업데이트 세부 정보를 검토하여 업데이트에 모든 수정이 필요한지 아니면 라이브 패치를 통해 활성화된 수정만 필요한지 파악하십시오. 그런 다음 이 정보를 사용하여 권장 작업을 수행할지 여부를 선택할 수 있습니다. 자세한 내용은 풀에 사용 가능한 업데이트 보기를 참조하십시오.
업데이트 작업
업데이트를 적용할 때 다음 작업 중 하나 이상이 필요할 수 있습니다. 모든 유형의 업데이트 작업을 모든 지침 범주에 나열할 수 있습니다.
호스트의 작업 업데이트
이 작업은 업데이트를 적용하기 _전에_만 수행하며, ‘호스트 재부팅’ 작업의 일부로 수행하는 경우도 있습니다.
업데이트 작업 | 작업을 수행하기 위한 xe CLI 명령 | 설명 |
---|---|---|
호스트 비우기 | xe host-evacuate |
XenServer 호스트에서 모든 VM을 마이그레이션하거나 종료합니다. 이 작업이 진행되는 동안에는 한 호스트가 일시적으로 VM을 실행할 수 없으므로 XenServer 풀의 용량이 줄어든 상태로 작동합니다. |
업데이트된 호스트에서의 작업이 필요한 작업은 다음과 같습니다.
업데이트 작업 | 작업을 수행하기 위한 xe CLI 명령 | 설명 |
---|---|---|
호스트 재부팅 | xe host-reboot |
XenServer 호스트를 다시 시작해야 합니다. 모든 VM이 호스트 외부로 마이그레이션되고 호스트가 다시 시작됩니다. 이 작업이 진행되는 동안에는 한 호스트가 일시적으로 VM을 실행할 수 없으므로 XenServer 풀의 용량이 줄어든 상태로 작동합니다. |
Xen 라이브 패치 실패 시 호스트 재부팅 | xe host-reboot |
Xen 라이브 패치 적용에 실패했습니다. 업데이트를 적용하려면 XenServer 호스트를 다시 시작해야 합니다. 모든 VM이 호스트 외부로 마이그레이션되고 호스트가 다시 시작됩니다. 이 작업이 진행되는 동안에는 한 호스트가 일시적으로 VM을 실행할 수 없으므로 XenServer 풀의 용량이 줄어든 상태로 작동합니다. |
커널 라이브 패치 실패 시 호스트 재부팅 | xe host-reboot |
dom0 커널 라이브 패치 적용에 실패했습니다. 업데이트를 적용하려면 XenServer 호스트를 다시 시작해야 합니다. 모든 VM이 호스트 외부로 마이그레이션되고 호스트가 다시 시작됩니다. 이 작업이 진행되는 동안에는 한 호스트가 일시적으로 VM을 실행할 수 없으므로 XenServer 풀의 용량이 줄어든 상태로 작동합니다. |
toolstack 다시 시작 | xe-toolstack-restart |
호스트의 툴스택을 다시 시작해야 합니다. 풀 코디네이터 대신 업데이트된 호스트에서 툴스택을 다시 시작합니다. 풀 코디네이터에서 툴스택을 다시 시작하면 풀에 대한 연결이 끊어지지만 다른 풀 구성원에서 툴스택을 다시 시작하면 눈에 띄는 영향이 없습니다. |
호스트에 필요한 업데이트 작업 보기
다음 명령을 사용하여 업데이트를 적용하기 전후에 호스트에 필요한 작업을 볼 수 있습니다.
호스트의 필수 작업 목록을 확인하십시오.
xe host-param-get param-name=pending-guidances uuid=<host UUID>
<!--NeedCopy-->
호스트에게 권장되는 작업 목록을 확인하십시오.
xe host-param-get param-name=pending-guidances-recommended uuid=<host UUID>
<!--NeedCopy-->
호스트를 위한 전체 효율성 작업 목록을 확인하십시오.
xe host-param-get param-name=pending-guidances-full uuid=<host UUID>
<!--NeedCopy-->
VM의 작업 업데이트
일부 업데이트는 VM에 새로운 기능을 제공합니다. 이러한 업데이트를 수행하려면 VM에서 다음 작업이 필요할 수 있습니다.
업데이트 작업 | 작업을 수행하기 위한 xe CLI 명령 | 설명 |
---|---|---|
VM 다시 시작 | xe vm-reboot |
VM을 다시 시작해야 합니다. VM이 다시 시작되는 동안에는 최종 사용자가 VM을 사용할 수 없습니다. |
장치 모델 다시 시작 | xe vm-restart-device-models |
업데이트된 호스트의 VM에 대한 장치 모델을 다시 시작해야 합니다. 장치 모델이 다시 시작되는 동안에는 VM을 중지, 시작 또는 마이그레이션할 수 없습니다. VM의 최종 사용자는 세션에서 약간 일시 중지되었다가 다시 시작될 수 있습니다. Windows VM에서 장치 모델 다시 시작 작업을 지원하려면 VM에 Windows용 XenServer VM Tools가 설치되어 있어야 합니다. |
VM에 필요한 업데이트 작업 보기
VM의 필수 작업 목록 확인:
xe vm-param-get param-name=pending-guidances uuid=<VM UUID>
<!--NeedCopy-->
VM에 권장되는 작업 목록 확인:
xe vm-param-get param-name=pending-guidances-recommended uuid=<VM UUID>
<!--NeedCopy-->
VM의 전체 효율성 작업 목록 확인:
xe vm-param-get param-name=pending-guidances-full uuid=<VM UUID>
<!--NeedCopy-->
풀에 사용 가능한 업데이트 보기
업데이트를 설치하기 전에 풀에 사용할 수 있는 업데이트를 확인하고 필요한 업데이트 작업을 검토하십시오. 업데이트에 필요할 수 있는 다양한 업데이트 작업에 대한 자세한 내용은 지침 카테고리 및 업데이트 작업 이해를 참조하십시오.
특정 호스트에 사용할 수 있는 업데이트가 있는지 확인
특정 호스트에 사용할 수 있는 업데이트가 있는지 확인합니다.
xe host-param-get param-name=latest-synced-updates-applied uuid=<host UUID>
<!--NeedCopy-->
이 명령은 특정 호스트에 사용할 수 있는 업데이트가 있는 경우 yes
을(를), 없는 경우 no
을(를) 반환합니다.
모든 호스트에 사용할 수 있는 업데이트가 있는지 확인
HTTP 엔드포인트 /updates
에서 GET 요청을 생성하여 모든 호스트에 사용 가능한 업데이트가 있는지 확인합니다.
wget
유틸리티를 사용하여 모든 호스트에 대한 업데이트를 가져옵니다.
wget -O - --no-check-certificate https://<user name>:<password>@<coordinator IP address>/updates
<!--NeedCopy-->
또는 HTTP 클라이언트 라이브러리를 사용할 수 있습니다.
HTTP GET
session_id: <XAPI session ID returned from login>
host_refs: <host XAPI reference>
<!--NeedCopy-->
반환된 출력은 JSON 형식이며 다음 객체를 포함합니다.
-
hosts
: 개별 호스트에 사용할 수 있는 업데이트를 나열합니다. -
updates
: 사용 가능한 업데이트의 세부 정보를 나열합니다. -
hash
:update_checksum
(사용 가능한 최신 업데이트를 항상 적용하도록 하는 데 사용됨)
hosts
및 updates
객체에는 다음 키로 구성된 guidance
객체도 포함됩니다.
mandatory
recommended
full
livepatch
이 키는 업데이트 작업에 대한 다양한 지침 범주를 참조합니다. 여기에는 호스트와 VM에 필요한 업데이트 작업이 나열되어 있습니다. 업데이트에 필요할 수 있는 다양한 작업에 대한 자세한 내용은 지침 카테고리 및 업데이트 작업 이해를 참조하십시오.
풀에 업데이트 적용
시작하기 전에
-
풀 업데이트를 수행하기 전에 풀의 모든 호스트가 온라인 상태인지 확인합니다.
-
호스트 또는 VM에 보류 중인 필수 업데이트 작업이 없는지 확인합니다. 이전 업데이트에서 보류 중인 모든 필수 업데이트 작업은 새 풀 업데이트를 시작하기 전에 수행해야 합니다. 자세한 내용은 호스트에 필요한 업데이트 작업 보기 및 VM에 필요한 업데이트 작업 보기를 참조하십시오.
-
고가용성(HA)이 활성화된 경우 비활성화합니다.
pool_uuid=$(xe pool-list --minimal) xe pool-ha-disable uuid=<pool_uuid> <!--NeedCopy-->
-
Workload Balancing(WLB)이 활성화된 경우 비활성화합니다.
pool_uuid=$(xe pool-list --minimal) xe pool-param-set wlb-enabled=false uuid=<pool_uuid> <!--NeedCopy-->
업데이트 설치
풀을 업데이트하려면 먼저 풀 코디네이터부터 시작하여 풀의 모든 호스트에 업데이트를 적용해야 합니다. 풀 코디네이터부터 시작하여 다음 단계를 따르십시오.
-
호스트 비활성화:
xe host-disable uuid=<host UUID> <!--NeedCopy-->
-
업데이트에 필요한 업데이트 작업 중 하나가 ‘호스트 비우기’ 또는 ‘호스트 재부팅’인 경우 호스트를 비우십시오.
xe host-evacuate uuid=<host UUID> <!--NeedCopy-->
호스트 대피 중에 VM을 다른 호스트로 마이그레이션할 수 없는 경우 VM을 종료하거나 일시 중단하십시오.
-
호스트에 업데이트 적용:
xe host-apply-updates uuid=<host UUID> hash=<update_checksum> <!--NeedCopy-->
-
필요한 호스트 업데이트 작업 목록을 가져옵니다. 자세한 내용은 호스트의 업데이트 작업을 참조하십시오.
목록에 있는 호스트의 업데이트 작업을 다음 순서로 수행합니다.
- 툴스택 다시 시작 (실행할 ‘재부팅 호스트’가 있는 경우 건너뛸 수 있음)
- 호스트 재부팅
-
호스트에서 실행 중인 모든 VM에 대해 필요한 VM 업데이트 작업 목록을 가져옵니다. 자세한 내용은 VM의 업데이트 작업을 참조하십시오.
목록에 있는 VM의 업데이트 작업을 다음 순서로 수행합니다.
- 장치 모델 다시 시작(수행할 ‘VM 다시 시작’이 있는 경우 건너뛸 수 있음)
- VM 다시 시작
-
호스트가 아직 비활성화된 상태인 경우 활성화합니다.
xe host-enable uuid=<host UUID> <!--NeedCopy-->
-
호스트 업데이트 전에
host-evacuate
을(를) 사용하여 다른 호스트로 마이그레이션한 모든 VM에 대해 업데이트 작업 목록을 가져옵니다. 자세한 내용은 VM의 업데이트 작업을 참조하십시오.업데이트 작업 목록에 ‘VM 다시 시작’이 있는 경우 VM을 종료하고 현재 업데이트된 호스트에서 시작합니다. 그렇지 않으면 VM을 현재 업데이트된 호스트로 다시 마이그레이션하십시오.
-
업데이트를 적용하기 전에 종료하거나 일시 중단한 VM을 다시 시작하거나 시작합니다.
-
호스트 업데이트 상태 보기:
xe host-param-get param-name=last-software-update uuid=<host UUID> xe host-param-get param-name=latest-synced-updates-applied uuid=<host UUID> xe host-param-get param-name=last-update-hash uuid=<host UUID> <!--NeedCopy-->
위 단계를 반복하여 풀의 모든 호스트를 업데이트합니다.
호스트를 업데이트한 후
풀의 각 호스트를 업데이트한 후 나머지 업데이트 작업을 수행합니다.
-
풀의 모든 VM에 대해 업데이트 작업 목록을 가져옵니다. 자세한 내용은 VM의 업데이트 작업을 참조하십시오.
‘VM 다시 시작’이 업데이트 작업 목록에 있으면 실행하십시오.
-
업데이트를 적용하기 전에 HA를 비활성화한 경우 HA를 활성화하십시오.
pool_uuid=$(xe pool-list --minimal) xe pool-ha-disable uuid=<pool_uuid> <!--NeedCopy-->
-
업데이트를 적용하기 전에 WLB를 비활성화한 경우 WLB를 활성화합니다.
pool_uuid=$(xe pool-list --minimal) xe pool-param-set wlb-enabled=true uuid=<pool_uuid> <!--NeedCopy-->
-
풀 업데이트에 필요한 필수 업데이트 작업만 수행하도록 선택한 경우 수행되지 않은 업데이트 작업이 호스트에 필요한 보류 중인 업데이트 작업 목록에 추가됩니다. 이 목록을 보고 이러한 작업을 수행하려면 호스트의 작업 업데이트를 참조하십시오.