이 페이지 내용
클러스터 노드 복구 또는 교체
Paragon Shell을 사용하여 Paragon Automation 클러스터에서 결함이 있는 노드를 복구하고 교체할 수 있습니다. 이 주제에서는 클러스터의 노드를 복구하고 교체하는 방법에 대해 설명합니다.
노드 복구
기존 Paragon Automation 클러스터에서 결함이 있는 노드를 복구합니다.
결함이 있는 노드의 Linux 루트 셸에 로그인합니다.
결함이 있는 노드에 로그인할 수 없는 경우 4단계로 이동합니다.
결함이 있는 노드에서 모든 RKE2 서비스를 중지하고 종료합니다.
root@node-f:~# rke2-killall.sh root@node-f:~# rke2-uninstall.sh
Ceph에 사용되는 디스크 파티션의 데이터를 지웁니다.
root@node-f:~# wipefs -a -f /dev/partition root@node-f:~# dd if=/dev/zero of=/dev/partition bs=1M count=100
OVA 번들을 사용하여 클러스터를 배포한 경우 /dev/sdb 를 사용합니다.
클러스터를 배포한 노드의 Linux 루트 셸에 로그인합니다. 클러스터의 모든 기능 노드에서 결함이 있는 노드를 복구할 수 있습니다.
클러스터에서 결함이 있는 노드를 삭제합니다.
root@primary1:~# kubectl delete node faulty-node-hostname
복구하려는 노드의 호스트 이름은 어디 faulty-node-hostname 입니까?
Paragon Shell로 들어가려면 을 입력합니다
cli.클러스터를 배포한 노드에 로그인하지 않은 경우 현재 노드에서 로그아웃하고 설치 관리자 노드에 로그인합니다.
Paragon Shell에서 노드를 복구합니다.
user@primary1> request paragon repair-node address ip-address-of-faulty-node
복구 ip-address 하려는 노드의 IP 주소입니다.
결함이 있는 노드 교체
클러스터의 기능 노드 중 하나인 Linux 루트 셸에 로그인하고 결함이 있는 노드를 삭제합니다.
root@primary1:~# kubectl delete node faulty-node-hostname
여기서 faulty-node-hostname 은 바꾸려는 노드의 호스트 이름입니다.
새 노드를 준비합니다.
결함이 있는 노드를 교체하기 전에 다음 단계를 수행하여 새 노드를 준비합니다.
결함이 있는 노드를 바꾸려는 노드에는 새 IP 주소 또는 결함이 있는 노드와 동일한 IP 주소가 있을 수 있지만 여전히 노드 VM을 만들고 준비해야 합니다.
Paragon Automation이 설치된 VMware ESXi 8.0 서버에 로그인합니다.
새 노드 VM을 만듭니다.
다음 단계를 수행하여 VM을 만듭니다.
호스트 아이콘을 마우스 오른쪽 버튼으로 클릭하고 VM 만들기/등록을 선택합니다.
새 가상 컴퓨터 마법사가 나타납니다.
생성 유형 선택 페이지에서 OVF 또는 OVA 파일에서 가상 머신 배포를 선택합니다.
다음을 클릭합니다.
OVF 및 VMDK 파일 선택 페이지에서 노드 VM의 이름을 입력합니다.
클릭하여 업로드하거나 OVA 파일 또는 OVF 파일을 .vmdk 파일과 함께 끌어다 놓습니다.
업로드할 파일 목록을 검토하고 다음을 클릭합니다.
스토리지 선택 페이지에서 노드 VM에 대해 300GB SSD를 수용할 수 있는 적절한 데이터스토어를 선택합니다.
다음을 클릭합니다. 파일을 추출하는 데 몇 분 정도 걸립니다.
배포 옵션 페이지에서 다음을 수행합니다.
노드 VM을 연결할 가상 네트워크를 선택합니다.
씩 디스크 프로비저닝 옵션을 선택합니다.
VM의 전원이 자동으로 켜지도록 설정합니다.
다음을 클릭합니다.
완료 준비 페이지에서 VM 설정을 검토합니다.
Finish(마침)를 클릭하여 노드 VM을 생성합니다.
(선택 사항) 페이지 아래쪽의 최근 작업 섹션에서 VM 만들기 진행률을 확인합니다.
모든 VM이 만들어지면 사양이 올바르고 전원이 켜져 있는지 확인합니다.
새 노드 VM을 구성합니다
다음 단계를 수행하여 노드 VM을 구성합니다.
노드 VM 콘솔에 연결합니다. 자동으로 루트로 로그인됩니다.
암호를 즉시 변경하라는 메시지가 표시됩니다. 새 암호를 입력하고 다시 입력합니다. VM에서 자동으로 로그아웃됩니다.
메모:에 대해 기존 클러스터의 VM과 동일한 암호를 입력하는 것이 좋습니다.
프롬프트 메시지가 표시되면 새로 구성된 암호를 사용하여 루트 사용자로 다시 로그인합니다.
프롬프트 메시지가 표시되면 다음 정보를 구성합니다.
표 1: VM 구성 마법사 프롬프트
행동
호스트 이름을 설정하시겠습니까? (y/n)
y를 입력하여 호스트 이름을 구성합니다.
호스트 이름을 지정하십시오.
VM의 식별 호스트 이름을 입력합니다.
호스트 이름을 입력하지 않으면 형식의 기본 호스트 이름입니다
controller-<VM-IP address 4th octet> is assigned.고정 IP(기본 설정)를 설정하시겠습니까? (y/n)
y를 입력하여 VM의 IP 주소를 구성합니다. 이 IP 주소는 결함이 있는 노드와 다르거나 동일할 수 있습니다.
CIDR 표기법으로 IP 주소를 지정하십시오.
CIDR 표기법으로 IP 주소를 입력합니다. 예: 10.1.2.3/24.
IP 주소는 기존 Paragon Automation 클러스터의 IP 주소와 동일한 서브넷에 있어야 합니다.
게이트웨이 IP를 지정하십시오.
게이트웨이 IP 주소를 입력합니다.
기본 DNS IP를 지정하십시오.
기본 DNS IP 주소를 입력합니다.
보조 DNS IP를 지정하십시오. 보조 DNS IP 주소를 입력합니다.
계속하시겠습니까 묻는 메시지가 표시되면 표시된 정보를 검토하고 y 를 입력한 다음 Enter 키를 누릅니다.
클러스터를 만들라는 메시지가 표시되면 n 을 입력하고 Enter 키를 누릅니다.
노드를 준비했으므로 이제 결함이 있는 노드를 새로 준비된 노드로 교체할 수 있습니다.
결함이 있는 노드를 교체합니다.
기존 Paragon Automation 클러스터를 배포한 노드에 로그인합니다. Paragon Shell에 배치됩니다.
- 새 노드의 IP 주소가 결함이 있는 노드의 IP 주소와 동일한 경우 5단계로 이동합니다. 새 노드의 IP 주소가 결함이 있는 노드의 IP 주소와 다른 경우 다음 단계를 수행합니다.
클러스터를 편집하려면 을(를) 입력하여
configure구성 모드를 입력합니다.user@primary1> configure Entering configuration mode [edit] user@primary1#
결함이 있는 노드를 삭제합니다.
user@primary1# delete paragon cluster nodes kubernetes 3
여기서 3 는 삭제할 노드의 색인 번호입니다.
삭제한 노드 대신 클러스터 구성에 새 노드를 추가하고 구성을 커밋합니다.
user@primary1# set paragon cluster nodes kubernetes 3 address 10.1.2.11 user@primary1# commit commit complete
여기서 10.1.2.11 은 새 노드의 IP 주소입니다.
(선택 사항) 클러스터 구성을 확인합니다.
user@primary1# show paragon cluster nodes kubernetes 1 { address 10.1.2.3; } kubernetes 2 { address 10.1.2.4; } kubernetes 3 { address 10.1.2.11; } kubernetes 4 { address 10.1.2.6; }구성 모드를 종료하고 구성 파일을 재생성합니다.
user@primary1# exit Exiting configuration mode user@primary1> request paragon config Paragon inventory file saved at /epic/config/inventory Paragon config file saved at /epic/config/config
클러스터 노드에서 SSH 키를 다시 생성합니다.
메시지가 표시되면 모든 기존 VM 및 새 VM에 대한 SSH 암호를 입력합니다. VM에 로그인하도록 구성한 것과 동일한 암호를 입력합니다.
user@primary1> request paragon ssh-key Please enter comma-separated list of IP addresses: 10.1.2.3,10.1.2.4,10.1.2.6,10.1.2.11 Please enter SSH username for the node(s): root Please enter SSH password for the node(s): password checking server reachability and ssh connectivity ... Connectivity ok for 10.1.2.3 Connectivity ok for 10.1.2.4 Connectivity ok for 10.1.2.6 Connectivity ok for 10.1.2.11 <output snipped>
노드를 교체합니다.
user@primary1# request paragon replace-node address 10.1.2.11 Process running with PID: 23xx032 To track progress, run 'monitor start /epic/config/log'
여기서 10.1.2.11 은 새 노드의 IP 주소입니다.
노드 교체 실패 시나리오
교체 노드의 IP 주소(또는 호스트 이름)가 결함이 있는 노드의 IP 주소(또는 호스트 이름)와 다른 경우 노드 교체 문제가 발생할 수 있습니다. 다음 추가 단계를 수행하여 문제를 해결합니다.
클러스터를 배포한 노드의 Linux 루트 셸에 로그인합니다.
결함이 있는 노드와 연관된 로컬 볼륨 pvc(있는 경우)를 삭제합니다.
# kubectl describe pv -A명령을 사용하여 결함이 있는 노드와 연관된 느린 pvc가 있는지 판별하고 pvc 이름을 기록해 둡니다.# kubectl get pvc -A명령을 사용하여 pvc 이름과 연관된 네임스페이스를 찾습니다.# kubectl delete pvc -n namespace pvc_name명령을 사용하여 PVC를 삭제합니다.
다음 명령을 실행하여 rook-ceph 네임스페이스
Running에 설치된 Rook 및 Ceph Pod의 상태가 또는Completed인지 확인합니다.$ kubectl get po -n rook-ceph
실패한 OSD 프로세스를 제거합니다.
$ kubectl delete deploy -n rook-ceph rook-ceph-osd-number
툴박스에 연결합니다.
$ kubectl exec -ti -n rook-ceph $(kubectl get po -n rook-ceph -l app=rook-ceph-tools -o jsonpath={..metadata.name}) -- bash실패한 OSD를 식별합니다.
$ ceph osd status
실패한 OSD를 표시하십시오.
$ ceph osd out osd-ID-number
실패한 OSD를 제거합니다.
$ ceph osd purge osd-ID-number --yes-i-really-mean-it