Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

15.2. 하드웨어 인트로스펙션 문제 해결

인트로스펙션 프로세스가 완료되어야 합니다. 그러나 검색 램디스크가 응답하지 않으면 ironic의 검색 데몬(ironic-inspector)이 기본 1시간 후에 시간 초과됩니다. 경우에 따라 이는 검색 램디스크의 버그가 표시될 수 있지만, 일반적으로는 BIOS 부팅 설정 등 잘못된 환경 구성으로 인해 발생합니다.

다음은 잘못된 환경 구성이 발생하는 몇 가지 일반적인 시나리오와 진단 및 해결 방법에 대한 설명입니다.

시작 노드 인트로스펙션 시작 오류

일반적으로 인트로스펙션 프로세스는 openstack overcloud node introspect 명령을 사용합니다. 그러나 ironic-inspector 를 사용하여 인트로스펙션을 직접 실행하는 경우 검색 대상이 아닌 AVAILABLE 상태의 노드를 검색하지 못할 수 있습니다. 검색 전에 노드 상태를 MANAGEABLE 상태로 변경합니다.

$ source ~/stackrc
(undercloud) $ openstack baremetal node manage [NODE UUID]

그런 다음 검색이 완료되면 프로비저닝 전에 다시 AVAILABLE로 변경합니다.

(undercloud) $ openstack baremetal node provide [NODE UUID]

검색 프로세스 중지

인트로스펙션 프로세스를 중지합니다.

$ source ~/stackrc
(undercloud) $ openstack baremetal introspection abort [NODE UUID]

프로세스가 시간 초과될 때까지 기다릴 수도 있습니다. 필요한 경우 /etc/ironic-inspector/inspector.conf시간 제한 설정을 초 단위로 변경합니다.

인트로스펙션 램디스크에 액세스

인트로스펙션 램디스크는 동적 로그인 요소를 사용합니다. 즉, 인트로스펙션 디버깅 중에 노드에 액세스할 임시 암호 또는 SSH 키를 제공할 수 있습니다. 램디스크 액세스를 설정하려면 다음 프로세스를 사용하십시오.

  1. openssl passwd -1 명령에 임시 암호를 제공하여 MD5 해시를 생성합니다. 예를 들면 다음과 같습니다.

    $ openssl passwd -1 mytestpassword
    $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/
  2. /httpboot/inspector.ipxe 파일을 편집하고 kernel 로 시작하는 행을 찾은 다음 rootpwd 매개변수와 MD5 해시를 추가합니다. 예를 들면 다음과 같습니다.

    kernel http://192.2.0.1:8088/agent.kernel ipa-inspection-callback-url=http://192.168.0.1:5050/v1/continue ipa-inspection-collectors=default,extra-hardware,logs systemd.journald.forward_to_console=yes BOOTIF=${mac} ipa-debug=1 ipa-inspection-benchmarks=cpu,mem,disk rootpwd="$1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/" selinux=0

    또는 공개 SSH 키를 사용하여 sshkey 매개변수를 추가할 수 있습니다.

    참고

    rootpwdsshkey 매개변수에 모두 따옴표가 필요합니다.

  3. 인트로스펙션을 시작하고 arp 명령 또는 DHCP 로그에서 IP 주소를 찾습니다.

    $ arp
    $ sudo journalctl -u openstack-ironic-inspector-dnsmasq
  4. 임시 암호 또는 SSH 키를 사용하여 root 사용자로 SSH 연결을 수행합니다.

    $ ssh root@192.168.24.105

인트로스펙션 스토리지 확인

director는 OpenStack Object Storage(swift)를 사용하여 인트로스펙션 프로세스 중에 가져온 하드웨어 데이터를 저장합니다. 이 서비스가 실행 중이 아니면 인트로스펙션이 실패할 수 있습니다. OpenStack Object Storage와 관련된 모든 서비스를 확인하여 서비스가 실행 중인지 확인합니다.

$ sudo systemctl list-units openstack-swift*