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 키를 제공할 수 있습니다. 램디스크 액세스를 설정하려면 다음 프로세스를 사용하십시오.
openssl passwd -1
명령에 임시 암호를 제공하여 MD5 해시를 생성합니다. 예를 들면 다음과 같습니다.$ openssl passwd -1 mytestpassword $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/
/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
매개변수를 추가할 수 있습니다.참고rootpwd
및sshkey
매개변수에 모두 따옴표가 필요합니다.인트로스펙션을 시작하고
arp
명령 또는 DHCP 로그에서 IP 주소를 찾습니다.$ arp $ sudo journalctl -u openstack-ironic-inspector-dnsmasq
임시 암호 또는 SSH 키를 사용하여 root 사용자로 SSH 연결을 수행합니다.
$ ssh root@192.168.24.105
인트로스펙션 스토리지 확인
director는 OpenStack Object Storage(swift)를 사용하여 인트로스펙션 프로세스 중에 가져온 하드웨어 데이터를 저장합니다. 이 서비스가 실행 중이 아니면 인트로스펙션이 실패할 수 있습니다. OpenStack Object Storage와 관련된 모든 서비스를 확인하여 서비스가 실행 중인지 확인합니다.
$ sudo systemctl list-units openstack-swift*