다음을 통해 공유


Azure Operator Nexus 클러스터에서 BMM 프로비저닝 문제 해결

클러스터 배포 작업의 일환으로 BMM(운영 체제 미설치 머신)은 클러스터에 참여하는 데 필요한 역할로 프로비전됩니다. 이 문서에서는 Azure CLI, Azure Portal 및 BMC(서버 베이스보드 관리 컨트롤러)를 사용하여 일반적인 프로비저닝 문제에 대한 문제 해결을 지원합니다. Azure Operator Nexus 플랫폼의 경우 기본 서버 하드웨어는 iDRAC(통합 Dell 원격 액세스 컨트롤러)를 BMC로 사용합니다. 프로비전은 PXE(Preboot eXecution Environment) 인터페이스를 사용하여 BMM에서 운영 체제(OS)를 로드합니다.

필수 조건

  1. 적절한 Azure CLI 확장의 최신 버전을 설치합니다.
  2. 다음 정보를 수집합니다.
    • 구독 ID(SUBSCRIPTION)
    • 클러스터 이름(CLUSTER)
    • 리소스 그룹(CLUSTER_RG)
    • 관리되는 리소스 그룹(CLUSTER_MRG)
  3. Azure 운영자 NF(Nexus 네트워크 패브릭) 및 네트워크 클라우드 CLI 확장 명령을 실행하기 위한 구독 액세스를 요청합니다.
  4. Azure CLI에 로그인하고 클러스터가 배포된 구독을 선택합니다.

BMM 역할

특정 버전의 경우 기본 Kubernetes 클러스터를 관리하고 운영하려면 역할이 필요합니다.

다음 역할은 BMM 리소스에 할당됩니다(BMM 역할 참조 참조).

  • 컨트롤 플레인: 클러스터에 대한 Kubernetes 컨트롤 플레인 에이전트를 실행하는 BMM입니다.
  • 관리 평면: 컨트롤러 및 확장을 포함하여 플랫폼 에이전트 실행을 담당하는 BMM입니다.
  • 컴퓨팅 평면: Kubernetes 클러스터 및 가상 머신을 비롯한 실제 테넌트 워크로드 실행을 담당하는 BMM입니다.

BMM 상태 나열

다음 명령은 관리되는 리소스 그룹의 모든 bareMetalMachineName 리소스를 간단한 상태로 나열합니다.

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

Name          ResourceGroup                  DetailedStatus    DetailedStatusMessage
------------  -----------------------------  ----------------  ---------------------------------------
BMM_NAME      CLUSTER_MRG                    STATUS            STATUS_MSG

이 프로세스는 STATUS BMM 프로비저닝 프로세스의 다음 표에 정의된 단계를 거칩니다(Azure Operator Nexus 컴퓨팅 개념의 BMM 상태 참조).

단계 actions
Registering BMC 연결/BMC 자격 증명을 확인하고 BMM을 프로비전 서비스에 추가합니다.
Preparing BMM을 다시 부팅하고, BMC를 다시 설정하며, 전원 상태를 확인합니다.
Inspecting 펌웨어를 업데이트하고 BIOS 설정을 적용하며 스토리지를 구성합니다.
Available BMM이 OS를 설치할 준비가 되었음을 나타냅니다.
Provisioning OS 이미지가 BMM에 설치되고 있음을 나타냅니다. OS가 설치되면 BMM이 클러스터에 조인하려고 시도합니다.
Provisioned BMM이 성공적으로 프로비전되고 클러스터에 조인되었음을 나타냅니다.
Deprovisioning BMM 프로비저닝에 실패했음을 나타냅니다. 프로비전 서비스는 재시도를 위해 리소스를 정리합니다.
Failed BMM 프로비저닝이 실패했으며 수동 복구가 필요했음을 나타냅니다. 모든 재시도는 모두 소진됩니다.

모든 단계에서 BMM 상세 상태는 .로 Failed설정됩니다. 다음 중단이 발생하면 단계가 차단됩니다.

  • BMC를 사용할 수 없습니다.
  • 네트워크 포트가 다운되었습니다.
  • 하드웨어 구성 요소가 실패합니다.

BMM의 더 자세한 상태를 확인하려면:

az networkcloud baremetalmachine list -g $CLUSTER_MRG --query "sort_by([].{name:name,readyState:readyState,provisioningState:provisioningState,detailedStatus:detailedStatus,detailedStatusMessage:detailedStatusMessage,powerState:powerState,machineRoles:machineRoles| join(', ', @),createdAt:systemData.createdAt}, &name)" --output table

Name            ReadyState    ProvisioningState    DetailedStatus    DetailedStatusMessage                      PowerState    MachineRoles                                      CreatedAt
------------    ----------    -----------------    --------------    -----------------------------------------  ----------    ------------------------------------------------  -----------
BMM_NAME        RSTATE        PROV_STATE           STATUS            STATUS_MSG                                 POWER_STATE   BMM_ROLE                                          CREATE_DATE

다음 표에서는 출력이 정의된 위치를 나열합니다.

출력 정의
BMM_NAME BMM 이름입니다.
RSTATE 클러스터 참여 상태(True,False).
PROV_STATE 프로비전 상태(Succeeded,Failed).
STATUS 프로비전 세부 상태(Registering,Preparing,Inspecting,Available,Provisioning,Provisioned,Deprovisioning,Failed).
STATUS_MSG 자세한 프로비전 상태 메시지.
POWER_STATE BMM(On,Off)의 전원 상태.
BMM_ROLE BMM 클러스터 역할(control-plane,management-plane,compute-plane).
CREATE_DATE BMM 만든 날짜.

예시:

x01dev01c01w01  True          Succeeded            Provisioned       The OS is provisioned to the machine       On            platform.afo-nc.microsoft.com/compute-plane=true  2024-05-03T15:12:48.0934793Z
x01dev01c01w01  False         Failed               Preparing         Preparing for provisioning of the machine  Off           platform.afo-nc.microsoft.com/compute-plane=true  2024-05-03T15:12:48.0934793Z

BMM 세부 정보

단일 BMM의 세부 정보 및 상태를 표시하려면 다음을 수행합니다.

az networkcloud baremetalmachine show -g $CLUSTER_MRG -n $BMM_NAME

문제 해결과 관련된 BMM 세부 정보:

az networkcloud baremetalmachine show -g $CLUSTER_MRG -n $BMM_NAME --query "{name:name,BootMAC:bootMacAddress,BMCMAC:bmcMacAddress,Connect:bmcConnectionString,SN:serialNumber,rackId:rackId,RackSlot:rackSlot}" -o table

실패한 프로비전 상태 문제 해결

다음 조건으로 인해 프로비저닝 오류가 발생할 수 있습니다.

오류 유형 해결
BMC에 Backplane Comm개의 심각한 오류가 표시됩니다. 1. BMM 원격 벼룩 드레인을 실행합니다.
2. BMM 물리적 벼룩 드레인을 수행합니다.
3. BMM 작업을 실행합니다 replace .
BMC에서 부팅(PXE) 네트워크 데이터 응답이 비어 있습니다. 1. 패브릭 디바이스에서 포트를 다시 설정합니다.
2. BMM 원격 벼룩 드레인을 실행합니다.
3. BMM 물리적 벼룩 드레인을 수행합니다.
4. BMM 작업을 실행합니다 replace .
부팅(PXE) MAC 주소가 일치하지 않습니다. 1. BMC 데이터에 대해 BMM MAC 주소 데이터의 유효성을 검사합니다.
2. BMM 원격 벼룩 드레인을 실행합니다.
3. BMM 물리적 벼룩 드레인을 수행합니다.
4. BMM 작업을 실행합니다 replace .
BMC MAC 주소가 일치하지 않습니다. 1. BMC 데이터에 대해 BMM MAC 주소 데이터의 유효성을 검사합니다.
2. BMM 원격 벼룩 드레인을 실행합니다.
3. BMM 물리적 벼룩 드레인을 수행합니다.
4. BMM 작업을 실행합니다 replace .
BMC의 디스크 데이터 응답이 비어 있습니다. 1. 디스크를 제거하거나 교체합니다.
2. 스토리지 컨트롤러를 제거하거나 교체합니다.
3. BMM 원격 벼룩 드레인을 실행합니다.
4. BMM 물리적 벼룩 드레인을 수행합니다.
5. BMM 작업을 실행합니다 replace .
BMC에 연결할 수 없습니다. 1. 패브릭 디바이스에서 포트를 다시 설정합니다.
2. 케이블을 제거하거나 교체합니다.
3. BMM 원격 벼룩 드레인을 실행합니다.
4. BMM 물리적 벼룩 드레인을 수행합니다.
5. BMM 작업을 실행합니다 replace .
BMC가 로그인에 실패합니다. 1. BMC에서 자격 증명을 업데이트합니다.
2. BMM 작업을 실행합니다 replace .
BMC의 메모리, CPU, OEM 심각한 오류. 1. 제거 또는 바꾸기를 사용하여 하드웨어 문제를 해결합니다.
2. BMM 원격 벼룩 드레인을 실행합니다.
3. BMM 물리적 벼룩 드레인을 수행합니다.
4. BMM 작업을 실행합니다 replace .
콘솔이 부트 로더(GRUB) 메뉴에서 중단되었습니다. 1. NVRAM 재설정을 실행합니다.
2. BMM 작업을 실행합니다 replace .

Azure BMM 활동 로그

  1. Azure Portal에 로그인합니다.
  2. 맨 위 검색 상자에서 BMM 이름을 검색 합니다.
  3. 검색 결과에서 운영 체제 미설치 컴퓨터(연산자 넥서스) 이름을 선택합니다.
  4. 서비스 메뉴에서 활동 로그를 선택합니다.
  5. Timespan 값이 프로비전 기간을 포함하는지 확인합니다.
  6. BareMetalMachines_Update 작업을 확장하고 상태를 표시하는 모든 BM을 Failed 선택합니다.
  7. JSON 탭을 선택하여 자세한 상태 메시지를 가져옵니다.

잘못된 자격 증명과 관련된 오류 또는 BMC를 사용할 수 없는 경우를 찾습니다.

BMC IPv4 주소 확인

BMC(BMC_IP)의 IPv4 주소는 Connect 이전 섹션 "BMM 세부 정보"에서 반환된 값에 있습니다.

BMC 데이터에 대해 BMM의 MAC 주소 유효성 검사

BMM에서 MAC 주소 정보를 가져오려면:

az networkcloud baremetalmachine show -g $CLUSTER_MRG -n $BMM_NAME --query "{name:name,BootMAC:bootMacAddress,BMCMAC:bmcMacAddress,SN:serialNumber,rackId:rackId,RackSlot:rackSlot}" -o table

웹 UI를 통해 BMC에 대한 MAC 주소 데이터를 확인합니다.

  • BMC>Dashboard: BMC MAC 주소를 표시합니다.
  • BMC>System Info>Network>Embedded.1-1-1: 부팅 MAC 주소를 표시합니다.

BMC 네트워크에 대한 액세스 권한이 있는 jumpbox에서 MAC 주소가 사용 racadm 중인지 확인합니다.

racadm --nocertwarn -r $IP -u $BMC_USR -p $BMC_PWD getsysinfo | grep "MAC Address "        #BMC MAC
racadm --nocertwarn -r $IP -u $BMC_USR -p $BMC_PWD getsysinfo | grep "NIC.Embedded.1-1-1"  #Boot MAC

클러스터에 제공된 MAC 주소가 잘못된 경우 BMM 작업에서 BMM replace 작업을 사용하여 주소를 수정합니다.

ping 테스트 BMC 연결

BMC IPv4 주소에 대해 명령을 실행 ping 하려고 시도합니다.

  1. 이전 섹션 "BMC IPv4 주소 확인"에서 IPv4 주소(BMC_IP)를 가져옵니다.

  2. BMC에 테스트 ping :

    BMC 네트워크에 액세스할 수 있는 점프박스에서 테스트하려면:

    ping $BMC_IP -c 3
    

    Azure CLI를 사용하여 BMM 컨트롤 플레인 호스트에서 테스트하려면 다음을 수행합니다.

    az networkcloud baremetalmachine run-read-command -g $CLUSTER_MRG -n $BMM_NAME --limit-time-seconds 60 --commands "[{command:'ping',arguments:['$BMC_IP',-c,3]}]"
    

패브릭 디바이스에서 포트 다시 설정

응답하지 않는 경우 패브릭 디바이스 포트를 다시 설정하면 BMC_IP 포트에서 자동 재생성이 다시 시도되고 다시 온라인 상태가 될 수 있습니다.

Azure에서 Network Fabric 포트를 찾으려면 다음을 수행합니다.

  1. RackID 이전 섹션 "BMM 세부 정보"에서 값 및 RackSlot 값을 가져옵니다.

  2. Azure Portal에서 BMM에 대한 네트워크 랙 랙 ID로 드릴다운합니다.

  3. 네트워크 디바이스 탭을 선택한 다음, 랙에 대한 관리(Mgmt) 스위치를 선택합니다.

  4. 리소스에서 네트워크 인터페이스를 선택합니다. 그런 다음, 다시 설정이 필요한 포트에 대한 BMC(iDRAC) 또는 부팅(PXE) 인터페이스를 선택합니다.

    다음 정보를 수집합니다.

    • 네트워크 패브릭 리소스 그룹(NF_RG)
    • 디바이스 이름(NF_DEVICE_NAME)
    • 인터페이스 이름(NF_DEVICE_INTERFACE_NAME)
  5. 포트를 다시 설정합니다.

    Azure CLI를 사용하여 포트를 다시 설정하려면 다음을 수행합니다.

    az networkfabric interface update-admin-state -g $NF_RG --network-device-name $NF_DEVICE_NAME --resource-name $NF_DEVICE_INTERFACE_NAME --state Disable
    az networkfabric interface update-admin-state -g $NF_RG --network-device-name $NF_DEVICE_NAME --resource-name $NF_DEVICE_INTERFACE_NAME --state Enable
    

BMM 원격 전원 드레이닝(잔류 드레이닝)

BMC UI를 통해 BMM에 대해 원격 벼룩 드레인을 수행하려면 다음을 수행합니다.

  1. BMC>구성>BIOS 설정>기타 설정을 선택합니다.

  2. 전원 주기 요청에서 전체 전원 주기를 선택합니다. 그런 다음 적용을 선택하고 다시 부팅합니다.

BMC 네트워크에 액세스할 수 있는 jumpbox에서 사용하여 racadm 원격 벼룩 드레인을 수행합니다.

racadm set bios.miscsettings.powercyclerequest FullPowerCycle
racadm jobqueue create BIOS.Setup.1-1
racadm serveraction powercycle

BMM 실제 전원 드레이닝(잔류 드레이닝)

실제 벼룩 드레이닝의 경우 로컬 사이트에서 두 전원 어댑터의 전원 케이블을 5분 동안 물리적으로 분리한 다음 전원을 복원합니다. 이 프로세스를 통해 서버, 커패시터 및 모든 구성 요소의 전원이 완전히 제거되고 캐시된 모든 데이터가 지워집니다.

NVRAM 초기화

OEM 또는 하드웨어 오류로 인해 프로비저닝에 실패한 경우 부팅 순서에서 먼저 표시 hdd 하거나 hard drive 나열하는 대신 부팅 시퀀스가 NVRAM PXE boot 에 잠겨 있을 수 있습니다.

이 조건은 일반적으로 콘솔의 부트로더 단계에서 BMM을 표시하며 수동으로 키를 입력하지 않아도 차단됩니다.

NVRAM을 다시 설정하려면 BMC UI에서 다음 시퀀스를 사용합니다.

  1. 유지 관리>진단>초기화 iDrac을 팩터리 기본값으로 선택합니다.

  2. 모든 설정 취소를 선택하지만 사용자 및 네트워크 설정을 유지한 다음 적용 및 다시 부팅을 선택합니다.

BMC 암호 다시 설정

활동 로그에 BMC의 잘못된 자격 증명이 표시되면 BMC 네트워크에 액세스할 수 있는 점프박스에서 다음 명령을 실행합니다.

racadm -r $BMC_IP -u $BMC_USER -p $CURRENT_PASSWORD  set iDRAC.Users.2.Password $BMC_PWD

복구 후 클러스터에 서버 다시 추가

하드웨어가 고정된 후 운영 체제 미설치 컴퓨터의 수명 주기 관리의 지침에 따라 BMM replace 작업을 실행합니다.