23.2. 하드웨어 인트로스펙션 문제 해결
인트로스펙션 프로세스 실행을 완료해야 합니다. 하지만 검사 램디스크가 응답하지 않을 경우 ironic-inspector
가 1시간(기본값) 후에 시간 초과됩니다. 검사 램디스크의 버그가 원인인 경우도 있지만, 일반적으로는 이 시간 초과는 특히 BIOS 부팅 설정 등의 잘못된 환경 구성으로 인해 발생합니다.
다음 절차에서는 잘못된 환경 구성이 발생하는 몇 가지 일반적인 시나리오와 문제를 진단하고 해결하는 방법을 설명합니다.
절차
stackrc
파일을 소싱합니다.$ source ~/stackrc
director는 OpenStack Object Storage(swift)를 사용하여 인트로스펙션 프로세스 중에 가져온 하드웨어 데이터를 저장합니다. 이 서비스가 실행 중이 아니면 인트로스펙션이 실패할 수 있습니다. OpenStack Object Storage와 관련된 모든 서비스를 확인하여 서비스가 실행 중인지 확인합니다.
(undercloud) $ sudo systemctl list-units tripleo_swift*
노드가
manageable
상태인지 확인합니다. 인트로스펙션은 배포가 가능함을 나타내는available
상태의 노드를 검사하지 않습니다. 이 경우에는 인트로스펙션 전에 노드 상태를manageable
상태로 변경합니다.(undercloud) $ openstack baremetal node manage [NODE UUID]
인트로스펙션 램디스크에 대한 임시 액세스를 설정합니다. 인트로스펙션 디버깅 중에 노드에 액세스하는 데 사용할 임시 암호 또는 SSH 키를 제공할 수 있습니다. 램디스크 액세스를 구성하려면 다음 절차를 완료합니다.
임시 암호로
openssl passwd -1
명령을 실행하여 MD5 해시를 생성합니다.(undercloud) $ openssl passwd -1 mytestpassword $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/
/var/lib/ironic/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
또는
sshkey
매개변수에 공용 SSH 키를 추가합니다.참고rootpwd
와sshkey
매개변수에 모두 따옴표를 포함합니다.
노드에서 인트로스펙션을 실행합니다.
(undercloud) $ openstack overcloud node introspect [NODE UUID] --provide
--provide
옵션을 사용하면 인트로스펙션 완료 시 노드 상태가available
로 변경됩니다.dnsmasq
로그에서 노드의 IP 주소를 식별합니다.(undercloud) $ sudo tail -f /var/log/containers/ironic-inspector/dnsmasq.log
오류가 발생하면 root 사용자 및 임시 액세스 세부 정보를 사용하여 노드에 액세스합니다.
$ ssh root@192.168.24.105
인트로스펙션 중에 노드에 액세스하면 진단 명령을 실행하여 인트로스펙션 실패 문제를 해결할 수 있습니다.
인트로스펙션 프로세스를 중지하려면 다음 명령을 실행합니다.
(undercloud) $ openstack baremetal introspection abort [NODE UUID]
프로세스가 시간 초과될 때까지 기다릴 수도 있습니다.
참고OpenStack Platform director는 초기 중단 후 인트로스펙션을 3번 재시도합니다. 각 시도에서
openstack baremetal introspection abort
명령을 실행하여 인트로스펙션을 완전히 중단합니다.