레거시 SUSE Multi-Linux Manager 서버를 컨테이너로 마이그레이션
레거시 SUSE Multi-Linux Manager 서버를 컨테이너로 마이그레이션하려면 새 시스템이 필요합니다.
이 마이그레이션의 맥락에서 레거시 SUSE Multi-Linux Manager 서버(RPM 설치)를 _old server_라고도 합니다.
1. 요구 사항 및 고려 사항
1.1. 호스트 이름
인플레이스 마이그레이션은 불가능할 뿐만 아니라, 현재 마이그레이션 절차는 호스트 이름 변경 기능을 허용하지 않습니다.
따라서 새 서버의 FQDN(정규화된 도메인 이름)은 레거시 서버의 FQDN과 동일하게 유지됩니다.
|
마이그레이션 후에는 새 서버를 가리키도록 DHCP 및 DNS 레코드를 업데이트해야 합니다. 자세한 내용은 마이그레이션 마무리에서 확인할 수 있습니다. |
2. GPG 키
-
자체 신뢰 GPG 키는 마이그레이션되지 않습니다.
-
RPM 데이터베이스에서만 신뢰되는 GPG 키는 마이그레이션되지 않습니다. 따라서
spacewalk-repo-sync로 채널을 동기화하면 실패할 수 있습니다. -
관리자는 실제 서버 마이그레이션을 수행한 후 이러한 키를 레거시 SUSE Multi-Linux Manager 설치에서 컨테이너 호스트로 수동으로 마이그레이션해야 합니다.
-
레거시 Uyuni 서버의 키를 새 서버의 컨테이너 호스트로 복사합니다.
-
그 후,
mgradm gpg add <PATH_TO_KEY_FILE>명령을 사용하여 마이그레이션된 서버에 각 키를 추가합니다.
2.1. 레거시 서버에서의 초기 준비
복제해야 할 데이터의 양에 따라 마이그레이션은 매우 오랜 시간이 소요될 수 있습니다. 다운타임을 줄이기 위해, 레거시 서버의 모든 서비스가 가동된 상태를 유지하면서 initial replication, re-replication 또는 final replication and switch over 프로세스로 마이그레이션을 여러 번 실행할 수 있습니다.
기존 서버의 프로세스는 최종 마이그레이션 중에만 중지해야 합니다.
최종이 아닌 모든 복제 작업에 --prepare 파라미터를 추가하여 레거시 서버에서 서비스가 자동으로 중지되는 것을 방지하십시오. 예:
mgradm migrate podman <oldserver.fqdn> --prepare
-
SUSE Multi-Linux Manager 서비스를 중지합니다.
spacewalk-service stop
-
PostgreSQL 서비스를 중지합니다.
systemctl stop postgresql
2.2. SSH 연결 준비
-
새 5.1 서버에
root에 대한 SSH 키가 있는지 확인합니다. 키가 없는 경우 다음 명령을 사용하여 만듭니다.ssh-keygen -t rsa
-
새 서버 호스트에서 비밀번호를 묻지 않는 레거시 서버에 연결할 수 있도록 SSH 구성 및 에이전트가 준비되어 있어야 합니다.
eval $(ssh-agent); ssh-add
비밀번호를 묻지 않고 연결을 설정하기 위해 마이그레이션 스크립트는 새 서버에서 실행 중인 SSH 에이전트를 활용합니다. 에이전트가 아직 활성화되어 있지 않은 경우,
eval $(ssh-agent)를 실행하여 에이전트를 시작합니다. 그런 다음ssh-add를 실행한 후 개인 키의 경로를 입력하여 실행 중인 에이전트에 SSH 키를 추가합니다. 이 프로세스 중에는 개인 키의 비밀번호를 입력하라는 메시지가 표시됩니다. -
ssh-copy-id를 사용하여 레거시 SUSE Multi-Linux Manager 서버(<oldserver.fqdn>)에 공개 SSH 키를 복사합니다.<oldserver.fqdn>을 레거시 서버의 FQDN으로 바꿉니다.ssh-copy-id <oldserver.fqdn>
SSH 키가 레거시 서버의
~/.ssh/authorized_keys파일에 복사됩니다. 자세한 내용은ssh-copy-id사용자 지정 페이지에서 확인할 수 있습니다. -
새 서버에서 레거시 SUSE Multi-Linux Manager 서버로 SSH 연결을 설정하여 비밀번호가 필요하지 않은지 확인합니다. 호스트 지문에도 문제가 없어야 합니다. 문제가 있는 경우
~/.ssh/known_hosts파일에서 기존 지문을 제거합니다. 그런 다음 다시 시도합니다. 지문은 로컬~/.ssh/known_hosts파일에 저장됩니다.
2.3. 마이그레이션 수행
레거시 SUSE Multi-Linux Manager에서 컨테이너화된 SUSE Multi-Linux Manager(으)로 마이그레이션을 계획할 때는 대상 인스턴스가 레거시 설정의 사양을 충족하거나 초과하는지 확인하십시오. 여기에는 메모리(RAM), CPU 코어, 스토리지 및 네트워크 대역폭이 포함되지만, 이에 국한되지 않습니다.
|
보안을 위해 강화된 SUSE Multi-Linux Manager 서버 호스트는 예:
SUSE Multi-Linux Manager 업데이트에서는 이 해결 방법이 불필요하도록 도구가 변경될 예정입니다. |
2.3.1. 사용자 정의 영구 스토리지 구성
영구 스토리지 구성은 선택 사항이지만, 컨테이너 디스크가 가득 찬 상황에 심각한 문제를 방지할 수 있는 유일한 방법입니다. mgr-storage-server 도구를 사용하여 사용자 지정 영구 스토리지를 구성하는 것이 적극 권장됩니다.
자세한 내용은 mgr-storage-server --help를 참조하십시오. 이 도구는 컨테이너 스토리지 및 데이터베이스 볼륨 생성을 간소화합니다.
다음 방법으로 명령 사용:
mgr-storage-server <storage-disk-device> [<database-disk-device>]
|
장치에는 파일 시스템이 없어야 합니다. 저장 장치에 파일 시스템이 있으면 명령이 중단됩니다. |
예:
mgr-storage-server /dev/nvme1n1 /dev/nvme2n1
|
이 명령은 자세한 내용은 다음을 참조하십시오. |
2.3.2. 마이그레이션 수행
-
새 SUSE Multi-Linux Manager 서버를 설치하려면 다음 명령을 실행합니다. <oldserver.fqdn>은 레거시 서버의 FQDN으로 바꿉니다.
mgradm migrate podman <oldserver.fqdn>
-
신뢰할 수 있는 SSL CA 인증서를 마이그레이션합니다.
2.3.3. 인증서 마이그레이션
RPM의 일부로 설치되고 레거시 SUSE Multi-Linux Manager의 /usr/share/pki/trust/anchors/ 디렉토리에 저장된 신뢰할 수 있는 SSL CA 인증서는 마이그레이션되지 않습니다. SUSE는 컨테이너에 RPM 패키지를 설치하지 않으므로 관리자는 마이그레이션 후 레거시 설치에서 이러한 인증서 파일을 수동으로 마이그레이션해야 합니다.
-
레거시 서버에서 새 서버로 파일을 복사합니다. 예를 들어
/local/ca.file일 수 있습니다. -
다음 명령을 사용하여 파일을 컨테이너에 복사합니다.
mgrctl cp /local/ca.file server:/etc/pki/trust/anchors/
2.3.4. 마이그레이션 마무리
|
새 5.1 서버로 리디렉션하려면, 기존 서버와 동일한 FQDN 및 IP 주소를 사용하도록 새 서버의 인프라 수준(DHCP 및 DNS)에서 이름을 변경해야 합니다. |
|
마이그레이션에 문제가 발생할 경우 기존 시스템을 재시작할 수 있습니다. 루트 권한으로 다음 명령을 사용하여 PostgreSQL 및 spacewalk 서비스를 다시 시작합니다.
|
3. Kubernetes 준비
mgradm migrate 명령으로 마이그레이션을 실행하기 전에, 특히 마이그레이션 작업이 컨테이너를 처음부터 시작한다는 점을 고려하여 영구 볼륨을 필수로 미리 정의해야 합니다.
자세한 내용은 영구 컨테이너 볼륨의 설치 섹션에서 이러한 볼륨 준비 방법을 참조하십시오.
4. 마이그레이션
다음 명령을 실행하여 <oldserver.fqdn>을 레거시 서버의 적절한 FQDN으로 바꿔 새 SUSE Multi-Linux Manager 서버를 설치합니다.
mgradm migrate podman <oldserver.fqdn>
또는
mgradm migrate kubernetes <oldserver.fqdn>
|
|