Bare Metal Provisioning
Bare Metal Provisioning 서비스(ironic) 설치 및 구성
초록
1장. Bare Metal Provisioning 서비스(ironic) 기능 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic) 구성 요소를 사용하여 클라우드 사용자의 베어 메탈 인스턴스로 물리적 머신을 프로비저닝하고 관리합니다. 베어 메탈 인스턴스를 프로비저닝하고 관리하기 위해 베어 메탈 프로비저닝 서비스는 오버클라우드의 다음 RHOSP(Red Hat OpenStack Platform) 서비스와 상호 작용합니다.
- Compute 서비스(nova)는 가상 머신 인스턴스 관리를 위한 스케줄링, 테넌트 할당량 및 사용자용 API를 제공합니다. 베어 메탈 프로비저닝 서비스는 하드웨어 관리를 위한 관리 API를 제공합니다.
- ID 서비스(keystone)는 요청 인증을 제공하고 Bare Metal Provisioning 서비스를 지원하여 다른 RHOSP 서비스를 찾습니다.
- Image 서비스(glance)는 디스크 및 인스턴스 이미지 및 이미지 메타데이터를 관리합니다.
- Networking 서비스(neutron)는 DHCP 및 네트워크 구성을 제공하고 부팅 시 인스턴스가 연결된 가상 또는 물리적 네트워크를 프로비저닝합니다.
- Object Storage 서비스(swift)는 일부 드라이버의 임시 이미지 URL을 표시합니다.
Bare Metal 프로비저닝 서비스 구성 요소
베어 메탈 프로비저닝 서비스는 ironic-* 이라는 서비스로 구성됩니다. 다음 서비스는 베어 메탈 프로비저닝의 핵심 서비스입니다.
- Bare Metal Provisioning API (
ironic-api) - 이 서비스는 사용자에게 외부 REST API를 제공합니다. API는 원격 프로시저 호출(RPC)을 통해 애플리케이션 요청을 Bare Metal Provisioning conductor로 보냅니다.
- Bare Metal Provisioning conductor (
ironic-conductor) 이 서비스는 드라이버를 사용하여 다음 베어 메탈 노드 관리 작업을 수행합니다.
- 베어 메탈 노드를 추가, 편집 및 삭제합니다.
- IPMI, Redfish 또는 기타 벤더별 프로토콜을 사용하여 베어 메탈 노드의 전원을 켜거나 끕니다.
- 베어 메탈 노드를 프로비저닝, 배포 및 정리합니다.
- Bare Metal Provisioning inspector (
ironic-inspector) - 이 서비스는 베어 메탈 인스턴스를 예약하는 데 필요한 베어 메탈 노드의 하드웨어 속성을 검색하고 검색된 이더넷 MAC에 대해 베어 메탈 프로비저닝 서비스 포트를 생성합니다.
- Bare Metal 프로비저닝 데이터베이스
- 이 데이터베이스는 하드웨어 정보 및 상태를 추적합니다.
- 메시지 큐
-
모든 서비스는
ironic-api와ironic-conductor간의 RPC 구현을 포함하여 이 메시징 서비스를 사용하여 서로 통신합니다. - Bare Metal Provisioning 에이전트 (
ironic-python-agent) -
이 서비스는 임시 램디스크에서 실행되어
ironic-conductor및ironic-inspector서비스에 원격 액세스, 대역 내 하드웨어 제어 및 하드웨어 인트로스펙션을 제공합니다.
베어 메탈 인스턴스 프로비저닝
베어 메탈 프로비저닝 서비스는 iPXE를 사용하여 물리적 머신을 베어 메탈 인스턴스로 프로비저닝합니다. 다음 다이어그램에서는 클라우드 사용자가 기본 드라이버를 사용하여 새 베어 메탈 인스턴스를 시작할 때 프로비저닝 프로세스 중에 RHOSP 서비스가 상호 작용하는 방법을 간략하게 설명합니다.
2장. 베어 메탈 프로비저닝 요구사항 링크 복사링크가 클립보드에 복사되었습니다!
클라우드 사용자가 베어 메탈 인스턴스를 시작할 수 있는 오버클라우드를 제공하려면 RHOSP(Red Hat OpenStack Platform) 환경에 필요한 하드웨어 및 네트워크 구성이 있어야 합니다.
2.1. 하드웨어 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
프로비저닝을 위해 클라우드 사용자가 사용할 베어 메탈 머신의 하드웨어 요구 사항은 운영 체제에 따라 다릅니다. Red Hat Enterprise Linux 설치의 하드웨어 요구 사항에 대한 자세한 내용은 Red Hat Enterprise Linux 제품 문서를 참조하십시오.
프로비저닝을 위해 클라우드 사용자가 사용할 수 있도록 하려는 모든 베어 메탈 머신에는 다음과 같은 기능이 있어야 합니다.
- 베어 메탈 네트워크에 연결하는 NIC입니다.
-
ironic-conductor서비스에서 연결할 수 있는 네트워크에 연결된 Redfish 또는 IPMI와 같은 전원 관리 인터페이스입니다. 기본적으로ironic-conductor는 구성 가능 역할을 사용하고ironic-conductor를 다른 위치에서 실행하지 않는 한 모든 컨트롤러 노드에서 실행됩니다. - 베어 메탈 네트워크에서 PXE 부팅. 배포의 다른 모든 NIC에서 PXE 부팅을 비활성화합니다.
2.2. 네트워킹 요구사항 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 네트워크는 다음 작업에 사용할 베어 메탈 프로비저닝 서비스의 사설 네트워크여야 합니다.
- 오버클라우드의 베어 메탈 머신 프로비저닝 및 관리.
- 노드가 프로비저닝되지 않은 경우 베어 메탈 노드 정리
- 베어 메탈 머신에 대한 테넌트 액세스.
베어 메탈 네트워크는 베어 메탈 시스템을 검색하는 DHCP 및 PXE 부팅 기능을 제공합니다. 베어 메탈 프로비저닝 서비스에서 PXE 부팅 및 DHCP 요청을 제공할 수 있도록 이 네트워크는 트렁크된 인터페이스에서 기본 VLAN을 사용해야 합니다.
베어 메탈 머신은 RHOSP(Red Hat OpenStack Platform) 환경의 컨트롤 플레인 네트워크에 직접 액세스할 수 있으므로 오버클라우드의 베어 메탈 프로비저닝 서비스는 신뢰할 수 있는 테넌트 환경을 위해 설계되었습니다. 따라서 기본 베어 메탈 네트워크는 ironic-conductor 서비스에 플랫 네트워크를 사용합니다.
테넌트가 컨트롤 플레인 네트워크를 방해할 수 있으므로 기본 플랫 프로비저닝 네트워크는 고객 환경에 보안 문제가 발생할 수 있습니다. 이 위험을 방지하려면 컨트롤 플레인에 액세스할 수 없는 베어 메탈 프로비저닝 서비스에 대해 사용자 정의 구성 가능 베어 메탈 프로비저닝 네트워크를 구성할 수 있습니다.
베어 메탈 네트워크는 프로비저닝에 대해 태그를 지정하지 않아야 하며 베어 메탈 프로비저닝 API에도 액세스할 수 있어야 합니다. director 프로비저닝 네트워크라고도 하는 컨트롤 플레인 네트워크는 항상 태그되지 않습니다. 다른 네트워크에 태그를 지정할 수 있습니다.
베어 메탈 프로비저닝 서비스를 호스팅하는 컨트롤러 노드는 베어 메탈 네트워크에 액세스할 수 있어야 합니다.
베어 메탈 머신이 PXE 부팅으로 구성된 NIC는 베어 메탈 네트워크에 액세스할 수 있어야 합니다.
베어 메탈 네트워크는 OpenStack 운영자가 생성합니다. 클라우드 사용자는 공용 OpenStack API 및 베어 메탈 네트워크에 직접 액세스할 수 있습니다. 기본 플랫 베어 메탈 네트워크를 사용하면 클라우드 사용자가 컨트롤 플레인에 대한 간접 액세스 권한도 있습니다.
베어 메탈 프로비저닝 서비스는 노드 정리에 베어 메탈 네트워크를 사용합니다.
2.2.1. 기본 베어 메탈 네트워크 링크 복사링크가 클립보드에 복사되었습니다!
기본 Bare Metal Provisioning 서비스 배포 아키텍처에서 베어 메탈 네트워크는 컨트롤 플레인 네트워크와 다릅니다. 베어 메탈 네트워크는 테넌트 네트워크 역할을 하는 플랫 네트워크입니다. 이 네트워크는 director 프로비저닝 네트워크라는 컨트롤 플레인의 베어 메탈 프로비저닝 서비스로 라우팅해야 합니다. 분리된 베어 메탈 네트워크를 정의하는 경우 베어 메탈 노드는 PXE 부팅을 수행할 수 없습니다.
기본 베어 메탈 네트워크 아키텍처 다이어그램
2.2.2. 사용자 정의 구성 가능 베어 메탈 네트워크 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스 배포 아키텍처에서 사용자 지정 구성 가능 베어 메탈 네트워크를 사용하는 경우 베어 메탈 네트워크는 컨트롤 플레인에 액세스할 수 없는 사용자 지정 구성 가능 네트워크입니다. 컨트롤 플레인에 대한 액세스를 제한하려면 사용자 정의 구성 가능 베어 메탈 네트워크를 사용합니다.
3장. 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)를 사용하여 오버클라우드를 배포하려면 베어 메탈 네트워크를 생성 및 구성하고 베어 메탈 프로비저닝을 활성화하도록 오버클라우드를 구성해야 합니다.
베어 메탈 네트워크를 생성합니다. 컨트롤러 노드에서 provisioning 네트워크 인터페이스를 재사용하여 플랫 네트워크를 생성하거나 사용자 정의 네트워크를 생성할 수 있습니다.
베어 메탈 프로비저닝을 활성화하도록 오버클라우드를 구성합니다.
OVN(Open Virtual Network)을 사용하는 경우 Bare Metal Provisioning 서비스는 ironic-overcloud.yaml 파일 neutron-dhcp-agent 에 정의된 DHCP 에이전트에서만 지원됩니다. OVN의 기본 제공 DHCP 서버는 프로비저닝 네트워크에 베어 메탈 노드를 프로비저닝하거나 DHCP를 제공할 수 없습니다. iPXE 체인 로드를 활성화하려면 OVN DHCP 서버에서 지원하지 않는 dnsmasq에서 --dhcp-match 태그를 설정해야 합니다.
사전 요구 사항
- 사용자 환경이 최소 요구 사항을 충족합니다. 자세한 내용은 베어 메탈 프로비저닝 요구 사항을 참조하십시오.
3.1. 기본 플랫 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
기본 플랫 베어 메탈 네트워크를 사용하려면 컨트롤러 노드에서 provisioning 네트워크 인터페이스를 재사용하여 Bare Metal Provisioning 서비스(ironic) 브리지를 생성합니다.
절차
-
stack사용자로 언더클라우드에 로그인합니다. stackrc파일을 소싱합니다.source ~/stackrc
[stack@director ~]$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow /home/stack/templates/nic-configs/controller.yaml파일을 수정하여 컨트롤러 노드eth1에서 provisioning 네트워크 인터페이스를 재사용하여 베어 메탈 네트워크의 브릿지를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고provisioning 네트워크를 재사용하여 VLAN을 생성할 때 베어 메탈 네트워크에 태그를 지정할 수 없습니다.
network-environment.yaml파일의NeutronBridgeMappings매개변수에br-baremetal을 추가합니다.parameter_defaults: NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetal
parameter_defaults: NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetalCopy to Clipboard Copied! Toggle word wrap Toggle overflow network-environment.yaml파일의NeutronFlatNetworks매개변수로 지정된 네트워크 목록에baremetal을 추가합니다.parameter_defaults: NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetal NeutronFlatNetworks: datacentre,baremetal
parameter_defaults: NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetal NeutronFlatNetworks: datacentre,baremetalCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. 사용자 지정 IPv4 프로비저닝 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
IPv4를 통해 오버클라우드를 프로비저닝하고 배포할 사용자 지정 IPv4 프로비저닝 네트워크를 만듭니다.
프로세스
-
언더클라우드 호스트에
stack사용자로 로그인합니다. stackrc언더클라우드 인증 정보 파일을 소싱합니다.source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow network_data.yaml파일을 환경 파일 디렉터리에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/templates/network_data.yaml
(undercloud) [stack@host01 ~]$ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/templates/network_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드 프로비저닝을 위한 새 네트워크를
network_data.yaml파일에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;ipv4_subnet_address>를 IPv4 서브넷의 IPv4 주소로 바꿉니다. -
&
lt;ipv4_mask>를 IPv4 서브넷의 IPv4 네트워크 마스크로 바꿉니다. -
<
ipv4_start_address> 및 <ipv4_end_address>를 주소 할당에 사용할 IPv4 범위로 바꿉니다.
-
&
새 IPv4 프로비저닝 네트워크를 사용하도록
ServiceNetMap구성에서IronicApiNetwork및IronicNetwork를 구성합니다.ServiceNetMap: IronicApiNetwork: oc_provisioning IronicNetwork: oc_provisioning
ServiceNetMap: IronicApiNetwork: oc_provisioning IronicNetwork: oc_provisioningCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 네트워크를 로컬 컨트롤러 NIC 구성 파일에 인터페이스로 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roles_data.yaml파일을 환경 파일 디렉터리에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data.yaml
(undercloud) [stack@host01 ~]$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 컨트롤러의 새 네트워크를
roles_data.yaml파일에 추가합니다.networks: ... OcProvisioning: subnet: oc_provisioning_subnetnetworks: ... OcProvisioning: subnet: oc_provisioning_subnetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 아직 없는 경우
roles_data.yaml파일의Ironic역할에IronicInspector서비스를 포함합니다.ServicesDefault: OS::TripleO::Services::IronicInspector
ServicesDefault: OS::TripleO::Services::IronicInspectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. 사용자 지정 IPv6 프로비저닝 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
IPv6를 통해 오버클라우드를 프로비저닝하고 배포할 사용자 지정 IPv6 프로비저닝 네트워크를 만듭니다.
절차
-
stack사용자로 언더클라우드에 로그인합니다. stackrc파일을 소싱합니다.source ~/stackrc
[stack@director ~]$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow network_data.yaml파일을 환경 파일 디렉터리에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/templates/network_data.yaml
(undercloud) [stack@host01 ~]$ cp /usr/share/openstack-tripleo-heat-templates/network_data.yaml /home/stack/templates/network_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드 프로비저닝을 위한 새 IPv6 네트워크를
network_data.yaml파일에 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;ipv6_subnet_address>를 IPv6 서브넷의 IPv6 주소로 바꿉니다. -
&
lt;ipv6_prefix>를 IPv6 서브넷의 IPv6 네트워크 접두사로 바꿉니다. -
<
ipv6_start_address> 및 <ipv6_end_address>를 주소 할당에 사용할 IPv6 범위로 바꿉니다. -
&
lt;ipv6_gw_address>를 게이트웨이의 IPv6 주소로 바꿉니다.
-
&
환경 파일 디렉터리에 새 파일
network_environment_overrides.yaml을 생성합니다.touch /home/stack/templates/network_environment_overrides.yaml
$ touch /home/stack/templates/network_environment_overrides.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 IPv6 프로비저닝 네트워크를 사용하도록
network_environment_overrides.yaml파일에서IronicApiNetwork및IronicNetwork를 구성합니다.ServiceNetMap: IronicApiNetwork: oc_provisioning_ipv6 IronicNetwork: oc_provisioning_ipv6
ServiceNetMap: IronicApiNetwork: oc_provisioning_ipv6 IronicNetwork: oc_provisioning_ipv6Copy to Clipboard Copied! Toggle word wrap Toggle overflow IronicIpVersion매개변수를6으로 설정합니다.parameter_defaults: IronicIpVersion: 6
parameter_defaults: IronicIpVersion: 6Copy to Clipboard Copied! Toggle word wrap Toggle overflow RabbitIPv6,MysqlIPv6및RedisIPv6매개변수를 활성화합니다.parameter_defaults: RabbitIPv6: True MysqlIPv6: True RedisIPv6: True
parameter_defaults: RabbitIPv6: True MysqlIPv6: True RedisIPv6: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 네트워크를 로컬 컨트롤러 NIC 구성 파일에 인터페이스로 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow roles_data.yaml파일을 환경 파일 디렉터리에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data.yaml
(undercloud) [stack@host01 ~]$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Controller 역할의 새 네트워크를
roles_data.yaml파일에 추가합니다.networks: ... - OcProvisioningIPv6
networks: ... - OcProvisioningIPv6Copy to Clipboard Copied! Toggle word wrap Toggle overflow 아직 없는 경우
roles_data.yaml파일의Ironic역할에IronicInspector서비스를 포함합니다.ServicesDefault: OS::TripleO::Services::IronicInspector
ServicesDefault: OS::TripleO::Services::IronicInspectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. 베어 메탈 프로비저닝을 활성화하도록 오버클라우드 설정 링크 복사링크가 클립보드에 복사되었습니다!
/usr/share/openstack-tripleo-heat-templates/environments/services 디렉터리에 있는 기본 템플릿 중 하나를 사용하여 Bare Metal Provisioning 서비스(ironic)가 활성화된 오버클라우드를 배포합니다.
-
OVS를 사용하는 배포의 경우:
ironic.yaml -
OVN:
ironic-overcloud.yaml을 사용하는 배포의 경우
배포에 필요한 대로 로컬 환경 파일을 생성하여 기본 구성을 재정의할 수 있습니다.
프로세스
-
로컬 디렉터리에 환경 파일을 생성하여 배포에 대한 Bare Metal Provisioning 서비스(예:
ironic-overrides.yaml)를 구성합니다. 선택 사항: 프로비저닝 전과 프로비저닝 사이에 베어 메탈 머신에서 수행되는 정리 유형을 구성합니다.
parameter_defaults: IronicCleaningDiskErase: <cleaning_type>
parameter_defaults: IronicCleaningDiskErase: <cleaning_type>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;cleaning_type>을 다음 값 중 하나로 바꿉니다.-
Full: (기본값) 전체 정리를 수행합니다. -
metadata: 파티션 테이블만 정리합니다. 이러한 유형의 정리는 정리 과정의 속도를 크게 높입니다. 그러나 다중 테넌트 환경에서 배포가 덜 안전하므로 신뢰할 수 있는 테넌트 환경에서만 이 옵션을 사용합니다.
-
선택 사항: 기본 드라이버에 드라이버를 추가합니다.
parameter_defaults: IronicEnabledHardwareTypes: ipmi,idrac,ilo,[additional_driver_1],...,[additional_driver_n]
parameter_defaults: IronicEnabledHardwareTypes: ipmi,idrac,ilo,[additional_driver_1],...,[additional_driver_n]Copy to Clipboard Copied! Toggle word wrap Toggle overflow [additional_driver_1], 선택적으로[additional_driver_n]까지 모든 드라이버를 활성화하려는 추가 드라이버로 교체합니다.베어 메탈 인트로스펙션을 활성화하려면 로컬 베어 메탈 프로비저닝 서비스 환경 파일
ironic-overrides.yaml에 다음 구성을 추가합니다.parameter_defaults: IronicInspectorSubnets: - ip_range: <ip_range> IPAImageURLs: '["http://<ip_address>:<port>/agent.kernel", "http://<ip_address>:<port>/agent.ramdisk"]' IronicInspectorInterface: '<baremetal_interface>'parameter_defaults: IronicInspectorSubnets: - ip_range: <ip_range> IPAImageURLs: '["http://<ip_address>:<port>/agent.kernel", "http://<ip_address>:<port>/agent.ramdisk"]' IronicInspectorInterface: '<baremetal_interface>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;ip_range>를 환경의 IP 범위(예:192.168.0.100,192.168.0.120)로 바꿉니다. -
<
ip_address>:<port>를 IPA 커널 및 램디스크를 호스팅하는 웹 서버의 IP 주소 및 포트로 바꿉니다. 언더클라우드에서 사용하는 것과 동일한 이미지를 사용하려면 IP 주소를 언더클라우드 IP 주소로 설정하고 포트를8088으로 설정합니다. 이 매개변수를 생략하는 경우 각 컨트롤러 노드에 대안을 포함해야 합니다. -
&
lt;baremetal_interface>를 베어 메탈 네트워크 인터페이스(예:br-baremetal)로 바꿉니다.
-
&
새 역할 및 사용자 지정 환경 파일을 다른 환경 파일과 함께 스택에 추가하고 오버클라우드를 배포합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
배포를 위한 네트워킹 서비스 메커니즘 드라이버에 따라 <
default_ironic_template>을ironic.yaml또는ironic-overcloud.yaml로 바꿉니다.
참고이후 파일의 구성이 우선하므로 환경 파일을
openstack overcloud deploy명령에 전달하는 순서가 중요합니다. 따라서 오버클라우드에서 베어 메탈 프로비저닝을 활성화하고 구성하는 환경 파일은 네트워크 구성 파일 뒤에 명령으로 전달되어야 합니다.-
배포를 위한 네트워킹 서비스 메커니즘 드라이버에 따라 <
3.5. Bare Metal 프로비저닝 서비스 테스트 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack Integration Test Suite를 사용하여 Red Hat OpenStack 배포를 검증할 수 있습니다. 자세한 내용은 OpenStack Integration Test Suite Guide 를 참조하십시오.
Bare Metal Provisioning 서비스에 대한 추가 확인 방법:
관리자로 ID에 액세스하도록 쉘을 구성합니다.
source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow nova-compute서비스가 컨트롤러 노드에서 실행 중인지 확인합니다.openstack compute service list -c Binary -c Host -c Status
$ openstack compute service list -c Binary -c Host -c StatusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 ironic 드라이버를 변경한 경우 필요한 드라이버가 활성화되어 있는지 확인합니다.
openstack baremetal driver list
$ openstack baremetal driver listCopy to Clipboard Copied! Toggle word wrap Toggle overflow ironic 끝점이 나열되어 있는지 확인합니다.
openstack catalog list
$ openstack catalog listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6. 추가 리소스 링크 복사링크가 클립보드에 복사되었습니다!
- Director 설치 및 사용 가이드의 배포 명령 옵션
- 오버클라우드용 IPv6 네트워킹
- Overcloud Parameters 가이드의 Bare Metal(ironic) 매개변수
4장. 배포 후 Bare Metal 프로비저닝 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)를 사용하여 오버클라우드를 배포한 경우 베어 메탈 워크로드를 위해 오버클라우드를 준비해야 합니다. 베어 메탈 워크로드를 위해 오버클라우드를 준비하고 클라우드 사용자가 베어 메탈 인스턴스를 생성할 수 있도록 하려면 다음 작업을 완료합니다.
- 베어 메탈 프로비저닝 서비스와 통합되도록 네트워킹 서비스(neutron)를 구성합니다.
- 노드 정리를 구성합니다.
- 베어 메탈 플레이버 및 리소스 클래스를 생성합니다.
- 선택 사항: 베어 메탈 이미지를 생성합니다.
- 물리적 머신을 베어 메탈 노드로 추가합니다.
- 선택 사항: Redfish 가상 미디어 부팅을 구성합니다.
- 선택 사항: 호스트 집계를 생성하여 물리적 및 가상 머신 프로비저닝을 분리합니다.
4.1. 베어 메탈 프로비저닝을 위한 네트워킹 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)와 통합하도록 Networking 서비스(neutron)를 구성할 수 있습니다. 다음 방법 중 하나를 사용하여 베어 메탈 네트워크를 구성할 수 있습니다.
-
Bare Metal Provisioning conductor 서비스
ironic-conductor용으로 단일 플랫 베어 메탈 네트워크를 생성합니다. 이 네트워크는 컨트롤 플레인 네트워크의 베어 메탈 프로비저닝 서비스로 라우팅해야 합니다. - 오버클라우드에서 베어 메탈 프로비저닝 서비스를 구현할 사용자 지정 구성 가능 네트워크를 생성합니다.
4.1.1. 플랫 네트워크에서 베어 메탈 프로비저닝 서비스와 통합하도록 네트워킹 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning conductor 서비스에 대한 단일 플랫 베어 메탈 네트워크 ironic-conductor 를 생성하여 Bare Metal Provisioning 서비스(ironic)와 통합하도록 Networking 서비스(neutron)를 구성할 수 있습니다. 이 네트워크는 컨트롤 플레인 네트워크의 베어 메탈 프로비저닝 서비스로 라우팅해야 합니다.
프로세스
-
Networking 서비스(neutron)를
root사용자로 호스팅하는 노드에 로그인합니다. 오버클라우드 인증 정보 파일을 소싱합니다.
source ~/<credentials_file>
# source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;credentials_file>을 인증 정보 파일의 이름으로 바꿉니다(예:overcloudrc).
-
&
베어 메탈 인스턴스를 프로비저닝할 flat 네트워크를 생성합니다.
openstack network create \ --provider-network-type flat \ --provider-physical-network <provider_physical_network> \ --share <network_name>
# openstack network create \ --provider-network-type flat \ --provider-physical-network <provider_physical_network> \ --share <network_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;provider_physical_network>를network-environment.yaml파일에서NeutronBridgeMappings매개변수로 구성된 가상 네트워크를 구현하는 물리적 네트워크의 이름으로 바꿉니다. -
&
lt;network_name>을 이 네트워크의 이름으로 바꿉니다.
-
&
flat 네트워크에 서브넷을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;network_name>을 이전 단계에서 생성한 프로비저닝 네트워크의 이름으로 바꿉니다. -
&
lt;network_cidr>을 서브넷이 나타내는 IP 주소 블록의 CIDR(Classless Inter-Domain Routing) 표현으로 바꿉니다. <start_ip>로 시작하고 <>에서 지정한 IP 주소 블록 내에 있어야 합니다.end_ip>로 끝나는 IP 주소 블록은 <network_cidr -
새 서브넷의 게이트웨이 역할을 하는 라우터 인터페이스의 IP 주소 또는 호스트 이름으로 바꿉니다
. 이 주소는 <network_cidr>에서 지정하는 IP 주소 블록 내에 있어야 하지만 <>로 끝나는 범위로 지정된 IP 주소 블록 외부에 있어야 합니다.start_ip>로 시작하고 <end_ip -
&
lt;start_ip>를 유동 IP 주소가 할당되는 새 서브넷 내의 IP 주소 범위를 시작하는 IP 주소로 바꿉니다. -
&
lt;end_ip>를 유동 IP 주소가 할당되는 새 서브넷 내의 IP 주소 범위 끝을 나타내는 IP 주소로 바꿉니다. -
&
lt;subnet_name>을 서브넷의 이름으로 바꿉니다.
-
&
네트워크 및 서브넷의 라우터를 생성하여 Networking 서비스가 메타데이터 요청을 제공하는지 확인합니다.
openstack router create <router_name>
# openstack router create <router_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;router_name>을 라우터의 이름으로 바꿉니다.
-
&
서브넷을 새 라우터에 연결하여
cloud-init의 메타데이터 요청을 제공하고 구성할 노드를 활성화합니다.openstack router add subnet <router_name> <subnet>
# openstack router add subnet <router_name> <subnet>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;router_name>을 라우터 이름으로 바꿉니다. -
&
lt;subnet>을 4단계에서 생성한 베어 메탈 서브넷의 ID 또는 이름으로 바꿉니다.
-
&
4.1.2. 사용자 지정 구성 가능 네트워크에서 Bare Metal Provisioning 서비스와 통합하도록 네트워킹 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
오버클라우드에서 Bare Metal Provisioning 서비스를 구현하는 사용자 지정 구성 가능 네트워크를 생성하여 Bare Metal Provisioning 서비스(ironic)와 통합하도록 네트워킹 서비스(neutron)를 구성할 수 있습니다.
프로세스
- 언더클라우드 호스트에 로그인합니다.
오버클라우드 인증 정보 파일을 소싱합니다.
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;credentials_file>을 인증 정보 파일의 이름으로 바꿉니다(예:overcloudrc).
-
&
Bare Metal Provisioning 서비스를 호스팅하는 공급자 네트워크의 UUID를 검색합니다.
openstack network show <network_name> -f value -c id
(overcloud)$ openstack network show <network_name> -f value -c idCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;network_name>을 베어 메탈 인스턴스 프로비저닝 네트워크에 사용하려는 공급자 네트워크의 이름으로 바꿉니다.
-
&
-
배포에 대해 Bare Metal Provisioning 서비스를 구성하는 로컬 환경 파일을 엽니다(예:
ironic-overrides.yaml). 베어 메탈 인스턴스 프로비저닝 네트워크로 사용할 네트워크를 구성합니다.
parameter_defaults: IronicProvisioningNetwork: <network_uuid>
parameter_defaults: IronicProvisioningNetwork: <network_uuid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;network_uuid>를 3단계에서 검색된 공급자 네트워크의 UUID로 바꿉니다.
-
&
stackrc언더클라우드 인증 정보 파일을 소싱합니다.source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 인스턴스 프로비저닝 네트워크 구성을 적용하려면 베어 메탈 프로비저닝 환경 파일을 다른 환경 파일과 함께 스택에 추가하고 오버클라우드를 배포합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
배포를 위한 네트워킹 서비스 메커니즘 드라이버에 따라 <
default_ironic_template>을ironic.yaml또는ironic-overcloud.yaml로 바꿉니다.
-
배포를 위한 네트워킹 서비스 메커니즘 드라이버에 따라 <
4.2. 베어 메탈 노드 정리 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스는 노드를 정리하여 프로비저닝을 위해 준비합니다. 다음 방법 중 하나를 사용하여 베어 메탈 노드를 정리할 수 있습니다.
- 자동: 노드를 프로비저닝 해제하면 노드 정리를 자동으로 수행하도록 오버클라우드를 구성할 수 있습니다.
- 수동: 필요한 경우 개별 노드를 수동으로 정리할 수 있습니다.
4.2.1. 자동 노드 정리 구성 링크 복사링크가 클립보드에 복사되었습니다!
노드를 등록한 후 노드가 사용 가능한 프로비저닝 상태에 도달하기 전에 자동 베어 메탈 노드 정리가 실행됩니다. 노드가 프로비저닝되지 않을 때마다 자동 정리가 실행됩니다.
기본적으로 베어 메탈 프로비저닝 서비스는 노드 정리를 위해 provisioning 이라는 네트워크를 사용합니다. 그러나 네트워크 이름은 Networking 서비스(neutron)에서 고유하지 않으므로 프로젝트가 동일한 이름으로 네트워크를 생성하여 베어 메탈 프로비저닝 서비스와 충돌할 수 있습니다. 충돌을 방지하려면 네트워크 UUID를 사용하여 노드 정리 네트워크를 구성합니다.
프로세스
- 언더클라우드 호스트에 로그인합니다.
오버클라우드 인증 정보 파일을 소싱합니다.
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;credentials_file>을 인증 정보 파일의 이름으로 바꿉니다(예:overcloudrc).
-
&
Bare Metal Provisioning 서비스를 호스팅하는 공급자 네트워크의 UUID를 검색합니다.
openstack network show <network_name> -f value -c id
(overcloud)$ openstack network show <network_name> -f value -c idCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;network_name>을 베어 메탈 노드 정리 네트워크에 사용할 네트워크의 이름으로 바꿉니다.
-
&
-
배포에 대해 Bare Metal Provisioning 서비스를 구성하는 로컬 환경 파일을 엽니다(예:
ironic-overrides.yaml). 노드 정리 네트워크로 사용할 네트워크를 구성합니다.
parameter_defaults: IronicCleaningNetwork: <network_uuid>
parameter_defaults: IronicCleaningNetwork: <network_uuid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;network_uuid>를 3단계에서 검색한 공급자 네트워크의 UUID로 바꿉니다.
-
&
stackrc언더클라우드 인증 정보 파일을 소싱합니다.source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 노드 정리 네트워크 구성을 적용하려면 베어 메탈 프로비저닝 환경 파일을 다른 환경 파일과 함께 스택에 추가하고 오버클라우드를 배포합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
배포를 위한 네트워킹 서비스 메커니즘 드라이버에 따라 <
default_ironic_template>을ironic.yaml또는ironic-overcloud.yaml로 바꿉니다.
-
배포를 위한 네트워킹 서비스 메커니즘 드라이버에 따라 <
4.2.2. 수동으로 노드 정리 링크 복사링크가 클립보드에 복사되었습니다!
필요에 따라 특정 노드를 수동으로 정리할 수 있습니다. 노드 정리에는 두 가지 모드가 있습니다.
- metadata only clean: 노드의 모든 디스크에서 파티션을 제거합니다. 메타데이터는 전체 정리 모드보다 빠르지만 파티션 테이블만 지우기 때문에 보안이 떨어집니다. 신뢰할 수 있는 테넌트 환경에서만 이 모드를 사용합니다.
- 전체 정리: ATA 보안 삭제 또는 축소를 사용하여 모든 디스크에서 모든 데이터를 제거합니다. 전체 정리를 완료하는 데 몇 시간이 걸릴 수 있습니다.
프로세스
오버클라우드 인증 정보 파일을 소싱합니다.
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;credentials_file>을 인증 정보 파일의 이름으로 바꿉니다(예:overcloudrc).
-
&
노드의 현재 상태를 확인합니다.
openstack baremetal node show \ -f value -c provision_state <node>
$ openstack baremetal node show \ -f value -c provision_state <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 정리할 노드의 이름 또는 UUID로 바꿉니다.
-
&
노드가
manageable상태가 아닌 경우manageable로 설정합니다.openstack baremetal node manage <node>
$ openstack baremetal node manage <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드를 정리합니다.
openstack baremetal node clean <node> \ --clean-steps '[{"interface": "deploy", "step": "<clean_mode>"}]'$ openstack baremetal node clean <node> \ --clean-steps '[{"interface": "deploy", "step": "<clean_mode>"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 정리할 노드의 이름 또는 UUID로 바꿉니다. &
lt;clean_mode>를 노드에서 수행할 정리 유형으로 바꿉니다.-
Clear_devices: 전체 정리를 수행합니다. -
Clear_devices_metadata: 메타데이터를 정리만 수행합니다.
-
-
&
정리가 완료될 때까지 기다린 다음 노드의 상태를 확인합니다.
-
manageable: 정리에 성공했으며 노드를 프로비저닝할 준비가 되었습니다. -
clean failed: 정리에 실패했습니다.last_error필드를 검사하여 실패 원인을 검사합니다.
-
4.3. 베어 메탈 인스턴스를 시작하기 위한 플레이버 생성 링크 복사링크가 클립보드에 복사되었습니다!
클라우드 사용자가 베어 메탈 인스턴스를 요청하는 데 사용할 수 있는 플레이버를 생성해야 합니다. 리소스 클래스를 사용하여 특정 플레이버와 함께 시작된 베어 메탈 인스턴스에 사용해야 하는 베어 메탈 노드를 지정할 수 있습니다. 노드에서 하드웨어 리소스를 식별하는 리소스 클래스를 사용하여 베어 메탈 노드에 태그를 지정할 수 있습니다(예: GPU). 클라우드 사용자는 GPU 리소스 클래스가 있는 플레이버를 선택하여 vGPU 워크로드에 대한 인스턴스를 생성할 수 있습니다. Compute 스케줄러는 리소스 클래스를 사용하여 인스턴스에 적합한 호스트 베어 메탈 노드를 식별합니다.
프로세스
오버클라우드 인증 정보 파일을 가져옵니다.
source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 인스턴스의 플레이버를 생성합니다.
openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> baremetal
(overcloud)$ openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> baremetalCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;ram_size_mb>를 베어 메탈 노드의 RAM(MB)으로 바꿉니다. -
&
lt;disk_size_gb>를 베어 메탈 노드의 디스크 크기(GB)로 바꿉니다. &
lt;no_vcpus>를 베어 메탈 노드의 CPU 수로 바꿉니다.참고이러한 속성은 인스턴스 예약에 사용되지 않습니다. 그러나 Compute 스케줄러는 디스크 크기를 사용하여 루트 파티션 크기를 결정합니다.
-
&
노드 목록을 검색하여 UUID를 확인합니다.
openstack baremetal node list
(overcloud)$ openstack baremetal node listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 각 베어 메탈 노드에 사용자 지정 베어 메탈 리소스 클래스를 태그합니다.
openstack baremetal node set \ --resource-class baremetal.<CUSTOM> <node>
(overcloud)$ openstack baremetal node set \ --resource-class baremetal.<CUSTOM> <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;CUSTOM>을 리소스 클래스의 용도를 식별하는 문자열로 바꿉니다. 예를 들어GPU워크로드에 대해 지정할 베어 메탈 노드를 태그하는 데 사용할 사용자 지정 GPU 리소스 클래스를 생성하려면 GPU로 설정합니다. -
&
lt;node>를 베어 메탈 노드의 ID로 바꿉니다.
-
&
베어 메탈 인스턴스의 플레이버를 사용자 지정 리소스 클래스와 연결합니다.
openstack flavor set \ --property resources:CUSTOM_BAREMETAL_<CUSTOM>=1 \ baremetal
(overcloud)$ openstack flavor set \ --property resources:CUSTOM_BAREMETAL_<CUSTOM>=1 \ baremetalCopy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 노드의 리소스 클래스에 해당하는 사용자 정의 리소스 클래스의 이름을 확인하려면 리소스 클래스를 대문자로 변환하고 각 문장 부호를 밑줄로 교체하고
CUSTOM_접두사를 사용합니다.참고플레이버는 베어 메탈 리소스 클래스의 인스턴스 하나만 요청할 수 있습니다.
Compute 스케줄러가 베어 메탈 플레이버 속성을 사용하여 인스턴스를 예약하지 못하도록 다음 플레이버 속성을 설정합니다.
openstack flavor set \ --property resources:VCPU=0 \ --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 baremetal
(overcloud)$ openstack flavor set \ --property resources:VCPU=0 \ --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 baremetalCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 플레이버에 올바른 값이 있는지 확인합니다.
openstack flavor list
(overcloud)$ openstack flavor listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.4. 베어 메탈 인스턴스를 시작하기 위한 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)를 포함하는 오버클라우드에는 두 가지 이미지 세트가 필요합니다.
-
이미지 배포: 배포 이미지는 Bare Metal Provisioning 에이전트(
ironic-python-agent)가 네트워크를 통해 RAM 디스크를 부팅하고 오버클라우드 노드의 사용자 이미지를 디스크에 복사하는 데 필요한agent.ramdisk및agent.kernel이미지입니다. 배포 이미지를 언더클라우드 설치의 일부로 설치합니다. 자세한 내용은 Obtaining images for overcloud nodes 에서 참조하십시오. 사용자 이미지: 클라우드 사용자가 베어 메탈 인스턴스를 프로비저닝하는 데 사용하는 이미지입니다. 사용자 이미지는
커널이미지,램디스크이미지 및기본이미지로 구성됩니다. 기본 이미지는 루트 파티션 또는 전체 디스크 이미지입니다.- 전체 디스크 이미지: 파티션 테이블 및 부트 로더가 포함된 이미지입니다.
- 루트 파티션 이미지: 운영 체제의 루트 파티션만 포함합니다.
호환되는 전체 디스크 RHEL 게스트 이미지는 수정 없이 작동해야 합니다. 자체 사용자 지정 디스크 이미지를 생성하려면 이미지 생성 및 관리 가이드에서 이미지 생성 을 참조하십시오.
4.4.1. 이미지 서비스에 배포 이미지 업로드 링크 복사링크가 클립보드에 복사되었습니다!
director가 설치한 배포 이미지를 이미지 서비스에 업로드해야 합니다. 배포 이미지는 다음 두 이미지로 구성됩니다.
-
커널 이미지:
/tftpboot/agent.kernel -
램디스크 이미지:
/tftpboot/agent.ramdisk
이러한 이미지는 홈 디렉터리에 설치됩니다. 배포 이미지 설치 방법에 대한 자세한 내용은 오버클라우드 노드의 이미지 가져오기를 참조하십시오.
프로세스
- 이미지를 추출하여 이미지 서비스에 업로드합니다.
4.5. 물리적 머신을 베어 메탈 노드로 추가 링크 복사링크가 클립보드에 복사되었습니다!
다음 방법 중 하나를 사용하여 베어 메탈 노드를 등록합니다.
- 노드 세부 정보를 사용하여 인벤토리 파일을 준비하고 파일을 베어 메탈 프로비저닝 서비스로 가져오고 노드를 사용할 수 있도록 합니다.
-
물리적 머신을 베어 메탈 노드로 등록한 다음 수동으로 하드웨어 세부 정보를 추가하고 각 이더넷 MAC 주소에 대한 포트를 생성합니다.
overcloudrc파일이 있는 모든 노드에서 다음 단계를 수행할 수 있습니다.
4.5.1. 인벤토리 파일을 사용하여 베어 메탈 노드 등록 링크 복사링크가 클립보드에 복사되었습니다!
노드 세부 정보를 사용하여 인벤토리 파일을 준비하고 파일을 베어 메탈 프로비저닝 서비스(ironic)로 가져오고 노드를 사용할 수 있도록 합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
노드 세부 정보를 포함하는 인벤토리 파일
overcloud-nodes.yaml을 생성합니다. 하나의 파일로 여러 노드를 등록할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;ipmi_ip>를 베어 메탈 컨트롤러의 주소로 바꿉니다. -
<
;user>를 사용자 이름으로 바꿉니다. -
<
;password>를 암호로 바꿉니다. -
선택 사항:
<property>: <value>를 구성할 IPMI 속성 및 속성 값으로 바꿉니다. 사용 가능한 속성에 대한 자세한 내용은 IPMI(Intelligent Platform Management Interface) 전원 관리 드라이버를 참조하십시오. -
&
lt;cpu_count>를 CPU 수로 바꿉니다. -
&
lt;cpu_arch>를 CPU의 아키텍처 유형으로 바꿉니다. -
&
lt;memory>를 MiB의 메모리 양으로 바꿉니다. -
&
lt;root_disk>를 GiB의 루트 디스크 크기로 바꿉니다. 시스템에 여러 개의 디스크가 있는 경우에만 필요합니다. -
&
lt;serial>을 배포에 사용할 디스크의 일련 번호로 바꿉니다. -
&
lt;mac_address>를 PXE 부팅에 사용되는 NIC의 MAC 주소로 바꿉니다. - --driver-info <property>=<value>
-
&
overcloudrc파일을 소싱합니다.source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인벤토리 파일을 베어 메탈 프로비저닝 서비스로 가져옵니다.
openstack baremetal create overcloud-nodes.yaml
$ openstack baremetal create overcloud-nodes.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 노드가
등록상태입니다.배포 커널을 지정하고 각 노드에 램디스크를 배포합니다.
openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 노드의 이름 또는 ID로 바꿉니다. -
<
kernel_file>을.kernel이미지의 경로로 바꿉니다(예:file:///var/lib/ironic/httpboot/agent.kernel). -
<
initramfs_file>을.initramfs이미지 경로로 바꿉니다(예:file:///var/lib/ironic/httpboot/agent.ramdisk).
-
&
선택 사항: 각 노드의 IPMI 암호화 제품군을 지정합니다.
openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 노드의 이름 또는 ID로 바꿉니다. &
lt;version>을 노드에서 사용할 암호화 제품군 버전으로 바꿉니다. 다음 유효한 값 중 하나로 설정합니다.-
3- 노드는 SHA1 암호화 제품군과 함께 AES-128을 사용합니다. -
17- 노드는 SHA256 암호화 제품군과 함께 AES-128을 사용합니다.
-
-
&
노드의 프로비저닝 상태를
available로 설정합니다.openstack baremetal node manage <node> openstack baremetal node provide <node>
$ openstack baremetal node manage <node> $ openstack baremetal node provide <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드 정리를 활성화한 경우 베어 메탈 프로비저닝 서비스가 노드를 정리합니다.
노드에 로컬 부팅 옵션을 설정합니다.
openstack baremetal node set <node> --property capabilities="boot_option:local"
$ openstack baremetal node set <node> --property capabilities="boot_option:local"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드가 등록되어 있는지 확인합니다.
openstack baremetal node list
$ openstack baremetal node listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 노드 등록과 해당 상태 사이에 지연이 발생할 수 있습니다.
4.5.2. 베어 메탈 노드를 수동으로 등록 링크 복사링크가 클립보드에 복사되었습니다!
물리적 머신을 베어 메탈 노드로 등록한 다음 수동으로 하드웨어 세부 정보를 추가하고 각 이더넷 MAC 주소에 대한 포트를 생성합니다. overcloudrc 파일이 있는 모든 노드에서 다음 단계를 수행할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
-
IronicEnabledHardwareTypes매개변수를 사용하여 새 노드의 드라이버를 활성화해야 합니다. 지원되는 드라이버에 대한 자세한 내용은 베어 메탈 드라이버를 참조하십시오.
절차
-
언더클라우드 호스트에
stack사용자로 로그인합니다. 오버클라우드 인증 정보 파일을 가져옵니다.
source ~/overcloudrc
(undercloud)$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 노드를 추가합니다.
openstack baremetal node create --driver <driver_name> --name <node_name>
$ openstack baremetal node create --driver <driver_name> --name <node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;driver_name>을 드라이버 이름으로 바꿉니다(예:ipmi). -
&
lt;node_name>을 새 베어 메탈 노드의 이름으로 바꿉니다.
-
&
- 생성될 때 노드에 할당된 UUID를 기록해 둡니다.
등록된 각 노드의 부팅 옵션을
local로 설정합니다.openstack baremetal node set \ --property capabilities="boot_option:local" <node>
$ openstack baremetal node set \ --property capabilities="boot_option:local" <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;node>를 베어 메탈 노드의 UUID로 바꿉니다.배포 커널을 지정하고 노드 드라이버의 램디스크를 배포합니다.
openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>
$ openstack baremetal node set <node> \ --driver-info deploy_kernel=<kernel_file> \ --driver-info deploy_ramdisk=<initramfs_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 베어 메탈 노드의 ID로 바꿉니다. -
<
kernel_file>을.kernel이미지의 경로로 바꿉니다(예:file:///var/lib/ironic/httpboot/agent.kernel). -
<
initramfs_file>을.initramfs이미지 경로로 바꿉니다(예:file:///var/lib/ironic/httpboot/agent.ramdisk).
-
&
노드의 하드웨어 사양과 일치하도록 노드 속성을 업데이트합니다.
openstack baremetal node set <node> \ --property cpus=<cpu> \ --property memory_mb=<ram> \ --property local_gb=<disk> \ --property cpu_arch=<arch>
$ openstack baremetal node set <node> \ --property cpus=<cpu> \ --property memory_mb=<ram> \ --property local_gb=<disk> \ --property cpu_arch=<arch>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 베어 메탈 노드의 ID로 바꿉니다. -
<
;cpu>를 CPU 수로 바꿉니다. -
<
;ram>을 RAM(MB)으로 바꿉니다. -
<
;disk>를 디스크 크기(GB)로 바꿉니다. -
<
;arch>를 아키텍처 유형으로 바꿉니다.
-
&
선택 사항: 각 노드의 IPMI 암호화 제품군을 지정합니다.
openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>
$ openstack baremetal node set <node> \ --driver-info ipmi_cipher_suite=<version>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 베어 메탈 노드의 ID로 바꿉니다. &
lt;version>을 노드에서 사용할 암호화 제품군 버전으로 바꿉니다. 다음 유효한 값 중 하나로 설정합니다.-
3- 노드는 SHA1 암호화 제품군과 함께 AES-128을 사용합니다. -
17- 노드는 SHA256 암호화 제품군과 함께 AES-128을 사용합니다.
-
-
&
선택 사항: 각 노드의 IPMI 세부 정보를 지정합니다.
openstack baremetal node set <node> \ --driver-info <property>=<value>
$ openstack baremetal node set <node> \ --driver-info <property>=<value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 베어 메탈 노드의 ID로 바꿉니다. -
&
lt;property>를 구성할 IPMI 속성으로 바꿉니다. 사용 가능한 속성에 대한 자세한 내용은 IPMI(Intelligent Platform Management Interface) 전원 관리 드라이버를 참조하십시오. -
<
;value>를 속성 값으로 바꿉니다.
-
&
선택 사항: 여러 디스크가 있는 경우 루트 장치 힌트를 설정하여 배포 램디스크에 사용할 디스크를 알립니다.
openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'$ openstack baremetal node set <node> \ --property root_device='{"<property>": "<value>"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 베어 메탈 노드의 ID로 바꿉니다. <
property> 및 <value>를 배포에 사용할 디스크에 대한 세부 정보(예:root_device='{"size": "128"})로 바꿉니다.RHOSP는 다음 속성을 지원합니다.
-
model(문자열): 장치 식별자 -
vendor(문자열): 장치 벤더 -
serial(문자열): 디스크 일련번호 -
hctl(문자열): Host:Channel:Target:Lun (SCSI 용) -
size(정수): 장치의 크기(GB 단위) -
wwn(문자열): 고유한 스토리지 식별자 -
wwn_with_extension(문자열): 벤더 확장이 첨부된 고유한 스토리지 식별자 -
wwn_vendor_extension(문자열): 고유한 벤더 스토리지 식별자 -
rotational(부울): 회전 장치인 경우(HDD) True, 그렇지 않은 경우 false(SSD) name(문자열): 장치의 이름(예: /dev/sdb1)은 영구 이름이 있는 장치에만 이 속성을 사용합니다.참고둘 이상의 속성을 지정하는 경우 장치는 이러한 모든 속성과 일치해야 합니다.
-
-
&
provisioning 네트워크에서 NIC의 MAC 주소로 포트를 생성하여 베어 메탈 프로비저닝 서비스에 노드 네트워크 카드에 알립니다.
openstack baremetal port create --node <node_uuid> <mac_address>
$ openstack baremetal port create --node <node_uuid> <mac_address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node>를 베어 메탈 노드의 고유 ID로 바꿉니다. -
&
lt;mac_address>를 PXE 부팅에 사용되는 NIC의 MAC 주소로 바꿉니다.
-
&
노드 구성을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 검증 출력
Result는 다음을 나타냅니다.-
False: 인터페이스에 검증에 실패했습니다. 제공된 이유에instance_info매개변수[\'ramdisk', \'kernel' 및 \'image_source']가 누락된 이유가 있는 경우 Compute 서비스가 배포 프로세스 시작 시 누락된 매개 변수를 채우므로 이 시점에 설정되지 않은 매개변수가 입력될 수 있습니다. 전체 디스크 이미지를 사용하는 경우 검증을 통과하도록image_source만 설정해야 할 수 있습니다. -
True: 인터페이스가 유효성 검사를 통과했습니다. -
none: 드라이버에서 인터페이스가 지원되지 않습니다.
-
4.5.3. 베어 메탈 노드 프로비저닝 상태 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 노드는 수명 동안 여러 프로비저닝 상태를 통해 전환됩니다. 노드에서 수행되는 API 요청 및 컨덕터 이벤트가 전환을 시작합니다. 프로비저닝 상태에는 "stable"과 "전환 중"의 두 가지 범주가 있습니다.
다음 표를 사용하여 노드가 있을 수 있는 프로비저닝 상태와 노드를 하나의 프로비저닝 상태에서 다른 프로비저닝 상태로 전환하는 데 사용할 수 있는 작업을 파악합니다.
| 상태 | 카테고리 | 설명 |
|---|---|---|
|
| 안정적 | 각 노드의 초기 상태입니다. 노드 등록에 대한 자세한 내용은 베어 메탈 노드로 물리적 머신 추가 를 참조하십시오. |
|
| 전환 중 |
베어 메탈 프로비저닝 서비스는 노드 등록 중에 제공된 |
|
| 안정적 |
베어 메탈 프로비저닝 서비스에서 노드를 관리할 수 있는지 확인할 때 노드가 manageable 상태로 전환됩니다. 다음 명령을 사용하여 노드를
다음 실패한 상태 중 하나로 전환된 후 노드를
노드를 업데이트해야 하는 경우 노드를 |
|
| 전환 중 |
베어 메탈 프로비저닝 서비스는 노드 인트로스펙션을 사용하여 하드웨어 파생 노드 속성을 업데이트하여 하드웨어의 현재 상태를 반영합니다. 노드는 동기 검사를 위해 |
|
| 전환 중 |
비동기 검사가 진행 중임을 나타내는 프로비저닝 상태입니다. 노드 검사가 성공하면 노드가 |
|
| 안정적 |
노드 검사에 실패했음을 나타내는 프로비저닝 상태입니다. 다음 명령을 사용하여
|
|
| 전환 중 |
|
|
| 전환 중 |
|
|
| 안정적 |
노드가 성공적으로 사전 구성 및 정리되면 해당 노드가
|
|
| 전환 중 |
|
|
| 전환 중 |
|
|
| 안정적 |
노드 배포가 실패했음을 나타내는 프로비저닝 상태입니다. 다음 명령을 사용하여
|
|
| 안정적 |
|
|
| 전환 중 |
노드가 |
|
| 안정적 |
노드 삭제에 실패하면 노드가
|
|
| 전환 중 |
|
|
| 전환 중 |
|
|
| 전환 중 |
|
|
| 안정적 |
노드 복구에 실패했음을 나타내는 프로비저닝 상태입니다. 다음 명령을 사용하여
|
|
| 안정적 |
|
|
| 전환 중 |
|
|
| 안정적 |
노드가 Unrescue 작업이 실패했음을 나타내는 프로비저닝 상태입니다. 다음 명령을 사용하여
|
4.6. Redfish 가상 미디어 부팅 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
BMC(Baseboard Management Controller)에서 가상 드라이브 중 하나에 부팅 이미지를 삽입할 수 있도록 Redfish 가상 미디어 부팅을 사용하여 노드의 BMC에 부팅 이미지를 공급할 수 있습니다. 그 후 노드는 가상 드라이브에서 해당 이미지에 있는 운영 체제로 부팅할 수 있습니다.
Redfish 하드웨어 유형은 가상 미디어를 통한 배포, 복구 및 사용자 이미지 부팅을 지원합니다. Bare Metal Provisioning 서비스(ironic)는 노드와 연결된 커널 및 램디스크 이미지를 사용하여 노드 배포 시 UEFI 또는 BIOS 부팅 모드에 대한 부팅 가능한 ISO 이미지를 빌드합니다. 가상 미디어 부팅의 주요 장점은 PXE의 TFTP 이미지 전송 단계를 제거하고 대신 HTTP GET 또는 기타 방법을 사용할 수 있다는 것입니다.
4.6.1. Redfish 가상 미디어 부팅을 사용하여 베어 메탈 서버 배포 링크 복사링크가 클립보드에 복사되었습니다!
이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
가상 미디어를 통해 redfish 하드웨어 유형으로 노드를 부팅하려면 부팅 인터페이스를 redfish-virtual-media로 설정하고 UEFI 노드의 경우 ESP(EFI 시스템 파티션) 이미지를 정의합니다. 다음으로 등록된 노드가 Redfish 가상 미디어 부팅을 사용하도록 설정합니다.
사전 요구 사항
-
undercloud.conf파일의enabled_hardware_types매개변수로 활성화된 Redfish 드라이버 - 등록된 베어 메탈 노드
- Image 서비스(glance)의 IPA 및 인스턴스 이미지
- UEFI 노드의 경우 Image 서비스(glance)에서 ESP(EFI 시스템 파티션) 이미지 사용 가능
- 베어 메탈 플레이버
- 정리 및 프로비저닝을 위한 네트워크
Sushy 라이브러리 설치
sudo yum install sushy
$ sudo yum install sushyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
절차
Bare Metal 서비스(ironic) 부팅 인터페이스를
redfish-virtual-media로 설정합니다.openstack baremetal node set --boot-interface redfish-virtual-media $NODE_NAME
$ openstack baremetal node set --boot-interface redfish-virtual-media $NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow $ NODE_NAME을 노드 이름으로 바꿉니다.UEFI 노드의 경우 부팅 모드를
uefi로 설정합니다.openstack baremetal node set --property capabilities="boot_mode:uefi" $NODE_NAME
$ openstack baremetal node set --property capabilities="boot_mode:uefi" $NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow $ NODE_NAME을 노드 이름으로 바꿉니다.참고BIOS 노드의 경우 이 단계를 완료하지 마십시오.
UEFI 노드의 경우 ESP(EFI 시스템 파티션) 이미지를 정의합니다.
openstack baremetal node set --driver-info bootloader=$ESP $NODE_NAME
$ openstack baremetal node set --driver-info bootloader=$ESP $NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow $ESP를 glance 이미지 UUID 또는 ESP 이미지 URL로 바꾸고$NODE_NAME을 노드 이름으로 바꿉니다.참고BIOS 노드의 경우 이 단계를 완료하지 마십시오.
베어 메탈 노드에서 포트를 생성하고 베어 메탈 노드에서 NIC의 MAC 주소와 포트를 연결합니다.
openstack baremetal port create --pxe-enabled True --node $UUID $MAC_ADDRESS
$ openstack baremetal port create --pxe-enabled True --node $UUID $MAC_ADDRESSCopy to Clipboard Copied! Toggle word wrap Toggle overflow $UUID를 베어 메탈 노드의 UUID로 바꾸고$MAC_ADDRESS를 베어 메탈 노드에 있는 NIC의 MAC 주소로 바꿉니다.새 베어 메탈 서버를 생성합니다.
openstack server create \ --flavor baremetal \ --image $IMAGE \ --network $NETWORK \ test_instance$ openstack server create \ --flavor baremetal \ --image $IMAGE \ --network $NETWORK \ test_instanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow $IMAGE및$NETWORK를 사용하려는 이미지 및 네트워크의 이름으로 바꿉니다.
4.7. 호스트 집계를 사용하여 물리적 및 가상 머신 프로비저닝 분리 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack Compute에서는 호스트 집계를 사용하여 가용 영역을 분할하고 특정 공유 속성이 있는 노드를 그룹화합니다. 인스턴스가 프로비저닝되면 Compute 스케줄러는 플레이버의 속성을 호스트 집계에 할당된 속성과 비교하고, 인스턴스가 실제 시스템 또는 가상 머신 모두에서 올바른 집계 및 올바른 호스트에 프로비저닝되도록 합니다.
다음 작업을 수행하려면 이 섹션의 단계를 완료합니다.
-
플레이버에
baremetal을 추가하고true또는false로 설정합니다. -
일치하는
baremetal속성을 사용하여 베어 메탈 호스트 및 컴퓨팅 노드에 대해 별도의 호스트 집계를 생성합니다. 집계로 그룹화된 노드는 이 속성을 상속합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
baremetal플레이버에서 baremetal 속성을true로 설정합니다.openstack flavor set baremetal --property baremetal=true
$ openstack flavor set baremetal --property baremetal=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 가상 인스턴스에서 사용하는 플레이버에서
baremetal속성을false로 설정합니다.openstack flavor set FLAVOR_NAME --property baremetal=false
$ openstack flavor set FLAVOR_NAME --property baremetal=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow baremetal-hosts라는 호스트 집계를 생성합니다.openstack aggregate create --property baremetal=true baremetal-hosts
$ openstack aggregate create --property baremetal=true baremetal-hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow baremetal-hosts집계에 각 컨트롤러 노드를 추가합니다.openstack aggregate add host baremetal-hosts HOSTNAME
$ openstack aggregate add host baremetal-hosts HOSTNAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고NovaIronic서비스를 사용하여 구성 가능 역할을 생성한 경우 이 서비스가 있는 모든 노드를baremetal-hosts집계에 추가합니다. 기본적으로 컨트롤러 노드에만NovaIronic서비스가 있습니다.virtual-hosts라는 호스트 집계를 생성합니다.openstack aggregate create --property baremetal=false virtual-hosts
$ openstack aggregate create --property baremetal=false virtual-hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 가상 호스트집계에 각 컴퓨팅 노드를 추가합니다.openstack aggregate add host virtual-hosts HOSTNAME
$ openstack aggregate add host virtual-hosts HOSTNAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드를 배포할 때 다음 Compute 필터 스케줄러를 추가하지 않은 경우
_/etc/nova/nova.conf_파일의scheduler_default_filters아래의 기존 목록에 추가합니다.AggregateInstanceExtraSpecsFilter
AggregateInstanceExtraSpecsFilterCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5장. 베어 메탈 노드 관리 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)가 포함된 오버클라우드를 배포한 후 등록된 베어 메탈 노드에 물리적 머신을 프로비저닝하고 오버클라우드에서 베어 메탈 인스턴스를 시작할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
5.1. 베어 메탈 인스턴스 시작 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 또는 OpenStack 대시보드에서 인스턴스를 시작할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
5.1.1. 명령줄 인터페이스를 사용하여 인스턴스 시작 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack Client CLI를 사용하여 베어 메탈 인스턴스를 생성할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
관리 사용자로 Identity 서비스(keystone)에 액세스하도록 쉘을 구성합니다.
source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 인스턴스를 생성합니다.
openstack server create \ --nic net-id=<network_uuid> \ --flavor baremetal \ --image <image_uuid> \ myBareMetalInstance
$ openstack server create \ --nic net-id=<network_uuid> \ --flavor baremetal \ --image <image_uuid> \ myBareMetalInstanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;network_uuid>를 베어 메탈 프로비저닝 서비스와 함께 사용하도록 만든 네트워크의 고유 식별자로 바꿉니다. -
&
lt;image_uuid>를 인스턴스에 필요한 소프트웨어 프로필이 있는 이미지의 고유 식별자로 바꿉니다.
-
&
인스턴스 상태를 확인합니다.
openstack server list --name myBareMetalInstance
$ openstack server list --name myBareMetalInstanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.2. 대시보드를 사용하여 인스턴스 시작 링크 복사링크가 클립보드에 복사되었습니다!
대시보드 그래픽 사용자 인터페이스를 사용하여 베어 메탈 인스턴스를 배포합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
- http[s]://DASHBOARD_IP/dashboard 의 대시보드에 로그인합니다.
- 프로젝트 > Compute > Instances를클릭합니다.
Launch Instance 를 클릭합니다.
-
세부 정보 탭에서 인스턴스 이름을 지정하고 Count.에 대해
1을 선택합니다. -
소스 탭에서 Select Boot Source 에서
Image를 선택한 다음+(plus) 기호를 클릭하여 운영 체제 디스크 이미지를 선택합니다. 선택한 이미지는 Allocated 로 이동합니다. -
Flavor 탭에서
baremetal을 선택합니다. -
Networks 탭에서
+(plus) 및-(minus) 버튼을 사용하여 필요한 네트워크를 Available 에서 Allocated 로 이동합니다. Bare Metal Provisioning 서비스에 대해 생성한 공유 네트워크가 여기에서 선택되어 있는지 확인합니다. - 보안 그룹에 인스턴스를 할당하려면 보안 그룹 탭에서 화살표를 사용하여 그룹을 Allocated 로 이동합니다.
-
세부 정보 탭에서 인스턴스 이름을 지정하고 Count.에 대해
- Launch Instance 를 클릭합니다.
5.2. 베어 메탈 프로비저닝 서비스에서 포트 그룹 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 노드의 포트 그룹 기능은 이 릴리스에서 기술 프리뷰로 사용할 수 있으므로 Red Hat에서 완전히 지원하지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
포트 그룹(bonds)은 여러 네트워크 인터페이스를 하나의 'bonded' 인터페이스로 집계하는 방법을 제공합니다. 포트 그룹 구성이 항상 개별 포트 구성보다 우선합니다.
포트 그룹에 물리적 네트워크가 있는 경우 해당 포트 그룹의 모든 포트에 동일한 물리적 네트워크가 있어야 합니다. 베어 메탈 프로비저닝 서비스는 configdrive 를 사용하여 인스턴스의 포트 그룹 구성을 지원합니다.
Bare Metal Provisioning 서비스 API 버전 1.26에서는 포트 그룹 구성을 지원합니다. . 전제 조건
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
5.2.1. 스위치에서 수동으로 포트 그룹 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 배포에서 포트 그룹을 구성하려면 스위치에서 포트 그룹을 수동으로 구성해야 합니다. 스위치에 따라 이름이 다를 수 있으므로 스위치의 모드 및 속성이 베어 메탈 측의 모드 및 속성에 해당하는지 확인해야 합니다.
iPXE를 사용하여 배포를 부팅해야 하는 경우 포트 그룹을 프로비저닝 및 정리할 수 없습니다.
포트 그룹 폴백을 사용하면 연결에 실패할 때 포트 그룹의 모든 포트가 개별 스위치 포트로 대체될 수 있습니다. 스위치가 포트 그룹 폴백을 지원하는지 여부에 따라 --support-standalone-ports 및 --unsupport-standalone-ports 옵션을 사용할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
5.2.2. 베어 메탈 프로비저닝 서비스에서 포트 그룹 구성 링크 복사링크가 클립보드에 복사되었습니다!
여러 네트워크 인터페이스를 하나의 결합된 인터페이스로 집계하는 포트 그룹을 생성합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
해당 노드, 이름, 주소, 모드, 속성 및 독립 실행형 포트 대체를 지원하는지 여부에 따라 포트 그룹을 생성합니다.
openstack baremetal port group create --node NODE_UUID --name NAME --address MAC_ADDRESS --mode MODE --property miimon=100 --property xmit_hash_policy="layer2+3" --support-standalone-ports
# openstack baremetal port group create --node NODE_UUID --name NAME --address MAC_ADDRESS --mode MODE --property miimon=100 --property xmit_hash_policy="layer2+3" --support-standalone-portsCopy to Clipboard Copied! Toggle word wrap Toggle overflow openstack baremetal port group set명령을 사용하여 포트 그룹을 업데이트할 수도 있습니다.주소를 지정하지 않으면 배포된 인스턴스 포트 그룹 주소가 OpenStack Networking 포트와 동일합니다. neutron 포트를 연결하지 않으면 포트 그룹 구성이 실패합니다.
인터페이스를 연결하는 동안 포트 그룹은 포트보다 우선 순위가 높으므로 먼저 사용됩니다. 현재 인터페이스 연결 요청에 포트 그룹 또는 포트가 필요한지 여부를 지정할 수 없습니다. 포트가 없는 포트 그룹은 무시됩니다.
참고독립 실행형 모드에서 또는
configdrive를 생성하고 노드의instance_info에 추가하여 포트 그룹을 수동으로 구성해야 합니다. 포트 그룹 구성이 작동하려면cloud-init버전 Cryostat.7 이상이 있는지 확인합니다.포트를 포트 그룹과 연결합니다.
포트 생성 중:
openstack baremetal port create --node NODE_UUID --address MAC_ADDRESS --port-group test
# openstack baremetal port create --node NODE_UUID --address MAC_ADDRESS --port-group testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 포트 업데이트 중:
openstack baremetal port set PORT_UUID --port-group PORT_GROUP_UUID
# openstack baremetal port set PORT_UUID --port-group PORT_GROUP_UUIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
cloud-init가 있거나 본딩을 지원하는 이미지를 제공하여 인스턴스를 부팅합니다.포트 그룹이 올바르게 구성되었는지 확인하려면 다음 명령을 실행합니다.
cat /proc/net/bonding/bondX
# cat /proc/net/bonding/bondXCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기에서
X는 구성된 각 포트 그룹에 대해 자동으로 생성되는 숫자이며, 구성된 각 포트 그룹에서0부터 시작하여 각 포트 그룹에 대해 1씩 증가합니다.
5.3. 호스트를 IP 주소 매핑으로 확인 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 사용하여 어떤 호스트 및 베어 메탈 노드에 할당되는 IP 주소를 확인합니다. 이러한 명령을 사용하면 호스트에 직접 액세스하지 않고도 언더클라우드의 IP 매핑으로 호스트를 볼 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
다음 명령을 실행하여 각 호스트의 IP 주소를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 호스트를 필터링하려면 다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트를 베어 메탈 노드에 매핑하려면 다음 명령을 실행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. 가상 네트워크 인터페이스 연결 및 분리 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스에는 가상 네트워크 인터페이스 간의 매핑을 관리하는 데 사용할 수 있는 API가 있습니다. 예를 들어 OpenStack Networking 서비스 및 물리적 인터페이스(NIC)의 인터페이스가 있습니다. 각 Bare Metal Provisioning 노드에 대해 이러한 인터페이스를 구성하여 VIF(가상 네트워크 인터페이스)를 물리적 네트워크 인터페이스(PIF) 매핑 논리로 설정할 수 있습니다. 인터페이스를 구성하려면 openstack baremetal node vif* 명령을 사용합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
현재 베어 메탈 노드에 연결된 VIF ID를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VIF를 연결한 후 베어 메탈 프로비저닝 서비스는 OpenStack Networking 서비스의 가상 포트를 실제 포트의 실제 MAC 주소로 업데이트합니다. 이 포트 주소를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow baremetal-0노드를 생성한 네트워크에 새 포트를 생성합니다.openstack port create --network baremetal --fixed-ip ip-address=192.168.24.24 baremetal-0-extra
$ openstack port create --network baremetal --fixed-ip ip-address=192.168.24.24 baremetal-0-extraCopy to Clipboard Copied! Toggle word wrap Toggle overflow 인스턴스에서 포트를 제거합니다.
openstack server remove port overcloud-baremetal-0 4475bc5a-6f6e-466d-bcb6-6c2dce0fba16
$ openstack server remove port overcloud-baremetal-0 4475bc5a-6f6e-466d-bcb6-6c2dce0fba16Copy to Clipboard Copied! Toggle word wrap Toggle overflow 목록에 IP 주소가 더 이상 존재하지 않는지 확인합니다.
openstack server list
$ openstack server listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 노드에 VIF가 연결되어 있는지 확인합니다.
openstack baremetal node vif list baremetal-0 openstack port list
$ openstack baremetal node vif list baremetal-0 $ openstack port listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 생성된 포트를 추가합니다.
openstack server add port overcloud-baremetal-0 baremetal-0-extra
$ openstack server add port overcloud-baremetal-0 baremetal-0-extraCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 IP 주소에 새 포트가 표시되는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VIF ID가 새 포트의 UUID인지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Networking 포트 MAC 주소가 업데이트되었으며 베어 메탈 프로비저닝 서비스 포트 중 하나와 일치하는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 IP 주소를 인식할 수 있도록 베어 메탈 노드를 재부팅합니다.
openstack server reboot overcloud-baremetal-0
$ openstack server reboot overcloud-baremetal-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인터페이스를 분리하거나 연결한 후 베어 메탈 OS는 변경된 네트워크 인터페이스를 제거, 추가 또는 수정합니다. 포트를 교체할 때 DHCP 요청은 새 IP 주소를 얻지만 이전 DHCP 리스가 여전히 유효하기 때문에 다소 시간이 걸릴 수 있습니다. 이러한 변경 사항을 즉시 시작하려면 베어 메탈 호스트를 재부팅합니다.
5.5. 베어 메탈 프로비저닝 서비스에 대한 알림 구성 링크 복사링크가 클립보드에 복사되었습니다!
서비스 내에서 발생하는 다양한 이벤트에 대한 알림을 표시하도록 Bare Metal Provisioning 서비스(ironic)를 구성할 수 있습니다. 외부 서비스는 이러한 알림을 청구 목적, 데이터 저장소 모니터링 및 기타 용도로 사용할 수 있습니다. Bare Metal Provisioning 서비스에 대한 알림을 활성화하려면 ironic.conf 구성 파일에서 다음 옵션을 설정해야 합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
-
[DEFAULT]섹션의notification_level옵션에 따라 알림이 전송되는 최소 우선 순위 수준이 결정됩니다. 이 옵션의 값을 설정하여 ,info,warning,error또는critical을디버깅할 수 있습니다. 옵션이warning으로 설정된 경우 우선 순위 수준 경고,오류또는중요가 있는 모든 알림이 전송되지만 우선 순위 수준debug또는info가 있는 알림은 전송되지 않습니다.이 옵션을 설정하지 않으면 알림이 전송되지 않습니다. 사용 가능한 각 알림의 우선 순위 수준은 아래에 설명되어 있습니다. -
[oslo_messaging_notifications]섹션의transport_url옵션은 알림을 보낼 때 사용되는 메시지 버스를 결정합니다. 이 값을 설정하지 않으면 RPC에 사용되는 기본 전송이 사용됩니다.
모든 알림은 메시지 버스의 ironic_versioned_notifications 주제에서 발송됩니다. 일반적으로 메시지 버스를 통과하는 각 유형의 메시지는 메시지의 내용을 설명하는 주제와 연관됩니다.
5.6. 자동 전원 오류 복구 구성 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)에는 노드의 전원, 정리 및 복구 중단 오류를 기록하는 문자열 필드 결함이 있습니다.
| fault | 설명 |
|---|---|
| 전원 실패 | 전원 동기화 실패로 인해 노드가 유지보수 모드에 있으며 최대 재시도 횟수가 초과됩니다. |
| 깔끔한 실패 | 정리 작업이 실패하여 노드가 유지보수 모드에 있습니다. |
| 복구 중단 실패 | 복구 중단 중 정리 작업이 실패하여 노드가 유지보수 모드에 있습니다. |
| none | 여기에는 오류가 없습니다. |
컨덕터는 이 필드의 값을 주기적으로 확인합니다. 컨덕터가 전원 실패 상태를 감지하고 노드에 전원을 성공적으로 복원할 수 있는 경우 노드가 유지보수 모드에서 제거되고 작업으로 복원됩니다.
Operator가 노드를 유지보수 모드에 수동으로 배치하면 컨덕터가 노드를 유지보수 모드에서 자동으로 제거하지 않습니다.
기본 간격은 300초이지만 hieradata를 사용하여 director에서 이 간격을 설정할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
다음 hieradata를 포함하여 사용자 지정 복구 간격을 구성합니다.
ironic::conductor::power_failure_recovery_interval
ironic::conductor::power_failure_recovery_intervalCopy to Clipboard Copied! Toggle word wrap Toggle overflow 자동 전원 오류 복구를 비활성화하려면 값을
0으로 설정합니다.
5.7. 오버클라우드 노드 인트로스펙션 링크 복사링크가 클립보드에 복사되었습니다!
오버클라우드 노드의 인트로스펙션을 수행하여 director에 노드 사양을 식별하고 저장합니다.
절차
-
언더클라우드 호스트에
stack사용자로 로그인합니다. overcloudrc인증 정보 파일을 소싱합니다.source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow introspection 명령을 실행합니다.
openstack baremetal introspection start [--wait] <NODENAME>
$ openstack baremetal introspection start [--wait] <NODENAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <NODENAME>을 검사하려는 노드의 이름 또는 UUID로 바꿉니다.
인트로스펙션 상태를 확인합니다.
openstack baremetal introspection status <NODENAME>
$ openstack baremetal introspection status <NODENAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <NODENAME>을 노드의 이름 또는 UUID로 바꿉니다.
다음 단계
인트로스펙션 데이터를 추출합니다.
openstack baremetal introspection data save <NODE-UUID>
$ openstack baremetal introspection data save <NODE-UUID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <NODENAME>을 노드의 이름 또는 UUID로 바꿉니다.
6장. 부팅 가능한 볼륨에서 베어 메탈 인스턴스를 생성할 수 있도록 베어 메탈 노드 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 기능은 Red Hat OpenStack Platform 17.0에서 더 이상 사용되지 않습니다. 버그 수정 및 지원은 RHOSP 17.0에서 제공되지만 새로운 기능 개선 사항은 없습니다.
Block Storage 서비스(cinder)에서 볼륨을 생성하고 이러한 볼륨을 Bare Metal Provisioning 서비스(ironic)로 생성한 베어 메탈 인스턴스에 연결할 수 있습니다.
클라우드 사용자가 부팅 가능한 볼륨에서 베어 메탈 인스턴스를 생성할 수 있도록 하려면 다음 작업을 완료합니다.
- 부팅 가능한 볼륨에서 베어 메탈 인스턴스를 시작할 수 있도록 각 베어 메탈 노드를 구성합니다.
- 부팅 디스크에서 iSCSI 커널 매개 변수를 구성합니다.
6.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)는 iSCSI 인터페이스를 통해 베어 메탈 노드를 블록 스토리지 볼륨에 연결합니다. 따라서 블록 스토리지 서비스(cinder)의 iSCSI 백엔드와 함께 오버클라우드를 배포해야 합니다. 블록 스토리지 서비스에 iSCSI 백엔드를 활성화하려면
CinderEnableIscsiBackend매개변수를true로 설정하고 오버클라우드를 배포합니다.참고Red Hat Ceph Storage 백엔드에서는 Block Storage 볼륨 부팅 기능을 사용할 수 없습니다.
6.2. 부팅 가능한 볼륨에서 베어 메탈 인스턴스를 생성하도록 노드 구성 링크 복사링크가 클립보드에 복사되었습니다!
부팅 가능한 볼륨에서 베어 메탈 인스턴스를 시작하는 기능을 제공하도록 각 베어 메탈 노드를 구성해야 합니다.
프로세스
오버클라우드 인증 정보 파일을 소싱합니다.
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;credentials_file>을 인증 정보 파일의 이름으로 바꿉니다(예:overcloudrc).
-
&
각 베어 메탈 노드에 대해
iscsi_boot기능을true로 설정합니다.openstack baremetal node set --property capabilities=iscsi_boot:true <node_uuid>
$ openstack baremetal node set --property capabilities=iscsi_boot:true <node_uuid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;node_uuid>를 베어 메탈 노드의 ID로 바꿉니다.
-
&
각 베어 메탈 노드에 대해
storage-interface를cinder로 설정합니다.openstack baremetal node set --storage-interface cinder <node_uuid>
$ openstack baremetal node set --storage-interface cinder <node_uuid>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드의 iSCSI 커넥터를 생성합니다.
openstack baremetal volume connector create --node <node_uuid> \ --type iqn --connector-id <connector_id>
$ openstack baremetal volume connector create --node <node_uuid> \ --type iqn --connector-id <connector_id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<
connector_id>를 각 노드의 고유 ID(예:iqn.2010-10.org.openstack.node<NUM>)로 바꿉니다. 여기서 <NUM>은 각 노드의 증가된 번호입니다.
-
<
6.3. 부팅 디스크에서 iSCSI 커널 매개변수 구성 링크 복사링크가 클립보드에 복사되었습니다!
커널에서 iSCSI 부팅을 활성화하도록 인스턴스 이미지를 구성해야 합니다.
프로세스
-
언더클라우드 호스트에
stack사용자로 로그인합니다. stackrc언더클라우드 인증 정보 파일을 소싱합니다.source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Enterprise Linux 제품 소프트웨어 다운로드 페이지에서 QCOW2 형식의 Red Hat Enterprise Linux KVM 이미지를 다운로드합니다.
-
이미지를 언더클라우드의
/home/stack/디렉터리에 복사합니다. QCOW2 이미지를 마운트하고
root사용자로 액세스합니다.nbd커널 모듈을 로드합니다.sudo modprobe nbd
$ sudo modprobe nbdCopy to Clipboard Copied! Toggle word wrap Toggle overflow QCOW 이미지를
/dev/nbd0으로 연결합니다.sudo qemu-nbd --connect=/dev/nbd0 <image>
$ sudo qemu-nbd --connect=/dev/nbd0 <image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow NBD의 파티션을 확인합니다.
sudo fdisk /dev/nbd0 -l
$ sudo fdisk /dev/nbd0 -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새로운 Red Hat Enterprise Linux QCOW2 이미지에는 일반적으로 NBD에서 이름이
/dev/nbd0p1인 파티션이 하나뿐입니다.이미지의 마운트 지점을 생성합니다.
mkdir /tmp/mountpoint
$ mkdir /tmp/mountpointCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지를 마운트합니다.
sudo mount /dev/nbd0p1 /tmp/mountpoint/
$ sudo mount /dev/nbd0p1 /tmp/mountpoint/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지가 호스트의 장치 정보에 액세스할 수 있도록
dev디렉토리를 마운트합니다.sudo mount -o bind /dev /tmp/mountpoint/dev
$ sudo mount -o bind /dev /tmp/mountpoint/devCopy to Clipboard Copied! Toggle word wrap Toggle overflow root 디렉토리를 마운트 지점으로 변경합니다.
sudo chroot /tmp/mountpoint /bin/bash
$ sudo chroot /tmp/mountpoint /bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이미지에 iSCSI를 구성합니다.
참고이 단계의 일부 명령은 다음 오류를 보고할 수 있습니다.
lscpu: cannot open /proc/cpuinfo: No such file or directory
lscpu: cannot open /proc/cpuinfo: No such file or directoryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 오류는 중요하지 않으며 오류를 무시할 수 있습니다.
resolv.conf파일을 임시 위치로 이동합니다.mv /etc/resolv.conf /etc/resolv.conf.bak
# mv /etc/resolv.conf /etc/resolv.conf.bakCopy to Clipboard Copied! Toggle word wrap Toggle overflow 임시
resolv.conf파일을 생성하여 Red Hat Content Delivery Network에 대한 DNS 요청을 확인합니다. 이 예에서는 이름 서버에8.8.8.8을 사용합니다.echo "nameserver 8.8.8.8" > /etc/resolv.conf
# echo "nameserver 8.8.8.8" > /etc/resolv.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Content Delivery Network에 마운트된 이미지를 등록합니다.
subscription-manager register
# subscription-manager registerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령에서 메시지를 표시할 때 사용자 이름과 암호를 입력합니다.
Red Hat Enterprise Linux가 포함된 서브스크립션을 연결합니다.
subscription-manager list --all --available subscription-manager attach --pool <POOLID>
# subscription-manager list --all --available # subscription-manager attach --pool <POOLID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;POOLID>를 서브스크립션의 풀 ID로 바꿉니다.기본 리포지토리를 비활성화합니다.
subscription-manager repos --disable "*"
# subscription-manager repos --disable "*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 7:
subscription-manager repos --enable "rhel-7-server-rpms"
# subscription-manager repos --enable "rhel-7-server-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8:
subscription-manager repos --enable "rhel-8-for-x86_64-baseos-eus-rpms"
# subscription-manager repos --enable "rhel-8-for-x86_64-baseos-eus-rpms"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
iscsi-initiator-utils패키지를 설치합니다.yum install -y iscsi-initiator-utils
# yum install -y iscsi-initiator-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 마운트된 이미지를 등록 해제합니다.
subscription-manager unregister
# subscription-manager unregisterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 원래
resolv.conf파일을 복원합니다.mv /etc/resolv.conf.bak /etc/resolv.conf
# mv /etc/resolv.conf.bak /etc/resolv.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 마운트된 이미지에서 커널 버전을 확인합니다.
rpm -qa kernel
# rpm -qa kernelCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어 출력이
kernel-3.10.0-1062.el7.x86_64인 경우 커널 버전은3.10.0-1062.el7.x86_64입니다. 다음 단계는 이 커널 버전을 참조하십시오.참고새로운 Red Hat Enterprise Linux QCOW2 이미지에는 하나의 커널 버전만 설치됩니다. 두 개 이상의 커널 버전이 설치된 경우 최신 버전을 사용합니다.
initramfs 이미지에
network및iscsidracut 모듈을 추가합니다.dracut --force --add "network iscsi" /boot/initramfs-<KERNELVERSION>.img <KERNELVERSION>
# dracut --force --add "network iscsi" /boot/initramfs-<KERNELVERSION>.img <KERNELVERSION>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;KERNELVERSION>을rpm -qa 커널에서가져온 버전 번호로 바꿉니다. 다음 예제에서는 커널 버전으로3.10.0-1062.el7.x86_64를 사용합니다.dracut --force --add "network iscsi" /boot/initramfs-3.10.0-1062.el7.x86_64.img 3.10.0-1062.el7.x86_64
# dracut --force --add "network iscsi" /boot/initramfs-3.10.0-1062.el7.x86_64.img 3.10.0-1062.el7.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow 마운트된 이미지를 호스트 운영 체제로 다시 종료합니다.
exit
# exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이미지를 마운트 해제합니다.
임시 마운트 지점에서
dev디렉토리를 마운트 해제합니다.sudo umount /tmp/mountpoint/dev
$ sudo umount /tmp/mountpoint/devCopy to Clipboard Copied! Toggle word wrap Toggle overflow 마운트 시점에서 이미지를 마운트 해제합니다.
sudo umount /tmp/mountpoint
$ sudo umount /tmp/mountpointCopy to Clipboard Copied! Toggle word wrap Toggle overflow QCOW2 이미지의 연결을
/dev/nbd0/:에서 연결 해제합니다.sudo qemu-nbd --disconnect /dev/nbd0
$ sudo qemu-nbd --disconnect /dev/nbd0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이미지에서
grub메뉴 구성을 다시 빌드합니다.libguestfs-tools패키지를 설치합니다.sudo yum -y install libguestfs-tools
$ sudo yum -y install libguestfs-toolsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요언더클라우드에
libguestfs-tools패키지를 설치하는 경우 언더클라우드에서tripleo_iscsid서비스와 포트 충돌을 방지하기 위해iscsid.socket을 비활성화합니다.sudo systemctl disable --now iscsid.socket
$ sudo systemctl disable --now iscsid.socketCopy to Clipboard Copied! Toggle word wrap Toggle overflow QEMU를 직접 사용하도록
libguestfs백엔드를 설정합니다.export LIBGUESTFS_BACKEND=direct
$ export LIBGUESTFS_BACKEND=directCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지에서 grub 구성을 업데이트하고 부팅 디스크에서
rd.iscsi.firmware=1커널 매개변수를 설정합니다.guestfish -a /tmp/images/{{ dib_image }} -m /dev/sda3 sh "mount /dev/sda2 /boot/efi && rm /boot/grub2/grubenv && /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg && cp /boot/grub2/grub.cfg /boot/efi/EFI/redhat/grub.cfg && grubby --update-kernel=ALL --args=\"rd.iscsi.firmware=1\" && cp /boot/grub2/grubenv /boot/efi/EFI/redhat/grubenv && echo Success"$ guestfish -a /tmp/images/{{ dib_image }} -m /dev/sda3 sh "mount /dev/sda2 /boot/efi && rm /boot/grub2/grubenv && /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg && cp /boot/grub2/grub.cfg /boot/efi/EFI/redhat/grub.cfg && grubby --update-kernel=ALL --args=\"rd.iscsi.firmware=1\" && cp /boot/grub2/grubenv /boot/efi/EFI/redhat/grubenv && echo Success"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
iSCSI 사용 이미지를 Image 서비스(glance)에 업로드합니다.
openstack image create --disk-format qcow2 --container-format bare \ --file <image> <image_name>
$ openstack image create --disk-format qcow2 --container-format bare \ --file <image> <image_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;image>를 iSCSI 사용 이미지의 이름으로 바꿉니다(예:rhel-server-7.7-x86_64-kvm.qcow2). -
&
lt;image_ref>를 이미지를 참조하는 데 사용할 이름으로 바꿉니다(예:rhel-server-7.7-iscsi).
-
&
6.4. 부팅 가능한 볼륨에서 베어 메탈 인스턴스 생성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 노드에서 부팅 가능한 볼륨에서 생성된 베어 메탈 인스턴스를 호스팅할 수 있는지 확인하려면 부팅 가능한 볼륨을 생성하고 인스턴스를 시작합니다.
프로세스
오버클라우드 인증 정보 파일을 소싱합니다.
source ~/<credentials_file>
$ source ~/<credentials_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;credentials_file>을 인증 정보 파일의 이름으로 바꿉니다(예:overcloudrc).
-
&
iSCSI 사용 인스턴스 이미지에서 볼륨을 생성합니다.
openstack volume create --size 10 --image <image_ref> --bootable myBootableVolume
$ openstack volume create --size 10 --image <image_ref> --bootable myBootableVolumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;image_ref>를 볼륨에 쓸 이미지 이름 또는 ID로 바꿉니다(예:rhel-server-7.7-iscsi).
-
&
부팅 볼륨을 사용하는 베어 메탈 인스턴스를 생성합니다.
openstack server create --flavor baremetal --volume myBootableVolume --key default myBareMetalInstance
$ openstack server create --flavor baremetal --volume myBootableVolume --key default myBareMetalInstanceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7장. Bare Metal Provisioning 서비스 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic)가 포함된 환경의 문제를 진단합니다.
7.1. PXE 부팅 오류 링크 복사링크가 클립보드에 복사되었습니다!
다음 문제 해결 절차를 사용하여 PXE 부팅에 발생할 수 있는 문제를 평가하고 해결합니다.
권한 거부 오류
베어 메탈 노드의 콘솔에서 Permission Denied 오류를 반환하는 경우 적절한 SELinux 컨텍스트를 /httpboot 및 /tftpboot 디렉터리에 적용했는지 확인합니다.
semanage fcontext -a -t httpd_sys_content_t "/httpboot(/.*)?" restorecon -r -v /httpboot semanage fcontext -a -t tftpdir_t "/tftpboot(/.*)?" restorecon -r -v /tftpboot
# semanage fcontext -a -t httpd_sys_content_t "/httpboot(/.*)?"
# restorecon -r -v /httpboot
# semanage fcontext -a -t tftpdir_t "/tftpboot(/.*)?"
# restorecon -r -v /tftpboot
부팅 프로세스가 /pxelinux.cfg/XX-XX-XX-XX-XX-XX에서 중지됩니다.
노드의 콘솔에서 IP 주소가 수신되는 것처럼 보이지만 프로세스가 중지되면 ironic.conf 파일에서 잘못된 PXE 부팅 템플릿을 사용할 수 있습니다.
grep ^pxe_config_template ironic.conf pxe_config_template=$pybasedir/drivers/modules/ipxe_config.template
$ grep ^pxe_config_template ironic.conf
pxe_config_template=$pybasedir/drivers/modules/ipxe_config.template
기본 템플릿은 pxe_config.template 이므로 i 및 실수로 ipxe_config.template 을 쉽게 입력할 수 있습니다.
7.2. 베어 메탈 노드가 부팅된 후 로그인 오류 링크 복사링크가 클립보드에 복사되었습니다!
구성 중에 설정한 루트 암호를 사용할 때 노드에 로그인하지 못하면 배포된 이미지로 부팅되지 않음을 나타냅니다. deploy-kernel/deploy-ramdisk 이미지에 로그인할 수 있으며 시스템이 아직 올바른 이미지를 로드하지 않았습니다.
이 문제를 해결하려면 Compute 또는 Bare Metal Provisioning 서비스 노드의 /httpboot/pxelinux.cfg/MAC_ADDRESS 의 PXE 부팅 구성 파일이 베어 메탈 네트워크의 IP 주소에 해당하는지 확인합니다.
베어 메탈 프로비저닝 서비스 노드에서 사용하는 유일한 네트워크는 베어 메탈 네트워크입니다. 엔드포인트 중 하나가 네트워크에 없는 경우 엔드포인트는 부팅 프로세스의 일부로 베어 메탈 프로비저닝 서비스 노드에 연결할 수 없습니다.
예를 들어 파일의 커널 행은 다음과 같습니다.
kernel http://192.168.200.2:8088/5a6cdbe3-2c90-4a90-b3c6-85b449b30512/deploy_kernel selinux=0 disk=cciss/c0d0,sda,hda,vda iscsi_target_iqn=iqn.2008-10.org.openstack:5a6cdbe3-2c90-4a90-b3c6-85b449b30512 deployment_id=5a6cdbe3-2c90-4a90-b3c6-85b449b30512 deployment_key=VWDYDVVEFCQJNOSTO9R67HKUXUGP77CK ironic_api_url=http://192.168.200.2:6385 troubleshoot=0 text nofb nomodeset vga=normal boot_option=netboot ip=${ip}:${next-server}:${gateway}:${netmask} BOOTIF=${mac} ipa-api-url=http://192.168.200.2:6385 ipa-driver-name=ipmi boot_mode=bios initrd=deploy_ramdisk coreos.configdrive=0 || goto deploy
kernel http://192.168.200.2:8088/5a6cdbe3-2c90-4a90-b3c6-85b449b30512/deploy_kernel selinux=0 disk=cciss/c0d0,sda,hda,vda iscsi_target_iqn=iqn.2008-10.org.openstack:5a6cdbe3-2c90-4a90-b3c6-85b449b30512 deployment_id=5a6cdbe3-2c90-4a90-b3c6-85b449b30512 deployment_key=VWDYDVVEFCQJNOSTO9R67HKUXUGP77CK ironic_api_url=http://192.168.200.2:6385 troubleshoot=0 text nofb nomodeset vga=normal boot_option=netboot ip=${ip}:${next-server}:${gateway}:${netmask} BOOTIF=${mac} ipa-api-url=http://192.168.200.2:6385 ipa-driver-name=ipmi boot_mode=bios initrd=deploy_ramdisk coreos.configdrive=0 || goto deploy
위의 예제 커널 줄의 값 | 해당 정보 |
|---|---|
| http://192.168.200.2:8088 |
|
| 5a6cdbe3-2c90-4a90-b3c6-85b449b30512 |
|
| deploy_kernel |
이미지 서비스에서 |
| http://192.168.200.2:6385 |
|
| ipmi | 이 노드의 베어 메탈 프로비저닝 서비스에서 사용 중인 IPMI 드라이버입니다. |
| deploy_ramdisk |
이는 이미지 서비스에 |
/httpboot/pxelinux.cfg/MAC_ADDRESS 와 ironic.conf 파일 사이에 값이 일치하지 않는 경우:
-
ironic.conf파일에서 값을 업데이트 - 베어 메탈 프로비저닝 서비스 다시 시작
- 베어 메탈 인스턴스 재배포
7.3. 배포된 노드의 Boot-to-disk 오류 링크 복사링크가 클립보드에 복사되었습니다!
특정 하드웨어를 사용하면 배포의 일부로 연속 부팅 작업 중에 노드가 디스크에서 부팅할 수 없는 배포된 노드에 문제가 발생할 수 있습니다. 이는 일반적으로 BMC가 director가 노드에서 요청하는 영구 부팅 설정을 준수하지 않기 때문에 발생합니다. 대신 노드는 PXE 대상에서 부팅됩니다.
이 경우 노드의 BIOS에서 부팅 순서를 업데이트해야 합니다. HDD를 첫 번째 부팅 장치로 설정한 다음 이후 옵션으로 PXE를 설정하여 노드가 기본적으로 디스크에서 부팅되지만 필요에 따라 인트로스펙션 또는 배포 중에 네트워크에서 부팅할 수 있습니다.
이 오류는 대부분 LegacyBIOS 펌웨어를 사용하는 노드에 적용됩니다.
7.4. 베어 메탈 프로비저닝 서비스에 올바른 호스트 이름이 수신되지 않음 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스에 올바른 호스트 이름이 제공되지 않으면 cloud-init 가 실패합니다. 이 문제를 해결하려면 OpenStack Networking 서비스의 라우터에 Bare Metal 서브넷을 연결합니다. 이 구성에서는 요청을 메타 데이터 에이전트로 올바르게 라우팅합니다.
7.5. Bare Metal Provisioning 서비스 명령을 실행할 때 잘못된 OpenStack ID 서비스 인증 정보 링크 복사링크가 클립보드에 복사되었습니다!
Identity 서비스를 인증할 수 없는 경우 ironic.conf 파일에서 identity_uri 매개변수를 확인하고 keystone AdminURL에서 /v2.0 을 제거해야 합니다. 예를 들어 identity_uri 를 http://IP:PORT 로 설정합니다.
7.6. 하드웨어 등록 링크 복사링크가 클립보드에 복사되었습니다!
잘못된 노드 등록 세부 정보로 인해 등록된 하드웨어에 문제가 발생할 수 있습니다. 속성 이름과 값을 올바르게 입력했는지 확인합니다. 속성 이름을 잘못 입력하면 시스템은 노드 세부 정보에 속성을 추가하지만 무시합니다.
openstack baremetal node set 명령을 사용하여 노드 세부 정보를 업데이트합니다. 예를 들어 노드가 2GB에 사용하도록 등록된 메모리 양을 업데이트합니다.
openstack baremetal node set --property memory_mb=2048 NODE_UUID
$ openstack baremetal node set --property memory_mb=2048 NODE_UUID
7.7. iDRAC 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
- Redfish 관리 인터페이스가 부팅 장치를 설정하지 못했습니다
특정 iDRAC 펌웨어 버전과 함께
idrac-redfish관리 인터페이스를 사용하고 UEFI 부팅을 사용하여 베어 메탈 서버에서 부팅 장치를 설정하려고 하면 iDRAC에서 다음 오류를 반환합니다.Unable to Process the request because the value entered for the parameter Continuous is not supported by the implementation.
Unable to Process the request because the value entered for the parameter Continuous is not supported by the implementation.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 문제가 발생하면 노드의
driver-info에서force_persistent_boot_device매개변수를Never로 설정합니다.openstack baremetal node set --driver-info force_persistent_boot_device=Never ${node_uuid}openstack baremetal node set --driver-info force_persistent_boot_device=Never ${node_uuid}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 전원을 끄는 시간 초과
일부 서버는 전원을 끄거나 시간 초과할 때 너무 느려질 수 있습니다. 기본 재시도 수는
6이므로 30초의 시간 초과가 발생합니다. 시간 초과 기간을 90초로 늘리려면 언더클라우드 hieradata 덮어쓰기 파일에서ironic::agent::rpc_response_timeout값을18로 설정하고openstack undercloud install명령을 다시 실행합니다.ironic::agent::rpc_response_timeout: 18
ironic::agent::rpc_response_timeout: 18Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 벤더 패스스루 시간 초과
iDRAC를 벤더 패스스루 명령을 실행할 수 없는 경우 이러한 명령이 시간이 너무 오래 걸립니다.
openstack baremetal node passthru call --http-method GET \ aed58dca-1b25-409a-a32f-3a817d59e1e0 list_unfinished_jobs Timed out waiting for a reply to message ID 547ce7995342418c99ef1ea4a0054572 (HTTP 500)
openstack baremetal node passthru call --http-method GET \ aed58dca-1b25-409a-a32f-3a817d59e1e0 list_unfinished_jobs Timed out waiting for a reply to message ID 547ce7995342418c99ef1ea4a0054572 (HTTP 500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 메시징의 시간 초과 기간을 늘리려면 언더클라우드 hieradata 덮어쓰기 파일에서
ironic::default::rpc_response_timeout매개변수 값을 늘리고openstack undercloud install명령을 다시 실행합니다.ironic::default::rpc_response_timeout: 600
ironic::default::rpc_response_timeout: 600Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.8. 서버 콘솔 구성 링크 복사링크가 클립보드에 복사되었습니다!
오버클라우드 노드의 콘솔 출력이 항상 서버 콘솔로 전송되지는 않습니다. 서버 콘솔에서 이 출력을 보려면 하드웨어에 올바른 콘솔을 사용하도록 오버클라우드를 구성해야 합니다. 이 구성을 수행하려면 다음 방법 중 하나를 사용합니다.
-
각 오버클라우드 역할에 대해
KernelArgsheat 매개변수를 수정합니다. -
director에서 오버클라우드 노드를 프로비저닝하는 데 사용하는
overcloud-hardened-uefi-full.qcow2이미지를 사용자 지정합니다.
사전 요구 사항
- 성공적인 언더클라우드 설치 자세한 내용은 Director 설치 및 사용 가이드를 참조하십시오.
- 배포할 준비가 된 오버클라우드 노드
배포 중 heat로 KernelArgs 수정
-
언더클라우드 호스트에
stack사용자로 로그인합니다. stackrc인증 정보 파일을 소싱합니다.source stackrc
$ source stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를 사용하여 환경 파일
overcloud-console.yaml을 생성합니다.parameter_defaults: <role>Parameters: KernelArgs: "console=<console-name>"parameter_defaults: <role>Parameters: KernelArgs: "console=<console-name>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;role>을 구성할 오버클라우드 역할의 이름으로 바꾸고 <console-name>을 사용하려는 콘솔 ID로 바꿉니다. 예를 들어 다음 스니펫을 사용하여tty0을 사용하도록 기본 역할의 모든 오버클라우드 노드를 구성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
-e옵션을 사용하여 배포 명령에overcloud-console-tty0.yaml파일을 포함합니다.
overcloud-hardened-uefi-full.qcow2 이미지 수정
-
언더클라우드 호스트에
stack사용자로 로그인합니다. stackrc인증 정보 파일을 소싱합니다.source stackrc
$ source stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow overcloud-hardened-uefi-full.qcow2이미지에서 커널 인수를 수정하여 하드웨어에 올바른 콘솔을 설정합니다. 예를 들어 콘솔을tty1로 설정합니다.virt-customize --selinux-relabel -a overcloud-hardened-uefi-full.qcow2 --run-command 'grubby --update-kernel=ALL --args="console=tty1"'
$ virt-customize --selinux-relabel -a overcloud-hardened-uefi-full.qcow2 --run-command 'grubby --update-kernel=ALL --args="console=tty1"'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지를 director로 가져옵니다.
openstack overcloud image upload --image-path overcloud-hardened-uefi-full.qcow2
$ openstack overcloud image upload --image-path overcloud-hardened-uefi-full.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 오버클라우드를 배포합니다.
검증
언더클라우드에서 오버클라우드 노드에 로그인합니다.
ssh tripleo-admin@<IP-address>
$ ssh tripleo-admin@<IP-address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;IP-address>를 오버클라우드 노드의 IP 주소로 바꿉니다./proc/cmdline파일의 내용을 검사하고console=매개변수가 사용하려는 콘솔 값으로 설정되어 있는지 확인합니다.[tripleo-admin@controller-0 ~]$ cat /proc/cmdline BOOT_IMAGE=(hd0,msdos2)/boot/vmlinuz-4.18.0-193.29.1.el8_2.x86_64 root=UUID=0ec3dea5-f293-4729-b676-5d38a611ce81 ro console=tty0 console=ttyS0,115200n81 no_timer_check crashkernel=auto rhgb quiet
[tripleo-admin@controller-0 ~]$ cat /proc/cmdline BOOT_IMAGE=(hd0,msdos2)/boot/vmlinuz-4.18.0-193.29.1.el8_2.x86_64 root=UUID=0ec3dea5-f293-4729-b676-5d38a611ce81 ro console=tty0 console=ttyS0,115200n81 no_timer_check crashkernel=auto rhgb quietCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8장. 베어 메탈 드라이버 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스에서 활성화된 드라이버 중 하나를 사용하도록 베어 메탈 노드를 구성할 수 있습니다. 각 드라이버에는 프로비저닝 방법과 전원 관리 유형이 포함됩니다. 일부 드라이버에는 추가 구성이 필요합니다. 이 섹션에 설명된 각 드라이버는 프로비저닝에 PXE를 사용합니다. 드라이버는 전원 관리 유형으로 나열됩니다.
ironic.yaml 파일에서 IronicEnabledHardwareTypes 매개변수를 구성하여 드라이버를 추가할 수 있습니다. 기본적으로 ipmi 및 redfish 는 활성화되어 있습니다.
지원되는 플러그인 및 드라이버의 전체 목록은 Component, Plug-In 및 Driver Support in Red Hat OpenStack Platform 을 참조하십시오.
8.1. IPMI(Intelligent Platform Management Interface) 전원 관리 드라이버 링크 복사링크가 클립보드에 복사되었습니다!
IPMI는 전원 관리 및 서버 모니터링을 포함하여 대역 외 원격 관리 기능을 제공하는 인터페이스입니다. 이 전원 관리 유형을 사용하려면 모든 베어 메탈 프로비저닝 서비스 노드에 공유 베어 메탈 네트워크에 연결된 IPMI가 필요합니다. IPMI 전원 관리자 드라이버는 ipmitool 유틸리티를 사용하여 하드웨어를 원격으로 관리합니다. 다음 driver_info 속성을 사용하여 노드에 대한 IPMI 전원 관리자 드라이버를 구성할 수 있습니다.
| 속성 | 설명 | 동등한 ipmitool 옵션 |
|---|---|---|
|
| (필수) 노드의 IP 주소 또는 호스트 이름입니다. |
|
|
| IPMI 사용자 이름입니다. |
|
|
|
IPMI 암호입니다. 암호는 임시 파일에 작성됩니다. |
|
|
| IPMIv2 인증을 위한 16진수 Kg 키입니다. |
|
|
| 원격 IPMI RMCP 포트입니다. |
|
|
| IPMI 권한 수준. 다음 유효한 값 중 하나로 설정합니다.
|
|
|
| IPMI 프로토콜의 버전입니다. 다음 유효한 값 중 하나로 설정합니다.
|
|
|
| 브리징 유형입니다. CCMC( nested 섀시 관리 컨트롤러)와 함께 사용합니다. 다음 유효한 값 중 하나로 설정합니다.
| 해당 없음 |
|
|
브리지된 요청에 대한 대상 채널입니다. |
|
|
|
브리지된 요청의 대상 주소입니다. |
|
|
|
브리지된 요청에 대한 전송 채널입니다. |
|
|
|
bridged 요청의 전송 주소입니다. |
|
|
|
브리지된 요청의 로컬 IPMB 주소입니다. |
|
|
|
Bare Metal Provisioning 서비스에서 서버가 켜질 때마다 BMC에 부팅 장치를 지정해야 하는지 지정하려면 | 해당 없음 |
|
|
노드에서 부팅하기 위해 60초 제한 시간을 비활성화하려면 원시 IPMI 명령을 보내지 않도록 | 해당 없음 |
|
| 노드에서 사용할 IPMI 암호화 제품군 버전입니다. 다음 유효한 값 중 하나로 설정합니다.
| 해당 없음 |
8.2. Redfish 링크 복사링크가 클립보드에 복사되었습니다!
DCTF(Distributed Management Task Force)에서 개발한 IT 인프라를 위한 표준 RESTful API입니다. 다음 driver_info 속성을 사용하여 Redfish에 Bare Metal Provisioning serive(ironic) 연결을 구성할 수 있습니다.
| 속성 | 설명 |
|---|---|
|
|
(필수) Redfish 컨트롤러의 IP 주소입니다. 주소에는 URL의 권한 부분이 포함되어야 합니다. 스키마를 포함하지 않으면 기본값은 |
|
|
Redfish 드라이버가 상호 작용하는 시스템 리소스의 표준 경로입니다. 경로에는 루트 서비스, 버전, 시스템의 고유 경로가 |
|
| Redfish 사용자 이름입니다. |
|
| Redfish 암호입니다. |
|
|
부울 값, CA_BUNDLE 파일의 경로 또는 신뢰할 수 있는 CA의 인증서가 있는 디렉터리입니다. 이 값을 |
|
| Redfish HTTP 클라이언트 인증 방법입니다. 다음 유효한 값 중 하나로 설정합니다.
|
8.3. DRAC(Dell Remote Access Controller) 링크 복사링크가 클립보드에 복사되었습니다!
DRAC는 전원 관리 및 서버 모니터링을 포함하여 대역 외 원격 관리 기능을 제공하는 인터페이스입니다. 이 전원 관리 유형을 사용하려면 모든 Bare Metal Provisioning 서비스 노드에 공유 베어 메탈 프로비저닝 네트워크에 연결된 DRAC가 필요합니다. idrac 드라이버를 활성화하고 노드의 driver_info 에 다음 정보를 설정합니다.
-
drac_address- DRAC NIC의 IP 주소입니다. -
drac_username- DRAC 사용자 이름입니다. -
drac_password- DRAC 암호입니다. -
선택 사항:
drac_port- WS-Management 엔드포인트에 사용할 포트입니다. 기본값은443입니다. -
선택 사항:
drac_path- WS-Management 엔드포인트에 사용할 경로입니다. 기본 경로는/wsman입니다. -
선택사항:
drac_protocol- WS-Management 엔드포인트에 사용할 프로토콜입니다. 유효한 값:http,https. 기본 프로토콜은https입니다.
8.4. iRMC(Integrated Remote Management Controller) 링크 복사링크가 클립보드에 복사되었습니다!
Fujitsu의 iRMC는 전원 관리 및 서버 모니터링을 포함하여 대역 외 원격 관리 기능을 제공하는 인터페이스입니다. 베어 메탈 프로비저닝 서비스 노드에서 이 전원 관리 유형을 사용하려면 노드에 공유 Bare Metal 네트워크에 연결된 iRMC 인터페이스가 필요합니다. irmc 드라이버를 활성화하고 노드의 driver_info 에 다음 정보를 설정합니다.
-
irmc_address- iRMC 인터페이스 NIC의 IP 주소입니다. -
irmc_username- iRMC 사용자 이름입니다. -
irmc_password- iRMC 암호입니다.
IPMI를 사용하여 센서 데이터를 가져오기 위해 부팅 모드 또는 SCCI를 설정하려면 다음 추가 단계를 완료해야 합니다.
ironic.conf파일에서 센서 방법을 활성화합니다.openstack-config --set /etc/ironic/ironic.conf \ irmc sensor_method METHOD
$ openstack-config --set /etc/ironic/ironic.conf \ irmc sensor_method METHODCopy to Clipboard Copied! Toggle word wrap Toggle overflow METHOD 를
scci또는ipmitool으로 바꿉니다.SCCI를 활성화한 경우
python-scciclient패키지를 설치합니다.dnf install python-scciclient
# dnf install python-scciclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow Bare Metal conductor 서비스를 다시 시작합니다.
systemctl restart openstack-ironic-conductor.service
# systemctl restart openstack-ironic-conductor.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
iRMC 드라이버를 사용하려면 iRMC S4 이상이 필요합니다.
8.5. iLO(Integrated Lights-Out) 링크 복사링크가 클립보드에 복사되었습니다!
Hewlett-Packard의 iLO는 전원 관리 및 서버 모니터링을 포함하여 대역 외 원격 관리 기능을 제공하는 인터페이스입니다. 이 전원 관리 유형을 사용하려면 모든 베어 메탈 노드에 공유 베어 메탈 네트워크에 연결된 iLO 인터페이스가 필요합니다. ilo 드라이버를 활성화하고 노드의 driver_info 에 다음 정보를 설정합니다.
-
ilo_address- iLO 인터페이스 NIC의 IP 주소입니다. -
ilo_username- iLO 사용자 이름입니다. -
ilo_password- iLO 암호입니다.
python-proliantutils 패키지를 설치하고 Bare Metal conductor 서비스를 다시 시작해야 합니다.
dnf install python-proliantutils systemctl restart openstack-ironic-conductor.service
# dnf install python-proliantutils
# systemctl restart openstack-ironic-conductor.service