8.2. 베어 메탈 노드 하드웨어의 인벤토리 생성
director에는 프로필 태그, 벤치마킹 및 수동 루트 디스크 할당을 위해 RHOSP(Red Hat OpenStack Platform) 배포에 있는 노드의 하드웨어 인벤토리가 필요합니다.
다음 방법 중 하나를 사용하여 하드웨어 인벤토리를 director에 제공할 수 있습니다.
- 자동: 각 노드에서 하드웨어 정보를 수집하는 director의 인트로스펙션 프로세스를 사용할 수 있습니다. 이 프로세스는 각 노드에서 인트로스펙션 에이전트를 시작합니다. 인트로스펙션 에이전트는 노드에서 하드웨어 데이터를 수집하고 그 데이터를 다시 director로 보냅니다. director는 하드웨어 데이터를 언더클라우드 노드의 실행 중인 Object Storage 서비스(swift)에 저장합니다.
- Manual: 각 베어 메탈 머신의 기본 하드웨어 인벤토리를 수동으로 구성할 수 있습니다. 이 인벤토리는 Bare Metal Provisioning 서비스(ironic)에 저장되며 베어 메탈 머신을 관리하고 배포하는 데 사용됩니다.
오버클라우드에 derive_params.yaml
을 사용하는 경우 director의 자동 인트로스펙션 프로세스를 사용해야 합니다. 이 경우 인트로스펙션 데이터가 있어야 합니다. derive_params.yaml
에 대한 자세한 내용은 워크플로우 및 파생 매개변수를 참조하십시오.
director 자동 인트로스펙션 프로세스는 베어 메탈 프로비저닝 서비스 포트를 설정하는 수동 방법에 비해 다음과 같은 이점을 제공합니다.
-
인트로스펙션은 PXE 부팅에 사용할 포트를 포함하여 하드웨어 정보에 연결된 모든 포트를 기록합니다. (
node.yaml
에 아직 구성되지 않은 경우). -
인트로스펙션은 LLDP를 사용하여 속성을 검색할 수 있는 경우 각 포트의
local_link_connection
속성을 설정합니다. 수동 방법을 사용하는 경우 노드를 등록할 때 각 포트에 대해local_link_connection
을 구성해야 합니다. -
인트로스펙션은 스파인-리프형 또는 DCN 아키텍처를 배포할 때 베어 메탈 프로비저닝 서비스 포트에 대한
physical_network
속성을 설정합니다.
8.2.1. director 인트로스펙션을 사용하여 베어 메탈 노드 하드웨어 정보 수집
물리적 머신을 베어 메탈 노드로 등록한 후 director 인트로스펙션을 사용하여 하드웨어 세부 정보를 자동으로 추가하고 각 이더넷 MAC 주소에 대한 포트를 생성할 수 있습니다.
자동 인트로스펙션 대신 director에 베어 메탈 노드의 하드웨어 정보를 수동으로 제공할 수 있습니다. 자세한 내용은 베어 메탈 노드 하드웨어 정보 수동 구성을 참조하십시오.
사전 요구 사항
- 오버클라우드에 대한 베어 메탈 노드를 등록합니다.
절차
-
언더클라우드 호스트에
stack
사용자로 로그인합니다. stackrc
언더클라우드 인증 정보 파일을 소싱합니다.$ source ~/stackrc
pre-introspection 검증 그룹을 실행하여 인트로스펙션 요구 사항을 확인합니다.
(undercloud)$ openstack tripleo validator run --group pre-introspection
- 검증 보고서 결과를 확인하십시오.
선택 사항: 특정 검증의 자세한 출력을 확인합니다.
(undercloud)$ openstack tripleo validator show run --full <validation>
&
lt;validation
>를 검토하려는 보고서의 특정 검증 UUID로 바꿉니다.중요검증 결과가
FAILED
이더라도 Red Hat OpenStack Platform 배포나 실행을 방해할 수 없습니다. 그러나FAILED
검증 결과는 프로덕션 환경에서 잠재적으로 문제가 발행할 수 있다는 것을 의미합니다.
각 노드의 하드웨어 속성을 검사합니다. 모든 노드 또는 특정 노드의 하드웨어 속성을 검사할 수 있습니다.
모든 노드의 하드웨어 속성을 검사합니다.
(undercloud)$ openstack overcloud node introspect --all-manageable --provide
-
--all-manageable
옵션을 사용하여 관리 상태에 있는 노드만 인트로스펙션합니다. 이 예에서는 모든 노드가 관리 상태에 있습니다. -
--provide
옵션은 인트로스펙션 이후 모든 노드를available
상태로 리셋합니다.
-
특정 노드의 하드웨어 속성을 검사합니다.
(undercloud)$ openstack overcloud node introspect --provide <node1> [node2] [noden]
-
--provide
옵션을 사용하여 인트로스펙션 이후 지정된 모든 노드를available
상태로 재설정합니다. -
&
lt;node1
> ,[node
2]
-
별도의 터미널 창에서 인트로스펙션 진행 상태 로그를 모니터링합니다.
(undercloud)$ sudo tail -f /var/log/containers/ironic-inspector/ironic-inspector.log
중요인트로스펙션 프로세스가 완료되었는지 확인합니다. 베어 메탈 노드의 경우 인트로스펙션은 일반적으로 15분 정도 걸립니다. 그러나 세부 검사 네트워크의 크기가 잘못 조정되면 훨씬 더 오래 걸릴 수 있으므로 인트로스펙션이 실패할 수 있습니다.
선택 사항: IPv6를 통해 베어 메탈 프로비저닝에 언더클라우드를 구성한 경우 LLDP가 Bare Metal Provisioning 서비스(ironic) 포트에 대해
local_link_connection
을 설정했는지 확인해야 합니다.(undercloud)$ openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"
베어 메탈 노드의 포트에 대해 로컬 링크 연결 필드가 비어 있는 경우 페이크 데이터를 수동으로 사용하여
local_link_connection
값을 채워야 합니다. 다음 예제에서는 페이크 스위치 ID를52:54:00:00:00:00
으로 설정하고 페이크 포트 ID를p0
으로 설정합니다.(undercloud)$ openstack baremetal port set <port_uuid> \ --local-link-connection switch_id=52:54:00:00:00:00 \ --local-link-connection port_id=p0
로컬 링크 연결 필드에 페이크 데이터가 포함되어 있는지 확인합니다.
(undercloud)$ openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"
인트로스펙션이 완료되면 모든 노드가 available
상태로 변경됩니다.
8.2.2. 베어 메탈 노드 하드웨어 정보 수동 구성
물리적 머신을 베어 메탈 노드로 등록한 후 하드웨어 세부 정보를 수동으로 추가하고 각 이더넷 MAC 주소에 대해 베어 메탈 포트를 생성할 수 있습니다. 오버클라우드를 배포하기 전에 하나 이상의 베어 메탈 포트를 생성해야 합니다.
수동 인트로스펙션 대신 자동 director 인트로스펙션 프로세스를 사용하여 베어 메탈 노드의 하드웨어 정보를 수집할 수 있습니다. 자세한 내용은 director 인트로스펙션을 사용하여 베어 메탈 노드 하드웨어 정보를 수집합니다.
사전 요구 사항
- 오버클라우드에 대한 베어 메탈 노드를 등록합니다.
-
node
.json
에 등록된 노드의 각 포트에 대해local_link_connection
을 구성했습니다. 자세한 내용은 오버클라우드 노드 등록을 참조하십시오.
절차
-
언더클라우드 호스트에
stack
사용자로 로그인합니다. stackrc
언더클라우드 인증 정보 파일을 소싱합니다.$ source ~/stackrc
노드의 기능에
boot_option':'
을 추가하여 등록된 각 노드의 로컬로 부팅 옵션을 설정합니다.local
(undercloud)$ openstack baremetal node set \ --property capabilities="boot_option:local" <node>
-
&
lt;node&
gt;를 베어 메탈 노드의 ID로 바꿉니다.
-
&
배포 커널을 지정하고 노드 드라이버의 램디스크를 배포합니다.
(undercloud)$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
-
&
lt;node&
gt;를 베어 메탈 노드의 ID로 바꿉니다. -
<
kernel_file
>을.kernel
이미지의 경로로 바꿉니다(예:file:///var/lib/ironic/httpboot/agent.kernel
). -
<
initramfs_file
>을.initramfs
이미지 경로로 바꿉니다(예:file:///var/lib/ironic/httpboot/agent.ramdisk
).
-
&
노드의 하드웨어 사양과 일치하도록 노드 속성을 업데이트합니다.
(undercloud)$ openstack baremetal node set <node> \ --property cpus=<cpu> \ --property memory_mb=<ram> \ --property local_gb=<disk> \ --property cpu_arch=<arch>
-
&
lt;node&
gt;를 베어 메탈 노드의 ID로 바꿉니다. -
&
lt;cpu&
gt;를 CPU 수로 바꿉니다. -
<
;ram>
;을 RAM(MB)으로 바꿉니다. -
<
;disk>
;를 디스크 크기(GB)로 바꿉니다. -
<
;arch&
gt;를 아키텍처 유형으로 바꿉니다.
-
&
선택 사항: 각 노드의 IPMI 암호화 제품군을 지정합니다.
(undercloud)$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
-
&
lt;node&
gt;를 베어 메탈 노드의 ID로 바꿉니다. &
lt;version
>을 노드에서 사용할 암호화 제품군 버전으로 바꿉니다. 다음 유효한 값 중 하나로 설정합니다.-
3
- 노드는 SHA1 암호화 제품군과 AES-128을 사용합니다. -
17
- 노드는 SHA256 암호화 제품군과 함께 AES-128을 사용합니다.
-
-
&
선택 사항: 여러 디스크가 있는 경우 루트 장치 힌트를 설정하여 배포에 사용할 디스크의 배포 램디스크를 알립니다.
(undercloud)$ openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'
-
&
lt;node&
gt;를 베어 메탈 노드의 ID로 바꿉니다. <
property
> 및 <value
>를 배포에 사용할 디스크에 대한 세부 정보(예:root_device='{"size)로 바꿉니다. "128"}'
RHOSP에서는 다음 속성을 지원합니다.
-
모델
(문자열): 장치 식별자. -
벤더
(문자열): 장치 벤더. -
serial
(문자열): 디스크 일련 번호. -
hctl
(문자열): host:Channel:Target: SCSI의 Lun. -
크기
(정수): 장치 크기(GB)입니다. -
WWN (
문자열): 고유한 스토리지 식별자. -
wwn_with_extension
(문자열): 공급업체 확장이 추가된 고유한 스토리지 식별자입니다. -
wwn_vendor_extension
(문자열): 고유한 벤더 스토리지 식별자. -
rotational
(부울): 회전 장치(HDD)의 경우 true이며 그렇지 않으면 false(SSD)입니다. 이름
(문자열): 장치 이름(예: /dev/sdb1)은 영구 이름이 있는 장치에만 이 속성을 사용합니다.참고둘 이상의 속성을 지정하는 경우 장치가 해당 속성과 일치해야 합니다.If you specify more than one property, the device must match all of those properties.
-
-
&
provisioning 네트워크에서 NIC의 MAC 주소로 포트를 생성하여 베어 메탈 프로비저닝 서비스에 노드 네트워크 카드를 알립니다.
(undercloud)$ openstack baremetal port create --node <node_uuid> <mac_address>
-
&
lt;node_uuid&
gt;를 베어 메탈 노드의 고유 ID로 바꿉니다. -
&
lt;mac_address&
gt;를 PXE 부팅에 사용되는 NIC의 MAC 주소로 바꿉니다.
-
&
노드의 구성을 검증합니다.
(undercloud)$ openstack baremetal node validate <node> +------------+--------+---------------------------------------------+ | Interface | Result | Reason | +------------+--------+---------------------------------------------+ | boot | False | Cannot validate image information for node | | | | a02178db-1550-4244-a2b7-d7035c743a9b | | | | because one or more parameters are missing | | | | from its instance_info. Missing are: | | | | ['ramdisk', 'kernel', 'image_source'] | | console | None | not supported | | deploy | False | Cannot validate image information for node | | | | a02178db-1550-4244-a2b7-d7035c743a9b | | | | because one or more parameters are missing | | | | from its instance_info. Missing are: | | | | ['ramdisk', 'kernel', 'image_source'] | | inspect | None | not supported | | management | True | | | network | True | | | power | True | | | raid | True | | | storage | True | | +------------+--------+---------------------------------------------+
검증 출력
결과는
다음과 같습니다.-
false
: 인터페이스가 검증에 실패했습니다. 제공된 이유로instance_info
매개 변수[\'ramdisk', \'kernel' 및 \'image_source']
가 누락된 경우 Compute 서비스가 배포 프로세스 시작 부분에 누락된 매개변수를 채우므로 이 시점에서 설정되지 않았을 수 있습니다. 전체 디스크 이미지를 사용하는 경우 검증을 전달하도록image_source
만 설정해야 할 수 있습니다. -
true
: 인터페이스가 검증을 통과했습니다. -
없음
: 드라이버에서 인터페이스가 지원되지 않습니다.
-