Skip to main content

2026년 9월 15일

Omnissa Access Control Plane 클러스터 노드 관리

이 항목에서는 Omnissa 인프라/플랫폼 노드 및 Access 노드를 추가하여 기존 제어부 배포를 교체하는 방법을 설명하고 노드가 비정상 상태가 되고 클러스터에서 제거될 때 발생하는 상황을 설명합니다.

클러스터에 Omnissa Access 노드 추가

Omnissa Access Linux 노드를 클러스터에 추가하여 기존 제어부 노드를 교체할 수 있습니다. 부트스트랩 노드의 wso cp deploy 명령을 사용하여 새 노드가 온보딩됩니다.

사전 요구 사항

  • deploy 명령을 실행하기 전에 새 노드의 IP 주소가 cp-cluster.ini의 적절한 호스트 그룹에 추가되었습니다.
  • 부트스트랩 노드에서 SSH를 통해 새 노드에 연결할 수 있습니다.

절차:

  1. /opt/wss/<cluster_name>/cp-cluster/cp-cluster.ini 파일을 열고 해당 호스트 그룹 아래에 새 노드 IP 주소를 추가합니다. 예:

    옵션 1 - Omnissa Access 노드: 새 Omnissa Access 노드를 추가하는 경우 다음 섹션 아래에 추가합니다.

    [general_compute_access_linux]
    10.0.0.x
    10.0.0.x  # New node
    [vault_server_linux]
    10.0.0.x  # New node
    [consul_server_linux]
    10.0.0.x  # New node
    [nomad_server_linux]
    10.0.0.x  # New node
    [general_compute_nginx_http]
    10.0.0.x  # New node
    

    옵션 2 - 인프라/플랫폼 노드: 인프라/플랫폼 노드에 대해 새 노드를 추가하는 경우 다음 섹션을 제외한 모든 섹션 아래에 추가합니다.

    [general_compute_access_linux]
    [general_compute_nginx_http]
    [asset_server_linux]
    
    # If the new node is a candidate for asset-server-linux that will replace existing asset-server, you must add a node IP in asset_server_linux, too.
    

    중요: 부트스트랩 노드 IP 주소를 인벤토리에 추가하지 마십시오. 부트스트랩 IP가 감지되면 유효성 검사가 실패합니다.

  2. 부트스트랩 노드에서 wso cp deploy를 실행하여 노드를 온보딩합니다.

    • 하나 이상의 특정 노드를 온보딩하려면 -t(--target-hosts) 플래그를 사용합니다.

      # navigate to your cluster working directory
      cd /opt/wss/<cluster_name>
      wso cp deploy -t "10.0.0.x"
      

      여러 노드의 경우:

      cd /opt/wss/<cluster_name>
      wso cp deploy -t "10.0.0.x,10.0.0.x"
      
  3. 다음 명령을 실행하여 클러스터가 정상 상태인지 확인합니다.

    wso healthcheck
    
  4. 워크로드(서비스)를 새 노드로 이동합니다. 기본적으로 새로 추가된 노드에서 실행 중인 워크로드는 없습니다. Nomad 토큰을 사용하여 Nomad UI에 로그인하고 아래 단계를 수행해야 합니다.

    1. https://10.0.0.x:4646/ui/jobs에서 Nomad UI에 로그인합니다.
    2. 클라이언트를 클릭합니다.
    3. 워크로드를 이동할 노드 ID를 클릭합니다.
    4. 추출을 클릭하여 워크로드를 새 VM으로 이동합니다.

    참고: 추출 작업이 완료되면 모든 워크로드가 새 VM으로 이동됩니다. 선택한 서비스를 새 노드로 이동할 수 없습니다.

  5. 다음 명령을 실행하여 클러스터에서 기존 노드를 제거합니다.

    # From the bootstrap VM
    source /opt/wss/<cluster_name>/cp-cluster/cp-cluster.env
    server_id = <node_ip> # IP of the node being removed
    
    # API to remove peer
    curl -sk \
    -H "X-Vault-Token: $VAULT_TOKEN" \
    -H "Content-Type: application/json" \
    -X POST \
    -d '{"server_id":"$server_id"}' \
    "$VAULT_ADDRESS/v1/sys/storage/raft/remove-peer"
    
  6. 클러스터 및 서비스의 상태를 확인합니다.

    wso healthcheck
    wso access check-service-readiness
    

문제 해결

문제원인해결 방법
인벤토리의 부트스트랩 IP부트스트랩 노드 IP가 cp-cluster.ini에 추가되었습니다.인벤토리 파일에서 부트스트랩 IP를 제거합니다.
배포 건너뜀노드가 이미 온보딩되었습니다(해시 일치).-f(--force)를 사용하여 다시 실행합니다.
SSH 연결 거부됨노드에 연결할 수 없거나 SSH가 구성되지 않았습니다.연결 및 SSH 키를 확인합니다.
Consul 또는 Vault 단계에서 실패Consul 또는 Vault 클러스터가 비정상 상태입니다.노드를 추가하기 전에 클러스터 상태를 확인합니다.

클러스터에서 Omnissa Access 노드 제거

제어부 클러스터에서 노드를 제거하는 전용 CLI 명령이 없습니다. 노드를 사용할 수 없거나 비정상 상태가 되면 클러스터가 자동으로 제거를 처리합니다.

  • 약 2개의 하트비트가 누락된 후 노드가 새 워크로드 할당 수신을 중지합니다.
  • 노드의 기존 워크로드가 정상 노드로 다시 스케줄링됩니다.
  • 수동 제거 명령은 필요하지 않습니다.
  1. 모든 관련 섹션에서 cp-cluster.ini 파일에서 이전 노드 IP를 제거합니다.
  2. 제거된 노드의 전원을 끕니다.

참고: 클러스터 멤버 자격 정리는 장애 감지와 다른 타임라인에서 발생합니다.

  • Consul은 24~72시간 사이에 멤버 목록에서 비활성 노드를 자동으로 제거합니다.
  • Nomad는 다음 가비지 수집 주기 동안 오래된 노드를 제거합니다.
  • 이로 인해 제거된 노드는 스케줄링에 더 이상 사용되지 않더라도 트래픽 수신을 중지한 후 잠시 동안 Nomad 또는 Consul UI에 계속 표시될 수 있습니다.

제어부 클러스터 노드에 대한 암호 관리

configuser 및 root 계정의 기본 암호 만료 기간은 60일입니다. 모든 제어부 클러스터 노드의 암호는 만료되기 전에 변경해야 합니다.

루트 암호와 configuser 암호는 서로 일치할 필요는 없지만 클러스터의 모든 노드에서 각각 동일해야 합니다. 예를 들어 루트 암호는 모든 노드에서 동일해야 하며 configuser 암호는 모든 노드에서 동일해야 합니다.

configuser 또는 루트 암호 재설정

루트 또는 sudo를 통해 로그인한 단일 노드:

passwd configuser
passwd root

부트스트랩 노드에서 한 번에 모든 노드에서 다음을 수행합니다.

export TARGETS='general_compute_linux:general_compute_access_linux'
wso control-plane ansible -- -b -m shell -a "echo 'configuser:NEW_PASSWORD' | chpasswd" "${TARGETS}"
wso control-plane ansible -- -b -m shell -a "echo 'root:NEW_PASSWORD' | chpasswd" "${TARGETS}"

실행하기 전에 NEW_PASSWORD를 실제 암호로 바꾸고 ${TARGETS}를 노드가 업데이트할 Ansible 인벤토리 그룹 또는 호스트 패턴으로 바꿉니다. 저장된 스크립트 또는 셸 기록에는 리터럴 자리 표시자를 삽입하지 마십시오.

중요: configuser 암호를 변경한 후 부트스트랩 노드의 cp-cluster.ini에서 동일한 암호를 업데이트합니다. 그렇지 않으면 클러스터에 대한 wso CLI 작업이 인증에 실패하게 됩니다. 재설정 후 활성 configuser 세션을 무효화할 필요가 없습니다.

암호 만료 기간 변경

60일 만료 기간은 각 계정의 암호 에이징 필드를 통해 제어됩니다.

참고: configuser 권한으로 실행하는 경우 명령 앞에 sudo를 사용합니다.

다음을 사용하여 현재 설정을 확인합니다.

chage -l configuser
chage -l root

계정별로 변경(단일 노드):

chage -M <days> configuser
chage -M <days> root

-M은 암호가 유효한 상태로 유지되는 최대 일 수를 설정합니다. -1은 만료를 사용하지 않도록 설정합니다(root 또는 서비스 계정에는 일반적으로 권장되지 않음).

완전히 잊어버린 루트 암호 복구

이를 위해서는 영향을 받는 VM에 대한 콘솔(하이퍼바이저) 액세스가 필요합니다. 이 작업은 SSH를 통해 수행할 수 없으며 한 번에 하나의 노드만 복구됩니다.

  1. VM을 재부팅하고 GRUB 메뉴에서 중단합니다.

  2. 부팅 항목을 강조 표시하고 e 키를 눌러 편집합니다.

  3. linux(또는 linux16)로 시작하는 줄을 찾아 맨 끝으로 이동한 후 다음을 추가합니다.

    rd.break enforcing=0
    
  4. 수정된 매개 변수를 사용하여 부팅하려면 Ctrl+X(또는 F10)를 누릅니다. 그러면 Dracut 긴급 셸로 이동됩니다.

  5. 루트 파일 시스템 읽기-쓰기를 다시 마운트하고 chroot를 수행합니다.

    mount -o remount,rw /sysroot
    chroot /sysroot
    
  6. 새 암호를 설정합니다.

    passwd root
    
  7. SELinux가 이 세션에 대해 허용 모드에 있었기 때문에 다음 부팅 시 SELinux 레이블 재지정을 위해 파일 시스템에 플래그를 지정합니다.

    touch /.autorelabel
    
  8. chroot를 종료하고 재부팅합니다.

    exit
    reboot
    

    이 작업 이후의 첫 번째 부팅은 SELinux 레이블 재지정 때문에 평소보다 오래 걸립니다.

이 페이지가 도움이 되었나요?

이 항목에 대한 피드백 보내기

이 항목이 도움이 되었나요?

개인정보나 기밀정보는 입력하지 마세요.

링크를 생성하는 중…