베어 메탈 프로비저닝
베어 메탈 프로비저닝 서비스(ironic) 설치 및 구성
초록
preface 링크 복사링크가 클립보드에 복사되었습니다!
보다 포괄적 수용을 위한 오픈 소스 용어 교체 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서 개선을 위한 의견을 보내 주십시오. 어떻게 하면 더 잘할 수 있는지 알려주십시오.
DDF( Direct Documentation Feedback) 기능 사용
특정 문장, 단락 또는 코드 블록에 대한 직접 의견을 받으려면 피드백 DDF 추가 기능을 사용하십시오.
- 다중 페이지 HTML 형식으로 문서를 봅니다.
- 문서 오른쪽 상단에 Feedback 버튼이 표시되는지 확인합니다.
- 주석 처리하려는 텍스트 부분을 강조 표시합니다.
- 피드백 추가를 클릭합니다.
- 의견을 사용하여 피드백 추가 필드를 완료합니다.
- 선택 사항: 문서 팀이 문제에 대한 명확한 설명을 위해 귀하에게 연락할 수 있도록 이메일 주소를 추가하십시오.
- Submit 을 클릭합니다.
1장. Bare Metal Provisioning 서비스(ironic) 기능 링크 복사링크가 클립보드에 복사되었습니다!
Bare Metal Provisioning 서비스(ironic) 구성 요소를 사용하여 클라우드 사용자의 베어 메탈 인스턴스로 물리적 머신을 프로비저닝하고 관리합니다. 베어 메탈 인스턴스를 프로비저닝하고 관리하기 위해 베어 메탈 프로비저닝 서비스는 오버클라우드의 다음 RHOSP(Red Hat OpenStack Platform) 서비스와 상호 작용합니다.
- Compute 서비스(nova)는 가상 머신 인스턴스 관리에 대한 스케줄링, 테넌트 할당량 및 사용자 방향 API를 제공합니다. 베어 메탈 프로비저닝 서비스는 하드웨어 관리를 위한 관리 API를 제공합니다.
- Identity 서비스(keystone)는 요청 인증을 제공하고 베어 메탈 프로비저닝 서비스를 통해 다른 RHOSP 서비스를 찾도록 지원합니다.
- Image 서비스(glance)는 디스크 및 인스턴스 이미지 및 이미지 메타데이터를 관리합니다.
- Networking 서비스(neutron)는 DHCP 및 네트워크 구성을 제공하며 부팅 시에 연결된 가상 또는 물리적 네트워크를 프로비저닝합니다.
- Object Storage 서비스(swift)는 일부 드라이버의 임시 이미지 URL을 노출합니다.
베어 메탈 프로비저닝 서비스 구성 요소
베어 메탈 프로비저닝 서비스는 ironic-* 라는 서비스로 구성됩니다. 다음 서비스는 코어 베어 메탈 프로비저닝 서비스입니다.
- 베어 메탈 프로비저닝 API(
ironic-api) - 이 서비스는 외부 REST API를 사용자에게 제공합니다. API는 원격 프로시저 호출(RPC)을 통해 베어 메탈 프로비저닝 실행자에게 애플리케이션 요청을 보냅니다.
- Bare Metal Provisioningconductor(
ironic-conductor) 이 서비스는 드라이버를 사용하여 다음 베어 메탈 노드 관리 작업을 수행합니다.
- 베어 메탈 노드를 추가, 편집 및 삭제합니다.
- IPMI, Redfish 또는 기타 벤더별 프로토콜을 사용하여 베어 메탈 노드의 전원을 켜거나 끕니다.
- 베어 메탈 노드를 프로비저닝, 배포, 정리합니다.
- Bare Metal Provisioninginspector(
ironic-inspector) - 이 서비스는 베어 메탈 인스턴스를 예약하는 데 필요한 베어 메탈 노드의 하드웨어 속성을 검색하고 검색된 이더넷 MAC에 대해 베어 메탈 프로비저닝 서비스 포트를 생성합니다.
- 베어 메탈 프로비저닝 데이터베이스
- 이 데이터베이스는 하드웨어 정보 및 상태를 추적합니다.
- 메시지 큐
-
모든 서비스는 이 메시징 서비스를 사용하여
ironic-api와ironic-conductor간의 RPC 구현을 포함하여 서로 통신합니다. - 베어 메탈 프로비저닝 에이전트(
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. 기본 베어 메탈 네트워크 링크 복사링크가 클립보드에 복사되었습니다!
기본 베어 메탈 프로비저닝 서비스 배포 아키텍처의 베어 메탈 네트워크는 컨트롤 플레인 네트워크와 분리됩니다. 베어 메탈 네트워크는 테넌트 네트워크 역할을 하는 플랫 네트워크입니다. 이 네트워크는 director 프로비저닝 네트워크라는 컨트롤 플레인의 베어 메탈 프로비저닝 서비스로 라우팅해야 합니다. 격리된 베어 메탈 네트워크를 정의하는 경우 베어 메탈 노드는 PXE 부팅할 수 없습니다.
기본 베어 메탈 네트워크 아키텍처 다이어그램
2.2.2. 사용자 정의 구성 가능 베어 메탈 네트워크 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스 배포 아키텍처에서 사용자 정의 구성 가능 베어 메탈 네트워크를 사용하는 경우 베어 메탈 네트워크는 컨트롤 플레인에 액세스할 수 없는 사용자 지정 구성 가능 네트워크입니다. 컨트롤 플레인에 대한 액세스를 제한하려면 사용자 정의 구성 가능 베어 메탈 네트워크를 사용합니다.
3장. 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스(ironic)를 사용하여 오버클라우드를 배포하려면 베어 메탈 네트워크를 생성 및 구성하고 베어 메탈 프로비저닝을 활성화하도록 오버클라우드를 구성해야 합니다.
베어 메탈 네트워크를 생성합니다. 컨트롤러 노드에서 provisioning 네트워크 인터페이스를 재사용하여 플랫 네트워크를 생성하거나 사용자 지정 네트워크를 생성할 수 있습니다.
베어 메탈 프로비저닝을 활성화하도록 오버클라우드를 설정합니다.
OVN(Open Virtual Network)을 사용하는 경우 베어 메탈 프로비저닝 서비스는 ironic-overcloud.yaml 파일인 neutron-dhcp-agent 에 정의된 DHCP 에이전트에서만 지원됩니다. OVN의 기본 제공 DHCP 서버는 베어 메탈 노드를 프로비저닝하거나 프로비저닝 네트워크의 DHCP를 제공할 수 없습니다. iPXE 체인 로드를 활성화하려면 dnsmasq에서 --dhcp-match 태그를 설정해야 OVN DHCP 서버에서 지원되지 않습니다.
사전 요구 사항
- 환경이 최소 요구 사항을 충족합니다. 자세한 내용은 베어 메탈 프로비저닝 요구 사항을 참조하십시오.
3.1. 기본 플랫 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
기본 플랫 베어 메탈 네트워크를 사용하려면 컨트롤러 노드에서 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에서 프로비저닝 네트워크 인터페이스를 재사용하여 베어 메탈 네트워크의 브릿지를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고프로비저닝 네트워크를 재사용하여 생성할 때 베어 메탈 네트워크에 태그를 지정할 수 없습니다.
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
[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 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에서 Overcloud를 프로비저닝하고 배포합니다.
절차
-
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. 베어 메탈 프로비저닝을 활성화하도록 오버클라우드 설정 링크 복사링크가 클립보드에 복사되었습니다!
환경 파일을 사용하여 Bare Metal Provisioning 서비스(ironic)가 활성화된 오버클라우드를 배포합니다. /usr/share/openstack-tripleo-heat-templates/environments/services 디렉터리에 있는 예제 템플릿 중 하나를 사용할 수 있습니다.
-
OVS:
ironic.yaml을 사용하는 배포의 경우 -
OVN:
ironic-overcloud.yaml을 사용하는 배포의 경우
다음 절차에서는 ironic-overcloud.yaml 파일을 사용하여 베어 메탈 프로비저닝 서비스를 활성화하도록 배포를 구성하는 방법을 설명합니다.
절차
베어 메탈 템플릿 예제를 환경 파일 디렉터리에 복사합니다.
cp /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-overcloud.yaml /home/stack/templates/ironic-overcloud.yaml
$ cp /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-overcloud.yaml /home/stack/templates/ironic-overcloud.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 프로비저닝 전과 간에 베어 메탈 머신에서 수행되는 정리 유형을 구성합니다.
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-inspector.yaml파일을 환경 파일 디렉터리에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml /home/stack/templates/ironic-inspector.yaml
$ cp /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml /home/stack/templates/ironic-inspector.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 환경에
ironic-inspector.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 범위로 바꿉니다. 여러 범위를 지정할 수 있습니다. -
&
lt;ip_address>:<port>를 IPA 커널 및 램디스크를 호스팅하는 웹 서버의 IP 주소 및 포트로 바꿉니다. 언더클라우드에서 사용하는 것과 동일한 이미지를 사용하려면 IP 주소를 언더클라우드 IP 주소로 설정하고 포트를8088로 설정합니다. 이 매개변수를 생략하는 경우 각 컨트롤러 노드에 대한 대안을 포함해야 합니다. -
&
lt;baremetal_interface>를 베어 메탈 네트워크 인터페이스로 교체합니다(예:br-baremetal).
-
&
새 역할 및 사용자 정의 환경 파일을 다른 환경 파일과 함께 스택에 추가하고 오버클라우드를 배포합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이후 파일의 설정이 우선하므로
openstack overcloud deploy명령에 환경 파일을 전달하는 순서가 중요합니다. 따라서 네트워크 구성 파일 후 오버클라우드에서 베어 메탈 프로비저닝을 활성화하고 구성하는 환경 파일을 명령에 전달해야 합니다.openstack overcloud deploy명령 사용에 대한 자세한 내용은 오버클라우드 배포의 환경 파일 포함을 참조하십시오.
3.5. 베어 메탈 프로비저닝 서비스 테스트 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack Integration Test Suite를 사용하여 Red Hat OpenStack 배포를 검증할 수 있습니다. 자세한 내용은 OpenStack Integration Test Suite 가이드 를 참조하십시오.
베어 메탈 프로비저닝 서비스에 대한 추가 확인 방법은 다음과 같습니다.
관리 사용자로 Identity에 액세스하도록 쉘을 구성합니다.
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 설치 및 사용 가이드의 배포 명령 옵션
- Director 설치 및 사용 가이드에 오버클라우드 배포에 환경 파일 포함
- 오버클라우드용 IPv6 네트워킹
- 오버클라우드 매개변수 가이드의 Bare Metal(ironic) 매개변수
4장. 배포 후 베어 메탈 프로비저닝 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스(ironic)를 사용하여 오버클라우드를 배포한 후 베어 메탈 워크로드에 맞게 환경을 준비하기 위해 몇 가지 추가 구성을 완료해야 할 수 있습니다.
- 네트워킹을 설정합니다.
- 노드 정리 구성.
- 베어 메탈 노드의 베어 메탈 플레이버 및 이미지를 생성합니다.
- 배포 인터페이스를 구성합니다.
- 가상 미디어 부팅 구성.
- 별도의 가상 및 물리적 시스템 배포.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
4.1. OpenStack 네트워킹 구성 링크 복사링크가 클립보드에 복사되었습니다!
DHCP, PXE 부팅 및 기타 요구 사항에 대한 베어 메탈 프로비저닝 서비스와 통신하도록 OpenStack 네트워킹을 구성합니다. 베어 메탈 네트워크는 다음 두 가지 방법으로 구성할 수 있습니다.
- Ironic Conductor 서비스에 대해 플랫 베어 메탈 네트워크를 사용합니다. 이 네트워크는 컨트롤 플레인 네트워크의 Ironic 서비스로 라우팅해야 합니다.
- 사용자 지정 구성 가능 네트워크를 사용하여 Overcloud에서 Ironic 서비스를 구현합니다.
이 섹션의 절차에 따라 베어 메탈에 프로비저닝할 단일 플랫 네트워크에 대해 OpenStack 네트워킹을 구성하거나 사용되지 않은 격리된 네트워크 또는 플랫 네트워크에 의존하지 않는 새로운 구성 가능 네트워크를 구성하십시오. 구성에서는 ML2 플러그인 및 Open vSwitch 에이전트를 사용합니다.
4.1.1. 플랫 베어 메탈 네트워크에서 베어 메탈 프로비저닝 서비스와 통신하도록 OpenStack 네트워킹 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차의 모든 단계를 OpenStack Networking 서비스를 호스팅하는 서버에서 root 사용자로 수행합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
관리 사용자로 Identity에 액세스하도록 쉘을 구성합니다.
source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 인스턴스를 프로비저닝할 flat 네트워크를 생성합니다.
openstack network create \ --provider-network-type flat \ --provider-physical-network baremetal \ --share NETWORK_NAME
$ openstack network create \ --provider-network-type flat \ --provider-physical-network baremetal \ --share NETWORK_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow NETWORK_NAME 을 이 네트워크의 이름으로 바꿉니다. 가상 네트워크를 구현하는 실제 네트워크의 이름(이 경우
baremetal)은~/templates/network-environment.yaml파일에서 이전에NeutronBridgeMappings매개변수를 사용하여 설정되었습니다.flat 네트워크에 서브넷을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 값을 바꿉니다.
- SUBNET_NAME 을 서브넷의 이름으로 바꿉니다.
- NETWORK_NAME 을 이전 단계에서 생성한 프로비저닝 네트워크의 이름으로 교체합니다.
- NETWORK_CIDR 을 서브넷에서 나타내는 IP 주소 블록의 CIDR(Classless Inter-Domain Routing) 표시로 바꿉니다. START_IP로 시작하고 END_IP 로 끝나는 범위로 지정하는 IP 주소 블록은 NETWORK_CIDR에 지정된 IP 주소 블록 내에 있어야 합니다.
- GATEWAY_IP 를 새 서브넷의 게이트웨이 역할을 하는 라우터 인터페이스의 IP 주소 또는 호스트 이름으로 바꿉니다. 이 주소는 NETWORK_CIDR에서 지정한 IP 주소 블록 내에 있어야 하지만 START_ IP로 시작하고 END_IP 로 끝나는 범위로 지정된 IP 주소 블록 외부에 있어야 합니다.
- 유동 IP 주소가 할당될 새 서브넷 내의 IP 주소 범위를 나타내는 START_IP 를 IP 주소로 바꿉니다.
- END_IP 를 유동 IP 주소가 할당될 새 서브넷 내의 IP 주소 범위의 끝을 나타내는 IP 주소로 바꿉니다.
네트워크 및 서브넷의 라우터를 생성하여 OpenStack Networking 서비스가 메타데이터 요청을 제공하는지 확인합니다.
openstack router create ROUTER_NAME
$ openstack router create ROUTER_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow ROUTER_NAME을 라우터의 이름으로 바꿉니다.새 라우터에 서브넷을 연결합니다.
openstack router add subnet ROUTER_NAME BAREMETAL_SUBNET
$ openstack router add subnet ROUTER_NAME BAREMETAL_SUBNETCopy to Clipboard Copied! Toggle word wrap Toggle overflow ROUTER_NAME 을 라우터 이름으로 바꾸고 ✓E METAL_SUBNET 을 이전에 만든 서브넷의 ID 또는 이름으로 바꿉니다. 이를 통해
cloud-init의 메타데이터 요청과 구성된 노드를 제공할 수 있습니다.
4.1.2. 사용자 정의 구성 가능한 베어 메탈 네트워크에서 베어 메탈 프로비저닝 서비스와 통신하도록 OpenStack 네트워킹 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차의 모든 단계를 OpenStack Networking 서비스를 호스팅하는 서버에서 root 사용자로 수행합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
배포 중에 생성하는
OcProvisioning네트워크와 일치하는 VlanID를 사용하여 vlan 네트워크를 만듭니다. 정리 네트워크의 기본 이름과 일치하도록 새 네트워크프로비저닝의 이름을 지정합니다.openstack network create \ --share \ --provider-network-type vlan \ --provider-physical-network datacentre \ --provider-segment 205 provisioning
(overcloud) [stack@host01 ~]$ openstack network create \ --share \ --provider-network-type vlan \ --provider-physical-network datacentre \ --provider-segment 205 provisioningCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드 네트워크의 이름이
프로비저닝되지 않은 경우IronicProvisioningNetwork매개변수를provisioning으로 설정하고 오버클라우드를 재배포합니다.~/templates/ironic.yamlparameter_defaults: IronicProvisioningNetwork: default: provisioning description: Name or UUID of the overcloud network used for provisioning bare metal nodes, if IronicDefaultNetworkInterface is set to "neutron". The default value can be left during the initial deployment and should be changed to an actual UUID in a post-deployment stack update. type: stringparameter_defaults: IronicProvisioningNetwork: default: provisioning description: Name or UUID of the overcloud network used for provisioning bare metal nodes, if IronicDefaultNetworkInterface is set to "neutron". The default value can be left during the initial deployment and should be changed to an actual UUID in a post-deployment stack update. type: stringCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2. 노드 정리 구성 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 베어 메탈 프로비저닝 서비스는 노드 정리에 provisioning 이라는 네트워크를 사용합니다. 그러나 네트워크 이름은 OpenStack 네트워킹에서 고유하지 않으므로 테넌트에서 동일한 이름으로 네트워크를 만들 수 있으므로 베어 메탈 프로비저닝 서비스와 충돌할 수 있습니다. 충돌을 방지하려면 네트워크 UUID를 대신 사용합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
노드 정리를 구성하려면 베어 메탈 프로비저닝 서비스를 호스팅하는 컨트롤러에서 공급자 네트워크 UUID를 제공합니다.
~/templates/ironic.yamlparameter_defaults: IronicCleaningNetwork: <UUID>parameter_defaults: IronicCleaningNetwork: <UUID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <UUID>를 이전 단계에서 생성한 베어 메탈 네트워크의 UUID로 바꿉니다.openstack network show명령을 사용하여 UUID를 찾을 수 있습니다.openstack network show NETWORK_NAME -f value -c id
openstack network show NETWORK_NAME -f value -c idCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이전에 네트워크의 UUID를 사용할 수 없으므로 초기 오버클라우드 배포 후에는 이 구성을 수행해야 합니다.
-
변경 사항을 적용하려면
openstack overcloud deploy를 사용하여 오버클라우드를 재배포합니다. 배포 명령에 대한 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
4.2.1. 수동으로 노드 정리 링크 복사링크가 클립보드에 복사되었습니다!
노드 정리를 수동으로 시작하려면 노드가 manageable 상태여야 합니다.
노드 정리에는 두 가지 모드가 있습니다.
metadata만 정리 - 지정된 노드의 모든 디스크에서 파티션을 제거합니다. 이것은 더 빠른 정리 사이클이지만 파티션 테이블만 지우기 때문에 안전하지 않습니다. 이 모드는 신뢰할 수 있는 테넌트 환경에서만 사용합니다.
완전한 정리 - ATA 보안 지우기 또는 파쇄를 사용하여 모든 디스크에서 모든 데이터를 제거합니다. 이 작업을 완료하는 데 몇 시간이 걸릴 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
메타데이터 를 정리하려면 다음을 수행합니다.
openstack baremetal node clean _UUID_ \
--clean-steps '[{"interface": "deploy", "step": "erase_devices_metadata"}]'
$ openstack baremetal node clean _UUID_ \
--clean-steps '[{"interface": "deploy", "step": "erase_devices_metadata"}]'
전체 정리를 시작하려면 다음을 수행합니다.
openstack baremetal node clean _UUID_ \
--clean-steps '[{"interface": "deploy", "step": "erase_devices"}]'
$ openstack baremetal node clean _UUID_ \
--clean-steps '[{"interface": "deploy", "step": "erase_devices"}]'
UUID 를 정리할 노드의 UUID로 바꿉니다.
성공적으로 정리하면 노드 상태가 manageable 로 돌아갑니다. 상태가 clean인 경우 .
last_error 필드에서 실패 원인을 검사합니다
4.3. 베어 메탈 플레이버 및 리소스 클래스 생성 링크 복사링크가 클립보드에 복사되었습니다!
특정 워크로드에 대한 베어 메탈 노드를 태그하는 데 사용할 플레이버 및 리소스 클래스를 생성해야 합니다.
절차
오버클라우드 인증 정보 파일을 소싱합니다.
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 수로 바꿉니다.참고이러한 속성은 인스턴스 예약에 사용되지 않습니다. 그러나 계산 스케줄러는 디스크 크기를 사용하여 루트 파티션 크기를 결정합니다.
-
&
노드 목록을 검색하여 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. 베어 메탈 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스(ironic)를 포함하는 오버클라우드에는 두 개의 이미지 세트가 필요합니다. 배포하는 동안 베어 메탈 프로비저닝 서비스는 배포 이미지에서 베어 메탈 노드를 부팅하고 사용자 이미지를 노드에 복사합니다.
- 배포 이미지
-
베어 메탈 프로비저닝 서비스는 배포 이미지를 사용하여 베어 메탈 노드를 부팅하고 사용자 이미지를 베어 메탈 노드에 복사합니다. 배포 이미지는
커널이미지와ramdisk이미지로 구성됩니다. - 사용자 이미지
사용자 이미지는 베어 메탈 노드에 배포하는 이미지입니다. 사용자 이미지에는
커널이미지와ramdisk이미지도 있지만, 추가적으로 사용자 이미지에 기본 이미지가 포함되어 있습니다.기본 이미지는 루트 파티션 또는 전체 디스크 이미지입니다.- 전체 디스크 이미지는 파티션 테이블과 부트 로더가 포함된 이미지입니다. 노드가 localboot를 지원하므로 전체 디스크 이미지와 함께 배포된 노드의 후속 재부팅을 제어하지 않습니다.
- 루트 파티션 이미지 에는 운영 체제의 루트 파티션만 포함되어 있습니다. 루트 파티션을 사용하는 경우 배포 이미지가 이미지 서비스에 로드된 후 노드 속성에서 배포 이미지를 노드 부팅 이미지로 설정할 수 있습니다. 이후 노드를 재부팅하면 netboot를 사용하여 사용자 이미지를 제거합니다.
이 섹션의 예제에서는 루트 파티션 이미지를 사용하여 베어 메탈 노드를 프로비저닝합니다.
4.4.1. 배포 이미지 준비 링크 복사링크가 클립보드에 복사되었습니다!
Undercloud에서 Overcloud를 배포할 때 이미 생성되었기 때문에 배포 이미지를 생성할 필요는 없습니다. 배포 이미지는 커널 이미지와 ramdisk 이미지라는 두 개의 이미지로 구성됩니다.
/tftpboot/agent.kernel /tftpboot/agent.ramdisk
/tftpboot/agent.kernel
/tftpboot/agent.ramdisk
이러한 이미지는 홈 디렉토리에 있거나 다른 위치에서 압축을 푼 경우가 많습니다. 홈 디렉토리에 있지 않고 rhosp-director-images-ipa 패키지가 설치되어 있는 경우 해당 이미지는 /usr/share/rhosp-director-images/ironic-python-agent*.tar 파일에 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
이미지를 추출하여 이미지 서비스에 업로드합니다.
4.4.2. 사용자 이미지 준비 링크 복사링크가 클립보드에 복사되었습니다!
필요한 최종 이미지는 베어 메탈 노드에 배포하는 사용자 이미지입니다. 사용자 이미지에는 기본 이미지와 함께 커널 및 ramdisk도 있습니다. 이러한 패키지를 다운로드하고 설치하려면 먼저 전체 디스크 이미지 환경 변수를 요구 사항에 맞게 구성해야 합니다.
4.4.2.1. 디스크 이미지 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
디스크 이미지 빌드 프로세스의 일환으로 director는 새 오버클라우드 이미지 패키지를 가져오기 위해 기본 이미지와 등록 세부 정보가 필요합니다. 다음 Linux 환경 변수를 사용하여 이러한 속성을 정의합니다.
이미지 빌드 프로세스는 Red Hat 서브스크립션에서 이미지를 임시로 등록하고, 이미지 빌드 프로세스가 완료되면 시스템을 등록 취소합니다.
디스크 이미지를 빌드하려면 사용자의 환경과 요건에 맞는 Linux 환경 변수를 설정합니다.
- DIB_LOCAL_IMAGE
- 전체 디스크 이미지의 기반으로 사용할 로컬 이미지를 설정합니다.
- REG_ACTIVATION_KEY
- 로그인 정보 대신 활성화 키를 등록 프로세스의 일부로 사용합니다.
- REG_AUTO_ATTACH
- 가장 호환되는 서브스크립션을 자동으로 연결할지 여부를 정의합니다.
- REG_BASE_URL
-
이미지용 패키지가 포함된 콘텐츠 전달 서버의 기본 URL입니다. 기본 Customer Portal 서브스크립션 관리 프로세스는
https://cdn.redhat.com을 사용합니다. Red Hat Satellite 6 서버를 사용하는 경우 이 매개변수를 Satellite 서버의 기본 URL로 설정합니다. - REG_ENVIRONMENT
- 조직 내의 환경에 등록합니다.
- REG_METHOD
-
등록 방법을 설정합니다. Red Hat 고객 포털에 시스템을 등록하려면
portal을 사용합니다. Red Hat Satellite 6에 시스템을 등록하려면satellite를 사용합니다. - REG_ORG
- 이미지를 등록할 조직입니다.
- REG_POOL_ID
- 제품 서브스크립션 정보의 풀 ID입니다.
- REG_PASSWORD
- 이미지를 등록하는 사용자 계정의 암호를 설정합니다.
- REG_RELEASE
-
Red Hat Enterprise Linux 마이너 릴리스 버전을 설정합니다.
REG_AUTO_ATTACH또는POOL_ID환경 변수와 함께 사용해야 합니다. - REG_REPOS
-
리포지토리 이름의 쉼표로 구분된 문자열입니다. 이 문자열의 각 리포지토리는
subscription-manager를 통해 활성화됩니다. - REG_SAT_URL
- 오버클라우드 노드를 등록할 Satellite 서버의 기본 URL입니다. Satellite HTTPS URL 대신 HTTP URL을 이 매개변수에 사용합니다. 예를 들어 https://satellite.example.com 대신 http://satellite.example.com을 사용합니다.
- REG_SERVER_URL
-
사용할 서브스크립션 서비스의 호스트 이름을 설정합니다. Red Hat Customer Portal의 기본 호스트 이름은
subscription.rhn.redhat.com에 있습니다. Red Hat Satellite 6 서버를 사용하는 경우 이 매개변수를 Satellite 서버의 호스트 이름으로 설정하십시오. - REG_USER
- 이미지를 등록할 계정의 사용자 이름을 설정합니다.
4.4.3. 사용자 이미지 설치 링크 복사링크가 클립보드에 복사되었습니다!
사용자 이미지를 구성한 다음 이미지를 이미지 서비스(glance)에 업로드합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
- 고객 포털에서 Red Hat Enterprise Linux KVM 게스트 이미지를 다운로드합니다.
다운로드한 이미지로
DIB_LOCAL_IMAGE를 정의합니다.export DIB_LOCAL_IMAGE=rhel-8.0-x86_64-kvm.qcow2
$ export DIB_LOCAL_IMAGE=rhel-8.0-x86_64-kvm.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 등록 정보를 설정합니다. Red Hat 고객 포털을 사용하는 경우 다음 정보를 구성해야 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Satellite를 사용하는 경우 다음 정보를 구성해야 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오프라인 리포지토리가 있는 경우 DIB_YUM_REPO_CONF를 로컬 리포지토리 구성으로 정의할 수 있습니다.
export DIB_YUM_REPO_CONF=<path-to-local-repository-config-file>
$ export DIB_YUM_REPO_CONF=<path-to-local-repository-config-file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow diskimage-builder도구를 사용하여 사용자 이미지를 생성합니다.export DIB_RELEASE=8 disk-image-create rhel baremetal -o rhel-image
$ export DIB_RELEASE=8 $ disk-image-create rhel baremetal -o rhel-imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 커널을
rhel-image.vmlinuz로 추출하고 초기 램디스크를rhel-image.initrd로 추출합니다.이미지를 이미지 서비스에 업로드합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5. 배포 인터페이스 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 노드를 프로비저닝하면 오버클라우드의 Bare Metal Provisioning 서비스(ironic)가 베어 메탈 노드의 디스크에 기본 운영 체제 이미지를 씁니다. 기본적으로 배포 인터페이스는 iSCSI 마운트에 이미지를 마운트한 다음 각 노드의 디스크에 이미지를 복사합니다. 또는 HTTP 위치의 디스크 이미지를 베어 메탈 노드의 디스크에 직접 쓰는 직접 배포를 사용할 수 있습니다.
iSCSI 배포 인터페이스에 대한 지원은 RHOSP(Red Hat OpenStack Platform) 버전 17.0에서 더 이상 사용되지 않으며 RHOSP 18.0에서 제거됩니다. RHOSP 17.0의 기본 배포 인터페이스가 직접 배포됩니다.
배포에는 프로비저닝 프로세스에서 중요한 역할이 있습니다. 인터페이스를 배포하면 배포를 오케스트레이션하고 이미지를 대상 디스크로 전송하는 메커니즘을 정의합니다.
사전 요구 사항
-
ironic-conductor를 실행하는 베어 메탈 서비스 노드에 구성된 종속 패키지입니다. - 베어 메탈 서비스 엔드포인트를 사용하도록 OpenStack Compute(nova)를 구성합니다.
- 사용 가능한 하드웨어에 대한 플레이버를 만들고 nova가 올바른 플레이버에서 새 노드를 부팅해야 합니다.
이미지 서비스(glance)에서 이미지를 사용할 수 있어야 합니다.
- bm-deploy-kernel
- bm-deploy-ramdisk
- user-image
- user-image-vmlinuz
- user-image-initrd
- Ironic API 서비스에 등록할 하드웨어입니다.
워크플로
다음 예제 워크플로를 사용하여 표준 배포 프로세스를 이해합니다. 사용하는 ironic 드라이버 인터페이스에 따라 일부 단계는 다를 수 있습니다.
- Nova 스케줄러는 Nova API에서 부팅 인스턴스 요청을 수신합니다.
- Nova 스케줄러는 관련 하이퍼바이저를 식별하고 대상 물리 노드를 식별합니다.
- Nova 계산 관리자는 선택한 하이퍼바이저의 리소스를 클레임합니다.
- Nova 계산 관리자는 nova 부팅 요청이 지정하는 네트워크 인터페이스에 따라 네트워킹 서비스에 바인딩되지 않은 테넌트 가상 인터페이스(VIF)를 만듭니다.
Nova compute는 Nova 컴퓨팅 virt 계층에서
driver.spawn을 호출하여 필요한 모든 정보가 포함된 generate 작업을 생성합니다. 생성 프로세스 중에 virt 드라이버는 다음 단계를 완료합니다.- 배포 이미지, 인스턴스 UUID, 요청된 기능 및 플레이버 속성에 대한 정보를 사용하여 대상 ironic 노드를 업데이트합니다.
- ironic API를 호출하여 대상 노드의 전원 및 인터페이스를 검증합니다.
- 노드에 VIF를 연결합니다. 각 neutron 포트를 ironic 포트 또는 그룹에 연결할 수 있습니다. 포트 그룹은 포트보다 우선 순위가 높습니다.
- 구성 드라이브를 생성합니다.
- Nova ironic virt 드라이버는 베어 메탈 노드를 서비스하는 Ironic 컨덕터에 배포 요청을 발행합니다.
- 가상 인터페이스는 에 연결되고 Neutron API는 DHCP를 업데이트하여 PXE/TFTP 옵션을 구성합니다.
- Ironic 노드 부팅 인터페이스는 (i)PXE 구성을 준비하고 배포 커널 및 ramdisk를 캐시합니다.
- Ironic 노드 관리 인터페이스는 노드의 네트워크 부팅을 활성화하는 명령을 실행합니다.
- ironic 노드는 필요한 경우 인스턴스 이미지, 커널 및 ramdisk를 캐시합니다.
- ironic 노드 전원 인터페이스는 노드의 전원을 켜도록 지시합니다.
- 노드는 배포 램디스크를 부팅합니다.
- iSCSI 배포를 사용하면 컨덕터(conductor)가 iSCSI를 통해 실제 노드에 이미지를 복사합니다. 배포 램디스크는 직접 배포를 통해 임시 URL에서 이미지를 다운로드합니다. 이 URL은 Swift API 호환 오브젝트 저장소 또는 HTTP URL이어야 합니다.
- 노드 부팅 인터페이스는 PXE 구성을 전환하여 인스턴스 이미지를 참조하고 ramdisk 에이전트에 노드의 전원을 소프트 끕니다. 소프트 전원 끄기에 실패하면 베어 메탈 노드의 전원이 IPMI/BMC로 꺼집니다.
- deploy 인터페이스는 네트워크 인터페이스에 프로비저닝 포트를 제거하고 테넌트 포트를 노드에 바인딩하며 노드의 전원을 켭니다.
새 베어 메탈 노드의 프로비저닝 상태가 이제 활성 상태입니다.
4.5.1. 오버클라우드에 직접 배포 인터페이스 구성 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 배포 인터페이스가 기본 배포 인터페이스입니다. 그러나 직접 배포 인터페이스를 사용하여 HTTP 위치에서 대상 디스크로 이미지를 다운로드할 수 있습니다.
iSCSI 배포 인터페이스에 대한 지원은 RHOSP(Red Hat OpenStack Platform) 버전 17.0에서 더 이상 사용되지 않으며 RHOSP 18.0에서 제거됩니다. RHOSP 17.0의 기본 배포 인터페이스가 직접 배포됩니다.
사전 요구 사항
-
오버클라우드 노드 메모리
tmpfs에는 8GB 이상의 RAM이 있어야 합니다.
절차
사용자 지정 환경 파일
/home/stack/templates/direct_deploy.yaml을 생성하거나 수정하고IronicEnabledDeployInterfaces및IronicDefaultDeployInterface매개변수를 지정합니다.parameter_defaults: IronicEnabledDeployInterfaces: direct IronicDefaultDeployInterface: direct
parameter_defaults: IronicEnabledDeployInterfaces: direct IronicDefaultDeployInterface: directCopy to Clipboard Copied! Toggle word wrap Toggle overflow iSCSI에 노드를 등록하는 경우
IronicEnabledDeployInterfaces매개변수에iscsi값을 유지합니다.parameter_defaults: IronicEnabledDeployInterfaces: direct,iscsi IronicDefaultDeployInterface: direct
parameter_defaults: IronicEnabledDeployInterfaces: direct,iscsi IronicDefaultDeployInterface: directCopy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 각 노드의 Bare Metal Provisioning 서비스(ironic) 에이전트는 HTTP 링크를 통해 Object Storage Service(swift)에 저장된 이미지를 가져옵니다. 또는 ironic은
ironic-conductorHTTP 서버를 통해 이 이미지를 노드로 직접 스트리밍할 수 있습니다. 이미지를 제공하는 서비스를 변경하려면/home/stack/templates/direct_deploy.yaml 파일에서IronicImageDownloadSource를http로 설정합니다.parameter_defaults: IronicEnabledDeployInterfaces: direct IronicDefaultDeployInterface: direct IronicImageDownloadSource: http
parameter_defaults: IronicEnabledDeployInterfaces: direct IronicDefaultDeployInterface: direct IronicImageDownloadSource: httpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드 배포를 사용하여 사용자 지정 환경을 포함합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배포가 완료될 때까지 기다립니다.
IronicDefaultDeployInterface 를 지정하지 않았거나 다른 배포 인터페이스를 사용하려면 노드를 생성하거나 업데이트할 때 배포 인터페이스를 지정합니다.
openstack baremetal node create --driver ipmi --deploy-interface direct openstack baremetal node set <NODE> --deploy-interface direct
$ openstack baremetal node create --driver ipmi --deploy-interface direct
$ openstack baremetal node set <NODE> --deploy-interface direct
4.6. 물리적 머신을 베어 메탈 노드로 추가 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 노드를 등록하는 방법은 두 가지가 있습니다.
- 노드 세부 정보를 사용하여 인벤토리 파일을 준비하고 파일을 베어 메탈 프로비저닝 서비스로 가져오고 노드를 사용할 수 있도록 합니다.
-
물리적 시스템을 베어 메탈 노드로 등록한 다음 수동으로 하드웨어 세부 정보를 추가하고 각 이더넷 MAC 주소에 대한 포트를 만듭니다.
overcloudrc파일이 있는 모든 노드에서 다음 단계를 수행할 수 있습니다.
물리적 시스템을 등록한 후에는 Compute 리소스 추적기가 주기적으로 동기화되므로 계산에서 새 리소스에 즉시 알리지 않습니다. 다음 주기적 작업 실행 후 변경 사항을 볼 수 있습니다. /etc/nova/nova.conf 파일에서 scheduler_driver_task_period 를 사용하여 주기 작업 빈도를 업데이트할 수 있습니다. 기본 기간은 60초입니다.
4.6.1. 인벤토리 파일을 사용하여 베어 메탈 노드 등록 링크 복사링크가 클립보드에 복사되었습니다!
노드 세부 정보를 사용하여 인벤토리 파일을 준비하고, 파일을 Bare Metal Provisioning 서비스(ironic)로 가져오고 노드를 사용할 수 있도록 합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스를 포함하는 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
노드 세부 정보가 포함된 인벤토리 파일
overcloud-nodes.yaml을 생성합니다. 하나의 파일로 여러 노드를 등록할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;ipmi_ip>를 베어 메탈 컨트롤러 주소로 교체합니다. -
<
;user>를 사용자 이름으로 바꿉니다. -
<
;password>를 암호로 바꿉니다. -
&
lt;cpu_count>를 CPU 수로 바꿉니다. -
&
lt;cpu_arch>를 CPU의 아키텍처 유형으로 바꿉니다. -
&
lt;memory>를 MiB의 메모리 양으로 바꿉니다. -
&
lt;root_disk>를 GiB의 루트 디스크 크기로 교체합니다. 시스템에 디스크가 여러 개인 경우에만 필요합니다. -
&
lt;serial>을 배포에 사용할 디스크의 일련 번호로 바꿉니다. -
&
lt;mac_address>를 PXE 부팅에 사용되는 NIC의 MAC 주소로 바꿉니다.
-
&
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 노드가 이제
등록상태에 있습니다.deploy kernel을 지정하고 각 노드에 ramdisk를 배포합니다.
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.6.2. 수동으로 베어 메탈 노드 등록 링크 복사링크가 클립보드에 복사되었습니다!
물리적 시스템을 베어 메탈 노드로 등록한 다음 수동으로 하드웨어 세부 정보를 추가하고 각 이더넷 MAC 주소에 대한 포트를 만듭니다. overcloudrc 파일이 있는 모든 노드에서 다음 단계를 수행할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스를 포함하는 오버클라우드 배포입니다. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
-
IronicEnabledDrivers매개 변수를 사용하여 새 노드의 드라이버를 활성화해야 합니다. 지원되는 드라이버에 대한 자세한 내용은 베어 메탈 드라이버를 참조하십시오.
절차
-
언더클라우드 호스트에
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로 바꿉니다. -
&
lt;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을 사용합니다.
-
-
&
선택 사항: 여러 디스크가 있는 경우 루트 장치 힌트를 설정하여 배포에 사용할 디스크의 배포 램디스크를 알립니다.
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에서는 다음 속성을 지원합니다.
-
모델(문자열): 장치 식별자. -
vendor(문자열): 장치 벤더. -
serial(문자열): 디스크 일련 번호입니다. -
hctl(문자열): host:Channel:Target:Lun( SCSI용) -
크기(정수): 장치 크기(GB)입니다. -
wwn(문자열): 고유한 스토리지 식별자입니다. -
wwn_with_extension(문자열): 공급업체 확장이 추가된 고유한 스토리지 식별자입니다. -
wwn_vendor_extension(문자열): 고유한 벤더 스토리지 식별자입니다. -
rotational(Boolean): 회전 장치(HDD)의 경우 true이고, 그렇지 않으면 false(SSD)입니다. 이름(문자열): 장치 이름(예: /dev/sdb1)은 이 속성을 영구 이름이 있는 장치에만 사용합니다.참고둘 이상의 속성을 지정하는 경우 장치는 해당 속성과 모두 일치해야 합니다.
-
-
&
provisioning 네트워크에서 NIC의 MAC 주소를 사용하여 포트를 생성하여 Bare Metal Provisioning 서비스에 노드 네트워크 카드를 알립니다.
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 검증 출력
결과는다음과 같습니다.-
false: 인터페이스가 검증에 실패했습니다. 제공된 이유로instance_info매개 변수[\'ramdisk', \'kernel' 및 \'image_source']가 누락된 경우 Compute 서비스가 배포 프로세스 시작 부분에 누락된 매개변수를 채우므로 이 시점에서 설정되지 않았을 수 있습니다. 전체 디스크 이미지를 사용하는 경우 검증을 전달하도록image_source만 설정해야 할 수 있습니다. -
true: 인터페이스가 검증을 통과했습니다. -
없음: 드라이버에서 인터페이스가 지원되지 않습니다.
-
4.7. Redfish 가상 미디어 부팅 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
BMC(Baseboard Management Controller)에서 가상 드라이브 중 하나에 부팅 이미지를 삽입할 수 있도록 Redfish 가상 미디어 부팅을 사용하여 노드의 BMC에 부팅 이미지를 공급할 수 있습니다. 그 후 노드는 가상 드라이브에서 해당 이미지에 있는 운영 체제로 부팅할 수 있습니다.
Redfish 하드웨어 유형은 가상 미디어를 통한 배포, 복구 및 사용자 이미지 부팅을 지원합니다. Bare Metal Provisioning 서비스(ironic)는 노드와 연결된 커널 및 램디스크 이미지를 사용하여 노드 배포 시 UEFI 또는 BIOS 부팅 모드의 부팅 가능한 ISO 이미지를 빌드합니다. 가상 미디어 부팅의 주요 장점은 PXE의 TFTP 이미지 전송 단계를 제거하고 대신 HTTP GET 또는 기타 방법을 사용할 수 있다는 것입니다.
4.7.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.8. 호스트 집계를 사용하여 물리적 및 가상 시스템 프로비저닝 분리 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack Compute에서는 호스트 집계를 사용하여 가용 영역을 분할하고 특정 공유 속성이 있는 노드를 그룹화합니다. 인스턴스가 배포되면 계산 스케줄러는 플레이버의 속성을 호스트 집계에 할당된 속성과 비교하고, 실제 시스템 또는 가상 시스템에 인스턴스를 올바른 집계 및 올바른 호스트에 프로비저닝합니다.
다음 작업을 수행하려면 이 섹션의 단계를 완료합니다.
-
baremetal속성을 플레이버에 추가하고true또는false로 설정합니다. -
일치하는 베어 메탈
속성을사용하여 베어 메탈 호스트 및 계산 노드에 대해 별도의 호스트 집계를 생성합니다. 집계로 그룹화된 노드는 이 속성을 상속받습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
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 각 컴퓨팅 노드를
virtual-hosts집계에 추가합니다.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장. 베어 메탈 노드 관리 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스(ironic)가 포함된 오버클라우드를 배포한 후 등록된 베어 메탈 노드에서 실제 시스템을 프로비저닝하고 오버클라우드에서 베어 메탈 인스턴스를 시작할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
5.1. 베어 메탈 인스턴스 시작 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 또는 OpenStack 대시보드에서 인스턴스를 시작할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
5.1.1. 명령줄 인터페이스를 사용하여 인스턴스 시작 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack Client CLI를 사용하여 베어 메탈 인스턴스를 생성할 수 있습니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
ID 서비스(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 에서 대시보드에 로그인합니다.
- Project > Compute > Instances를 클릭합니다.
Launch Instance(인스턴스 시작)를 클릭합니다.
-
Details(세부 정보 ) 탭에서 Instance Name(인스턴스 이름) 을 지정하고 Count (카운트)로
1을 선택합니다. -
Source(소스 ) 탭에서 Select Boot Source (부팅 소스 선택)에서
Image(이미지)를 선택한 다음+(더하기) 기호를 클릭하여 운영 체제 디스크 이미지를 선택합니다. 선택한 이미지는 Allocated 로 이동합니다. -
Flavor(플레이버 ) 탭에서
baremetal을 선택합니다. -
Networks(네트워크 ) 탭에서
+(더하기) 및-(minus) 버튼을 사용하여 필수 네트워크를 Available (사용 가능)에서 Allocated( 할당됨)로 이동합니다. 여기에서 베어 메탈 프로비저닝 서비스에 대해 만든 공유 네트워크가 선택되었는지 확인합니다. - 인스턴스를 보안 그룹에 할당하려면 Security Groups(보안 그룹 ) 탭에서 화살표를 사용하여 그룹을 Allocated 로 이동합니다.
-
Details(세부 정보 ) 탭에서 Instance Name(인스턴스 이름) 을 지정하고 Count (카운트)로
- Launch Instance(인스턴스 시작)를 클릭합니다.
5.2. 베어 메탈 프로비저닝 서비스에서 포트 그룹 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 노드의 포트 그룹 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원하지 않습니다. 테스트에만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
포트 그룹(bonds)은 여러 네트워크 인터페이스를 하나의 '결합' 인터페이스로 집계하는 방법을 제공합니다. 포트 그룹 구성은 항상 개별 포트 구성보다 우선합니다.
포트 그룹에 물리적 네트워크가 있는 경우 해당 포트 그룹의 모든 포트에는 물리적 네트워크가 동일해야 합니다. 베어 메탈 프로비저닝 서비스는 configdrive 를 사용하여 인스턴스에서 포트 그룹 구성을 지원합니다.
베어 메탈 프로비저닝 서비스 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버전 0.2.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는 구성된 각 포트 그룹에 대해cloud-init가 자동으로 생성하는 숫자로, 구성된 각 포트 그룹에 대해0으로 시작하고 하나씩 증가시킵니다.
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(물리 인터페이스)의 인터페이스가 있습니다. 각 베어 메탈 프로비저닝 노드에 대해 이러한 인터페이스를 구성하여 VIF(가상 네트워크 인터페이스)를 PF(실제 네트워크 인터페이스) 매핑 논리로 설정할 수 있습니다. 인터페이스를 구성하려면 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. 베어 메탈 프로비저닝 서비스에 대한 알림 구성 링크 복사링크가 클립보드에 복사되었습니다!
서비스 내에서 발생하는 다양한 이벤트에 대한 알림을 표시하도록 베어 메탈 프로비저닝 서비스(ironic)를 구성할 수 있습니다. 외부 서비스는 청구, 데이터 저장소 모니터링 및 기타 목적으로 이러한 알림을 사용할 수 있습니다. 베어 메탈 프로비저닝 서비스에 대한 알림을 활성화하려면 ironic.conf 구성 파일에서 다음 옵션을 설정해야 합니다.
사전 요구 사항
- 베어 메탈 프로비저닝 서비스가 포함된 성공적인 오버클라우드 배포. 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
절차
-
[DEFAULT]섹션의notification_level옵션은 알림을 전송하는 최소 우선 순위 수준을 결정합니다. 이 옵션의 값을debug,info,warning,error또는critical으로 설정할 수 있습니다. 옵션이 warning으로 설정되면 우선 순위 수준warning,error또는critical이 있는 모든 알림이 전송되지만 우선 순위 수준debug또는info는 알림이 전송되지 않습니다. 이 옵션을 설정하지 않으면 알림이 전송되지 않습니다. 사용 가능한 각 알림의 우선 순위 수준은 아래에 설명되어 있습니다. -
[oslo옵션은 알림을 보낼 때 사용되는 메시지 버스를 결정합니다. 설정되지 않은 경우 RPC에 사용되는 기본 전송이 사용됩니다._messaging_notifications] 섹션의 transport_url
모든 알림은 메시지 버스의 ironic_versioned_notifications 주제에서 발송됩니다. 일반적으로 메시지 버스를 트래버스하는 각 메시지 유형은 메시지 내용을 설명하는 주제와 연결됩니다.
5.6. 자동 전원 오류 복구 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스(ironic)에는 노드의 전원, 정리 및 복구 중단 오류를 기록하는 문자열 필드 오류가 있습니다.
| 오류 | 설명 |
|---|---|
| 전원 실패 | 노드는 최대 재시도 횟수를 초과하는 전원 동기화 실패로 인해 유지보수 모드입니다. |
| 오류 정리 | 노드는 정리 작업이 실패하여 유지보수 모드입니다. |
| 복구 중단 실패 | 복구가 중단되는 동안 노드가 정리 작업이 실패하여 노드가 유지보수 모드에 있습니다. |
| none | 결함이 없습니다. |
Conductor는 이 필드의 값을 주기적으로 확인합니다. 컨덕터에서 전원 실패 상태를 감지하고 노드에 대한 전원을 복원할 수 있으면 노드가 유지 관리 모드에서 제거되고 작업으로 복원됩니다.
Operator가 노드를 유지보수 모드로 수동으로 배치하면 컨덕터(conductor)가 유지보수 모드에서 노드를 자동으로 제거하지 않습니다.
기본 간격은 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 인트로스펙션 명령을 실행합니다.
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장. Cinder 볼륨에서 부팅 링크 복사링크가 클립보드에 복사되었습니다!
블록 스토리지 서비스(cinder)에서 볼륨을 생성하고 이러한 볼륨을 베어 메탈 프로비저닝 서비스(ironic)로 생성한 베어 메탈 인스턴스에 연결할 수 있습니다.
6.1. 베어 메탈 노드의 Cinder 볼륨 부팅 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack 블록 스토리지(cinder)에 저장된 블록 스토리지 장치에서 베어 메탈 노드를 부팅할 수 있습니다. OpenStack Bare Metal(ironic)은 iSCSI 인터페이스를 통해 베어 메탈 노드를 볼륨에 연결합니다.
Ironic에서는 Overcloud를 배포하는 동안 이 기능을 활성화합니다. 그러나 오버클라우드를 배포하기 전에 다음 조건을 고려하십시오.
-
오버클라우드를 사용하려면 cinder iSCSI 백엔드를 활성화해야 합니다. Overcloud 배포 중에
CinderEnableIscsiBackendheat 매개변수를true로 설정합니다. - Red Hat Ceph Storage 백엔드에서는 cinder 볼륨 부팅 기능을 사용할 수 없습니다.
-
부팅 디스크에
rd.iscsi.firmware=1커널 매개 변수를 설정해야 합니다.
6.2. cinder 볼륨 부팅을 위한 노드 구성 링크 복사링크가 클립보드에 복사되었습니다!
cinder 볼륨에서 성공적으로 부팅하려면 각 베어 메탈 노드에 특정 옵션을 구성해야 합니다.
절차
-
stack사용자로 언더클라우드에 로그인합니다. 오버클라우드 자격 증명을 가져옵니다.
source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택한 노드의
iscsi_boot기능을true로,storage-interface를cinder로 설정합니다.openstack baremetal node set --property capabilities=iscsi_boot:true --storage-interface cinder <NODEID>
$ openstack baremetal node set --property capabilities=iscsi_boot:true --storage-interface cinder <NODEID>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <NODEID>를 선택한 노드의 ID로 바꿉니다.노드의 iSCSI 커넥터를 생성합니다.
openstack baremetal volume connector create --node <NODEID> --type iqn --connector-id iqn.2010-10.org.openstack.node<NUM>
$ openstack baremetal volume connector create --node <NODEID> --type iqn --connector-id iqn.2010-10.org.openstack.node<NUM>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 노드의 커넥터 ID는 고유해야 합니다. 이 예제에서 커넥터는
iqn.2010-10.org.openstack.node<NUM>입니다. 여기서<NUM>은 각 노드의 증가된 번호입니다.
6.3. 부팅 디스크에서 iSCSI 커널 매개변수 구성 링크 복사링크가 클립보드에 복사되었습니다!
이미지의 커널에서 iSCSI 부팅을 활성화해야 합니다. 이를 수행하려면 QCOW2 이미지를 마운트하고 이미지에서 iSCSI 구성 요소를 활성화합니다.
사전 요구 사항
Red Hat Enterprise Linux QCOW2 이미지를 다운로드하여 언더클라우드의
/home/stack/디렉터리에 복사합니다. 다음 페이지에서 QCOW2 형식으로 Red Hat Enterprise Linux KVM 이미지를 다운로드할 수 있습니다.
절차
-
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 루트 디렉터리를 마운트 지점으로 변경합니다.
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 <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 original
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 이미지에는 하나의 커널 버전만 설치되어 있습니다. 둘 이상의 커널 버전이 설치되어 있으면 최신 버전을 사용합니다.
network및iscsidracut 모듈을 initramfs 이미지에 추가합니다.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 <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 /dev/nbd0/에서 QCOW2 이미지의 연결을 끊습니다.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패키지를 설치하는 경우iscsid.socket을 비활성화하여 언더클라우드의tripleo_iscsid서비스와 포트 충돌을 방지합니다.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 구성을 업데이트합니다.
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
6.4. cinder에서 부팅 볼륨 생성 및 사용 링크 복사링크가 클립보드에 복사되었습니다!
iSCSI 지원 이미지를 OpenStack Image Storage(glance)에 업로드하고 OpenStack 블록 스토리지(cinder)에서 부팅 볼륨을 생성해야 합니다.
절차
-
stack사용자로 언더클라우드에 로그인합니다. iSCSI 사용 이미지를 glance에 업로드합니다.
openstack image create --disk-format qcow2 --container-format bare --file rhel-server-7.7-x86_64-kvm.qcow2 rhel-server-7.7-iscsi
$ openstack image create --disk-format qcow2 --container-format bare --file rhel-server-7.7-x86_64-kvm.qcow2 rhel-server-7.7-iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지에서 볼륨을 생성합니다.
openstack volume create --size 10 --image rhel-server-7.7-iscsi --bootable rhel-test-volume
$ openstack volume create --size 10 --image rhel-server-7.7-iscsi --bootable rhel-test-volumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow cinder에서 부팅 볼륨을 사용하는 베어 메탈 인스턴스를 생성합니다.
openstack server create --flavor baremetal --volume rhel-test-volume --key default rhel-test
$ openstack server create --flavor baremetal --volume rhel-test-volume --key default rhel-testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7장. ML2 networking-ansible 링크 복사링크가 클립보드에 복사되었습니다!
Networking 서비스(neutron)를 사용하여 오버클라우드에서 networking-ansible ML2 드라이버를 활성화 및 구성하고 베어 메탈 프로비저닝 서비스(ironic)와 통합할 수 있습니다.
7.1. ML2(Modular Layer 2) networking-ansible 링크 복사링크가 클립보드에 복사되었습니다!
OpenStack Networking(neutron)에는 networking-ansible 이 포함되어 있으며, 이는 Ansible Engine Networking을 사용하여 네트워크 스위치를 관리하는 ML2 드라이버입니다. 이 드라이버는 OpenStack Bare Metal(ironic)도 통합하여 베어 메탈 게스트의 스위치 포트에서 VLAN을 구성합니다. 즉, VLAN neutron 네트워크를 사용하는 베어 메탈 게스트로 인해 이 드라이버는 Ansible Engine Networking을 사용하여 물리적 스위치를 구성합니다.
현재 networking-ansible 드라이버에는 다음 기능이 포함됩니다.
- RHOSP(Red Hat OpenStack Platform)에서 네트워크를 생성할 때 스위치에 VLAN을 정의합니다.
- RHOSP에서 포트를 생성하거나 업데이트할 때 스위치의 액세스 포트에 VLAN을 할당합니다.
- RHOSP에서 포트를 삭제할 때 스위치의 액세스 포트에서 VLAN 제거
7.2. networking-ansible 네트워킹 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
networking-ansible 기능을 활성화하려면 환경에 다음 네트워킹 구성이 포함되어야 합니다.
Ansible 네트워크 자동화 지원을 통한 네트워크 스위치:
-
Juniper Networks(
junos) -
pvc Extensible Operating System (
eos)
-
Juniper Networks(
EUS (Extensible Operating System)지원은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원하지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
Ansible 네트워크 자동화가 장치와 상호 작용할 수 있도록 네트워크 스위치에는 SSH 사용자가 필요합니다. 이 사용자는 스위치에 대해 다음과 같은 권한이 필요합니다.
- 액세스 모드
- 포트에 VLAN 할당
- VLAN 만들기
보안을 위해 SSH 사용자에게 스위치에 대한 관리자 액세스 권한을 제공하지 마십시오.
- 스위치를 사용할 VLAN을 준비합니다. VLAN을 준비하려면 스위치에서 각 VLAN을 만든 다음 각 VLAN을 삭제합니다.
- 베어 메탈 게스트용으로 예약된 네트워크 스위치 포트는 처음에는 인트로스펙션을 위해 전용 네트워크에 연결하기 위한 구성이 필요합니다. 이 포트 외에도 이러한 포트에는 추가 구성이 필요하지 않습니다.
7.3. networking-anible에 대한 OpenStack Bare Metal(ironic) 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
networking-ansible 드라이버는 Openstack Bare Metal(ironic) 서비스와 통합됩니다. 성공적으로 통합을 수행하려면 다음 권장 사항에 따라 베어 메탈 프로비저닝 서비스(ironic)를 오버클라우드에 배포합니다.
오버클라우드에는 프로비저닝 네트워크가 필요합니다. 다음 옵션 중 하나를 사용합니다.
- ironic 서비스를 위한 브리지된 네트워크입니다.
- ironic 서비스에 대한 사용자 지정 구성 가능 네트워크입니다.
프로비저닝 네트워크 구성에 대한 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
오버클라우드에는 프로비저닝 프로세스 후에 베어 메탈 시스템이 사용할 테넌트 네트워크가 필요합니다. 이 가이드의 예제에서는
br-baremetal브리지에 매핑된 기본baremetal네트워크를 사용합니다. 또한 이 네트워크에는 VLAN ID 범위가 필요합니다. 다음 heat 매개변수는 이 가이드의 예제에 맞게 이러한 값을 설정합니다.parameter_defaults: NeutronNetworkVLANRanges: baremetal:1200:1299 NeutronFlatNetworks: datacentre,baremetal NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetal
parameter_defaults: NeutronNetworkVLANRanges: baremetal:1200:1299 NeutronFlatNetworks: datacentre,baremetal NeutronBridgeMappings: datacentre:br-ex,baremetal:br-baremetalCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
오버클라우드는 인트로스펙션 서비스를 사용하여 특정 하드웨어 세부 정보를 자동으로 식별하고 사용할 다른 서비스에 매핑합니다. ironic 인트로스펙션 서비스를 활성화하여
networking-ansible에서 사용할 인터페이스 간 세부 정보를 매핑하는 것이 좋습니다. 이 작업을 수동으로 수행할 수도 있습니다.
Bare Metal Provisioning 서비스(ironic) 배포에 대한 자세한 내용은 베어 메탈 프로비저닝 서비스를 사용하여 오버클라우드 배포를 참조하십시오.
7.4. networking-ansible ML2 기능 활성화 링크 복사링크가 클립보드에 복사되었습니다!
오버클라우드에서 networking-ansible ML2 드라이버를 활성화하려면 배포에 두 개의 환경 파일을 추가해야 합니다.
/usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml-
이 파일은
networking-ansible드라이버를 활성화하고 네트워크 유형을vlan으로 설정합니다. 이 파일은 코어 heat 템플릿 컬렉션에 이미 존재합니다. /home/stack/templates/ml2-ansible-hosts.yaml- 스위치에 대한 세부 정보가 포함된 파일. 이 파일을 수동으로 생성합니다.
절차
/home/stack/templates/ml2-ansible-hosts.yaml을 생성하고 다음 초기 콘텐츠를 추가합니다.parameter_defaults: ML2HostConfigs:
parameter_defaults: ML2HostConfigs:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ML2HostConfigs매개 변수에는 스위치에 대한 세부 정보가 있는dict값이 필요합니다.dict의 각 초기 키는 스위치의 이름입니다. 이 값은 OpenStack Networking(neutron) ML2 구성의 특정ansible:[switchname]섹션을 정의합니다. 각 스위치 이름 키에는 실제 스위치 세부 정보가 포함된 자체dict가 필요합니다. 예를 들어 세 개의 스위치를 구성하려면 세 개의 스위치 키를 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 스위치에는
dict에 특정 키 값 쌍이 필요합니다.ansible_network_os(필수) 스위치의 운영 체제입니다. 옵션에는
junos및eos가 포함됩니다.중요EUS (Extensible Operating System
)지원은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원하지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.ansible_host- (필수) 스위치의 IP 또는 호스트 이름입니다.
ansible_user- (필수) Ansible이 스위치에 액세스하는 데 사용하는 사용자입니다.
ansible_ssh_pass- (필수) Ansible이 스위치에 액세스하는 데 사용하는 SSH 암호입니다.
mac-
네트워크 장치의 MAC ID 섀시입니다. LLDP(링크 계층 검색 프로토콜) MAC 주소 값을
ML2HostConfigs구성에 정의된 스위치 이름에 매핑하는 데 사용됩니다. 이 값은 인트로스펙션을 사용하여 자동 포트 구성을 수행할 때 필수 값입니다. manage_vlans-
OpenStack Networking(neutron)이 실제 장치에서 VLAN의 생성 및 삭제를 제어하는지 여부를 정의하는 부울 변수입니다. 이 기능을 사용하면 스위치에서 Neutron 네트워크에 각각 ID가 있는 VLAN을 만들고 삭제합니다. 스위치에 이러한 VLAN을 사전 정의되어 있고, 스위치에서 VLAN을 생성하거나 삭제하는 데 Neutron이 필요하지 않은 경우 이 매개변수를
false로 설정합니다. 기본값은true입니다.
다음 예제에서는 전체
ML2HostConfigs매개변수에서 이러한 값을 해당 키에 매핑하는 방법을 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/home/stack/templates/ml2-ansible-hosts.yaml파일을 저장합니다. 오버클라우드 배포 명령을 실행하는 경우
-e옵션을 사용하여/usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml및/home/stack/templates/ml2-ansible-hosts.yaml파일을 포함합니다. 다음 예제에서는 이러한 파일을 포함하는 방법을 보여줍니다.openstack overcloud deploy --templates \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml \ -e /home/stack/templates/ml2-ansible-hosts.yaml \ ...
$ openstack overcloud deploy --templates \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ansible.yaml \ -e /home/stack/templates/ml2-ansible-hosts.yaml \ ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
director는 neutron_api 컨테이너에서 OpenStack Networking(neutron) API의 일부로 드라이버를 활성화합니다.
7.5. networking-ansible 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 및 networking-ansible 드라이버를 활성화하여 오버클라우드를 배포한 후 베어 메탈 노드에 대한 프로비저닝 및 테넌트 네트워크를 생성해야 합니다. 또한 요구 사항에 따라 액세스 모드 또는 트렁크 모드에서 베어 메탈 노드의 포트를 구성해야 합니다.
- 액세스 모드
- 액세스 모드에서 스위치 포트는 하나의 VLAN만 트래픽을 전송하고 단일 브로드캐스트 도메인에서 작동합니다. 액세스 포트에 도착하는 모든 트래픽은 포트에 할당된 VLAN에 속합니다.
- 트렁크 모드
트렁크 모드에서 스위치 포트는 둘 이상의 VLAN에 속할 수 있습니다. 트렁크 모드에서 스위치 포트를 사용하여 VLAN 그룹의 트래픽을 전송하거나 여러 스위치 간에 트래픽을 VLAN으로 교환하려는 경우 가능합니다.
중요이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
베어 메탈 서비스(ironic)는 networking-ansible 을 사용하여 프로비저닝 프로세스가 성공적으로 완료될 수 있도록 베어 메탈 게스트의 스위치 포트를 ironic 프로비저닝 네트워크에 할당합니다. 프로비저닝이 완료되면 ironic은 베어 메탈 게스트의 스위치 포트를 네트워킹 서비스(neutron)가 베어 메탈 게스트의 테넌트 네트워크에 할당하는 VLAN에 할당합니다.
7.5.1. networking-ansible 액세스 모드에서 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 및 networking-ansible 드라이버가 활성화된 오버클라우드를 배포한 후 베어 메탈 노드에 대해 다음 네트워크를 생성합니다.
- 프로비저닝 네트워크
- 베어 메탈 시스템은 이 네트워크를 사용하여 초기 생성을 수행합니다.
- 테넌트 네트워크
- 베어 메탈 시스템은 프로비저닝 후 이 네트워크로 전환하고 내부 통신에 이 네트워크를 사용합니다.
절차
- 프로비저닝 네트워크 및 서브넷을 만듭니다. 이는 사용 중인 프로비저닝 네트워크의 유형에 따라 다릅니다. 프로비저닝 네트워크 구성에 대한 자세한 내용은 4장. 배포 후 베어 메탈 프로비저닝 서비스 구성 을 참조하십시오.
테넌트 네트워크 및 서브넷을 만듭니다.
openstack network create --provider-network-type vlan --provider-physical-network baremetal tenant-net openstack subnet create --network tenant-net --subnet-range 192.168.3.0/24 --allocation-pool start=192.168.3.10,end=192.168.3.20 tenant-subnet
$ openstack network create --provider-network-type vlan --provider-physical-network baremetal tenant-net $ openstack subnet create --network tenant-net --subnet-range 192.168.3.0/24 --allocation-pool start=192.168.3.10,end=192.168.3.20 tenant-subnetCopy to Clipboard Copied! Toggle word wrap Toggle overflow networking-
ansible기능을 위해--provider-network-type옵션을vlan으로 설정해야 합니다.
7.5.2. 액세스 모드에서 베어 메탈 게스트의 포트 구성 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 게스트는 스위치에 연결하기 위해 포트 정보가 필요합니다. 이 작업을 수행하는 방법에는 다음 두 가지가 있습니다.
-
자동: 노드 세부 검사. 자동 메서드를 사용하려면 각
스위치의 mac값을ML2HostConfigs매개변수의 일부로 설정합니다. - 수동: OpenStack Networking(neutron) 포트 구성을 설정합니다. 오버클라우드에 베어 메탈 인트로스펙션 기능이 포함되지 않은 경우 이 방법을 사용합니다.
절차
자동:
인트로스펙션 명령을 실행합니다.
openstack baremetal introspection start [--wait] <NODENAME>
$ openstack baremetal introspection start [--wait] <NODENAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 노드는 인트로스펙션 중에 스위치의 MAC 주소를 가져옵니다.
networking-ansibleML2 드라이버는 이 MAC 주소를 사용하여ML2HostConfigs매개변수의 해당 스위치의mac매개 변수로 정의한 동일한 MAC 주소에 매핑합니다.- 인트로스펙션이 완료될 때까지 기다립니다.
수동:
베어 메탈 노드의 포트를 생성합니다. 다음 예제 명령을 기반으로 포트를 생성합니다.
openstack baremetal port create [NODE NIC MAC] --node [NODE UUID] \ --local-link-connection port_id=[SWITCH PORT ID] \ --local-link-connection switch_info=[SWITCH NAME] \ --local-link-connection switch_id=[SWITCH MAC]$ openstack baremetal port create [NODE NIC MAC] --node [NODE UUID] \ --local-link-connection port_id=[SWITCH PORT ID] \ --local-link-connection switch_info=[SWITCH NAME] \ --local-link-connection switch_id=[SWITCH MAC]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대괄호로 다음 값을 환경 세부 사항으로 바꿉니다.
[노드 NIC MAC]- 스위치에 연결된 NIC의 MAC 주소입니다.
--node [NODE UUID]- 새 포트를 사용하는 노드의 UUID입니다.
--local-link-connection port_id=[SWITCH 포트 ID]- 베어 메탈 노드에 연결하는 스위치의 포트 ID입니다.
--local-link-connection switch_info=[SWITCH NAME]-
베어 메탈 노드에 연결하는 스위치의 이름입니다. 스위치 이름은
ML2HostConfigs매개변수에 정의된 각 스위치 이름과 일치해야 합니다. --local-link-connection switch_id=[SWITCH MAC]-
스위치의 MAC 주소입니다.
ML2HostConfigs매개변수의 스위치 구성의 해당mac값과 일치해야 합니다. 이는switch_info를 사용하는 대체 옵션입니다.
7.5.3. trunk 모드에서 networking-ansible을 위한 네트워크 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
베어 메탈 프로비저닝 및 networking-ansible 드라이버가 활성화된 오버클라우드를 배포한 후 베어 메탈 노드에 대해 다음 네트워크를 생성합니다.
- 프로비저닝 네트워크
- 베어 메탈 시스템은 이 네트워크를 사용하여 초기 생성을 수행합니다.
- 테넌트 네트워크
- 베어 메탈 시스템은 프로비저닝 후 이 네트워크로 전환하고 내부 통신에 이 네트워크를 사용합니다.
절차
- 프로비저닝 네트워크 및 서브넷을 만듭니다. 이는 사용 중인 프로비저닝 네트워크의 유형에 따라 다릅니다. 프로비저닝 네트워크 구성에 대한 자세한 내용은 4장. 배포 후 베어 메탈 프로비저닝 서비스 구성 을 참조하십시오.
게스트가 연결된 물리적 네트워크를 사용하는 각 네트워크에 대한 기본 테넌트 VLAN 네트워크, 보조 테넌트 네트워크 및 서브넷을 생성합니다.
openstack network create --provider-network-type vlan --provider-physical-network baremetal primary-tenant-net openstack network create --provider-network-type vlan --provider-physical-network baremetal secondary-tenant-net openstack subnet create --network primary-tenant-net --subnet-range 192.168.3.0/24 --allocation-pool start=192.168.3.10,end=192.168.3.20 primary-tenant-subnet openstack subnet create --network secondary-tenant-net --subnet-range 192.168.7.0/24 --allocation-pool start=192.168.7.10,end=192.168.7.20 secondary-tenant-subnet
$ openstack network create --provider-network-type vlan --provider-physical-network baremetal primary-tenant-net $ openstack network create --provider-network-type vlan --provider-physical-network baremetal secondary-tenant-net $ openstack subnet create --network primary-tenant-net --subnet-range 192.168.3.0/24 --allocation-pool start=192.168.3.10,end=192.168.3.20 primary-tenant-subnet $ openstack subnet create --network secondary-tenant-net --subnet-range 192.168.7.0/24 --allocation-pool start=192.168.7.10,end=192.168.7.20 secondary-tenant-subnetCopy to Clipboard Copied! Toggle word wrap Toggle overflow networking-
ansible기능을 위해--provider-network-type옵션을vlan으로 설정해야 합니다.
7.5.4. 트렁크 모드에서 베어 메탈 게스트의 포트 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
베어 메탈 게스트에는 단일 스위치 포트가 있는 여러 네트워크에 배포하기 위해 베어 메탈 프로비저닝 서비스(ironic)를 사용할 수 있도록 스위치에 연결하는 포트 정보가 필요합니다. 스위치 포트는 Networking 서비스(neutron)가 제공된 네트워크에서 할당하는 VLAN을 사용하여 트렁크 모드로 구성됩니다.
베어 메탈 게스트에 대한 트렁크 포트를 구성하려면 다음 단계를 완료합니다.
절차
포트와 트렁크를 생성하고 포트를 상위 포트로 트렁크에 할당합니다.
port create --network primary-tenant-net primary-port network trunk create --parent-port primary-port my-trunk
$ port create --network primary-tenant-net primary-port $ network trunk create --parent-port primary-port my-trunkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 네트워크의 포트를 만들고 새 포트를 트렁크에 하위 포트로 추가합니다.
port create --network secondary-tenant-net secondary-port network trunk set --subport port=secondary-port,segmentation-type=vlan,segmentation-id=1234 my-trunk
$ port create --network secondary-tenant-net secondary-port $ network trunk set --subport port=secondary-port,segmentation-type=vlan,segmentation-id=1234 my-trunkCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.6. networking-ansible ML2 함수 테스트 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 노드에 대한 networking-ansible 구성이 완료된 후 베어 메탈 워크로드를 생성하여 구성이 올바른지 확인합니다.
사전 요구 사항
- OpenStack Baremetal(ironic) 서비스가 있는 Overcloud.
-
활성화된
networking-ansibleML2 드라이버. -
ML2HostConfigs매개 변수에는 스위치 액세스 세부 정보가 포함되어 있습니다. - 등록된 베어 메탈 노드.
- 스위치의 노드 연결에 사용되는 각 베어 메탈 포트 구성. 이 포트는 액세스 포트 또는 트렁크 포트일 수 있습니다.
- 초기 프로비저닝을 위해 OpenStack Networking(neutron)에 정의된 VLAN 기반 프로비저닝 네트워크입니다.
- 내부 통신을 위해 OpenStack Networking(neutron)에 정의된 VLAN 기반 테넌트 네트워크입니다.
- Overcloud에서 사용 가능한 디스크 이미지 및 키 쌍.
절차
베어 메탈 시스템을 생성합니다.
액세스 포트를 사용하는 베어 메탈 시스템을 생성하려면 다음 명령을 실행합니다.
openstack server create --flavor baremetal --image overcloud-full --key default --network tenant-net test1
openstack server create --flavor baremetal --image overcloud-full --key default --network tenant-net test1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 트렁크 포트를 사용하는 베어 메탈 시스템을 생성하려면 다음 명령을 실행합니다.
openstack server create --flavor baremetal --image overcloud-full --port {primary-port-uuid} --key default test1openstack server create --flavor baremetal --image overcloud-full --port {primary-port-uuid} --key default test1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
오버클라우드는 처음에 provisioning 네트워크에 베어 메탈 시스템을 생성합니다. 생성이 완료되면 networking-ansible 드라이버가 스위치의 포트 구성을 변경하여 베어 메탈 시스템에서 테넌트 네트워크를 사용하도록 합니다.
8장. 베어 메탈 프로비저닝 서비스 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스(ironic)가 포함된 환경의 문제를 진단합니다.
8.1. PXE 부팅 오류 링크 복사링크가 클립보드에 복사되었습니다!
다음 문제 해결 절차에 따라 PXE 부팅에 발생할 수 있는 문제를 평가하고 해결할 수 있습니다.
권한이 거부된 오류
베어 메탈 노드의 콘솔에서 Permission Denied 오류를 반환하는 경우 /httpboot 및 / tftpboot 디렉터리에 적절한 SELinux 컨텍스트를 적용했는지 확인하십시오.
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를 생략하고 실수로 i pxe_config.template 을 대신 입력하기 쉽습니다.
8.2. 베어 메탈 노드가 부팅된 후 로그인 오류 링크 복사링크가 클립보드에 복사되었습니다!
구성 중에 설정한 루트 암호를 사용할 때 노드에 로그인하지 못하면 배포된 이미지로 부팅되지 않았음을 나타냅니다. deploy-kernel/deploy-ramdisk 이미지에 로그인하고 시스템에서 올바른 이미지를 아직 로드하지 않은 것일 수 있습니다.
이 문제를 해결하려면 Compute 또는 Bare Metal Provisioning 서비스 노드의 /httpboot/pxelinux.cfg/MAC_ADDRESS 에 있는 PXE 부팅 구성 파일을 확인하고 이 파일에 나열된 모든 IP 주소가 베어 메탈 네트워크의 IP 주소에 해당하는지 확인합니다.
베어 메탈 프로비저닝 서비스 노드에서 사용하는 유일한 네트워크는 베어 메탈 네트워크입니다. 엔드포인트 중 하나가 네트워크에 없는 경우 엔드포인트는 부팅 프로세스의 일부로 베어 메탈 프로비저닝 서비스 노드에 연결할 수 없습니다.
예를 들어 파일의 kernel 행은 다음과 같습니다.
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파일의 값 업데이트 - 베어 메탈 프로비저닝 서비스 다시 시작
- 베어 메탈 인스턴스 다시 배포
8.3. 배포된 노드의 부팅 간 오류 링크 복사링크가 클립보드에 복사되었습니다!
특정 하드웨어에서는 배포의 일부로 연속 부팅 작업 중에 노드가 디스크에서 부팅되지 않는 배포된 노드에 문제가 발생할 수 있습니다. 이는 BMC가 노드에 요청하는 영구 부팅 설정을 수행하지 않기 때문에 일반적으로 발생합니다. 대신 노드는 PXE 대상에서 부팅됩니다.
이 경우 노드의 BIOS에서 부팅 순서를 업데이트해야 합니다. 노드가 기본적으로 디스크에서 부팅되지만 필요에 따라 인트로스펙션 또는 배포 중에 네트워크에서 부팅할 수 있도록 HDD를 첫 번째 부팅 장치로 설정한 다음 이후 옵션으로 PXE를 설정합니다.
이 오류는 대부분 LegacyBIOS 펌웨어를 사용하는 노드에 적용됩니다.
8.4. 베어 메탈 프로비저닝 서비스에 올바른 호스트 이름이 수신되지 않습니다. 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스에 올바른 호스트 이름이 수신되지 않으면 cloud-init 가 실패합니다. 이 문제를 해결하려면 Bare Metal 서브넷을 OpenStack Networking 서비스의 라우터에 연결합니다. 이 구성은 요청을 meta-data 에이전트에 올바르게 라우팅합니다.
8.5. 베어 메탈 프로비저닝 서비스 명령을 실행할 때 잘못된 OpenStack ID 서비스 인증 정보 링크 복사링크가 클립보드에 복사되었습니다!
ID 서비스에 인증할 수 없는 경우 ironic.conf 파일의 identity_uri 매개변수를 확인하고 keystone AdminURL에서 /v2.0 을 제거해야 합니다. 예를 들어 identity_uri 를 로 설정합니다.
8.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
8.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
8.8. 서버 콘솔 구성 링크 복사링크가 클립보드에 복사되었습니다!
Overcloud 노드의 콘솔 출력이 항상 서버 콘솔로 전송되지는 않습니다. 서버 콘솔에서 이 출력을 보려면 하드웨어에 올바른 콘솔을 사용하도록 오버클라우드를 구성해야 합니다. 다음 방법 중 하나를 사용하여 이 구성을 수행합니다.
-
각 오버클라우드 역할에 대해
KernelArgsheat 매개변수를 수정합니다. -
director에서
Overcloud 노드를 프로비저닝하는 데 사용하는 overcloud-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 <role>을 설정하려는 오버클라우드 역할의 이름으로 바꾸고<console-name>을 사용하려는 콘솔의 ID로 바꿉니다. 예를 들어 다음 스니펫을 사용하여tty0을 사용하도록 기본 역할의 모든 오버클라우드 노드를 구성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
배포 명령에
-e옵션을 사용하여overcloud-console-tty0.yaml파일을 포함합니다.
overcloud-full.qcow2 이미지 수정
-
언더클라우드 호스트에
stack사용자로 로그인합니다. stackrc인증 정보 파일을 소싱합니다.source stackrc
$ source stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow overcloud-full.qcow2이미지의 커널 인수를 수정하여 하드웨어에 대한 올바른 콘솔을 설정합니다. 예를 들어 콘솔을tty0으로 설정합니다.virt-customize --selinux-relabel -a overcloud-full.qcow2 --run-command 'grubby --update-kernel=ALL --args="console=tty0"'
$ virt-customize --selinux-relabel -a overcloud-full.qcow2 --run-command 'grubby --update-kernel=ALL --args="console=tty0"'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이미지를 director로 가져옵니다.
openstack overcloud image upload --image-path /home/stack/images/overcloud-full.qcow2
$ openstack overcloud image upload --image-path /home/stack/images/overcloud-full.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Overcloud를 배포합니다.
검증
언더클라우드에서 오버클라우드 노드에 로그인합니다.
ssh heat-admin@<IP-address>
$ ssh heat-admin@<IP-address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <IP-address>를 오버클라우드 노드의 IP 주소로 바꿉니다./proc/cmdline파일의 내용을 검사하고console=매개변수가 사용하려는 콘솔의 값으로 설정되어 있는지 확인합니다.[heat-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
[heat-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
9장. 베어 메탈 드라이버 링크 복사링크가 클립보드에 복사되었습니다!
베어 메탈 프로비저닝 서비스에서 활성화되는 드라이버 중 하나를 사용하도록 베어 메탈 노드를 구성할 수 있습니다. 각 드라이버에는 프로비저닝 방법과 전원 관리 유형이 포함됩니다. 일부 드라이버에는 추가 구성이 필요합니다. 이 섹션에 설명된 각 드라이버는 프로비저닝에 PXE를 사용합니다. 드라이버는 전원 관리 유형으로 나열됩니다.
ironic.yaml 파일에서 IronicEnabledHardwareTypes 매개변수를 구성하여 드라이버를 추가할 수 있습니다. 기본적으로 ipmi 및 redfish 는 활성화되어 있습니다.
지원되는 플러그인 및 드라이버의 전체 목록은 Component, Plug-In 및 Driver Support in Red Hat OpenStack Platform 을 참조하십시오.
9.1. IPMI(Intelligent Platform Management Interface) 링크 복사링크가 클립보드에 복사되었습니다!
IPMI는 전원 관리 및 서버 모니터링을 포함하여 대역 외 원격 관리 기능을 제공하는 인터페이스입니다. 이 전원 관리 유형을 사용하려면 모든 베어 메탈 프로비저닝 서비스 노드에 공유 베어 메탈 네트워크에 연결된 IPMI가 필요합니다. ipmi 드라이버를 활성화하고 노드의 driver_info 에 다음 정보를 설정합니다.
-
ipmi_address- IPMI NIC의 IP 주소입니다. -
ipmi_username- IPMI 사용자 이름입니다. -
ipmi_password- IPMI 암호입니다.
9.2. Redfish 링크 복사링크가 클립보드에 복사되었습니다!
DMTF(Distributed Management Task Force)에서 개발한 IT 인프라를 위한 표준 RESTful API
-
redfish_username- Redfish 사용자 이름. -
redfish_password- Redfish 암호. -
redfish_address- Redfish 컨트롤러의 IP 주소입니다. -
redfish_system_id- 시스템 리소스의 정식 경로입니다. 이 경로는 루트 서비스, 버전 및 시스템의 경로/유일 ID를 포함해야 합니다. 예:/redfish/v1/Systems/CX34R87 -
redfish_verify_ca- 부울 값, CA_BUNDLE 파일의 경로 또는 신뢰할 수 있는 CA의 인증서가 있는 디렉터리입니다. 이 값을True로 설정하면 드라이버에서 호스트 인증서를 확인합니다. 이 값을False로 설정하면 드라이버에서 SSL 인증서 확인을 무시합니다. 이 값을 경로로 설정하면 드라이버는 지정된 인증서 또는 디렉터리의 인증서 중 하나를 사용합니다. 기본값은True입니다.
9.3. DRAC(Dell Remote Access Controller) 링크 복사링크가 클립보드에 복사되었습니다!
DRAC는 전원 관리 및 서버 모니터링을 포함하여 대역 외 원격 관리 기능을 제공하는 인터페이스입니다. 이 전원 관리 유형을 사용하려면 모든 베어 메탈 프로비저닝 서비스 노드에 공유 베어 메탈 네트워크에 연결된 DRAC가 필요합니다. idrac 드라이버를 활성화하고 노드의 driver_info 에 다음 정보를 설정합니다.
-
drac_address- DRAC NIC의 IP 주소입니다. -
drac_username- DRAC 사용자 이름입니다. -
drac_password- DRAC 암호입니다.
9.4. iRMC(Remote Management Controller) 링크 복사링크가 클립보드에 복사되었습니다!
Fujitsu의 iRMC는 전원 관리 및 서버 모니터링을 포함하여 대역 외 원격 관리 기능을 제공하는 인터페이스입니다. 베어 메탈 프로비저닝 서비스 노드에서 이 전원 관리 유형을 사용하려면 노드에 공유 베어 메탈 네트워크에 연결된 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 를
sccioripmitool로 바꿉니다.SCCI를 활성화한 경우
python-scciclient패키지를 설치합니다.dnf install python-scciclient
# dnf install python-scciclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 컨덕터 서비스를 다시 시작합니다.
systemctl restart openstack-ironic-conductor.service
# systemctl restart openstack-ironic-conductor.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
iRMC 드라이버를 사용하려면 iRMC S4 이상이 필요합니다.
9.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 패키지를 설치하고 베어 메탈 컨덕터 서비스를 다시 시작해야 합니다.
dnf install python-proliantutils systemctl restart openstack-ironic-conductor.service
# dnf install python-proliantutils
# systemctl restart openstack-ironic-conductor.service
9.6. 차세대 전원 관리 드라이버로 변환 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenStack Platform은 이제 기존 드라이버를 대체하는 하드웨어 유형 이라고도 하는 차세대 드라이버를 사용합니다.
다음 표에서는 이전 드라이버와 차세대 하드웨어 유형과 유사한 비교를 보여줍니다.
| 이전 드라이버 | 새 하드웨어 유형 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RHOSP(Red Hat OpenStack Platform) 15에서는 이러한 오래된 드라이버가 제거되어 더 이상 액세스할 수 없습니다. RHOSP 15로 업그레이드하기 전에 새 하드웨어 유형으로 변경해야 합니다.
절차
활성화된 하드웨어 유형의 현재 목록을 확인합니다.
source ~/overcloud openstack baremetal driver list --type dynamic
$ source ~/overcloud $ openstack baremetal driver list --type dynamicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 활성화되지 않은 하드웨어 유형 드라이버를 사용하는 경우 환경 파일에서
IronicEnabledHardwareTypes매개변수를 사용하여 드라이버를 활성화합니다.parameter_defaults: IronicEnabledHardwareTypes: ipmi,redfish,idrac
parameter_defaults: IronicEnabledHardwareTypes: ipmi,redfish,idracCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 오버클라우드 배포 명령을 실행합니다.
openstack overcloud deploy -e [ENVIRONMENT_FILE] -r [ROLES_DATA] -n [NETWORK_DATA]
$ openstack overcloud deploy -e [ENVIRONMENT_FILE] -r [ROLES_DATA] -n [NETWORK_DATA]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오버클라우드와 관련된 모든 환경 및 데이터 파일을 포함해야 합니다.
다음 명령을 실행합니다. 전원 관리 유형을 위해
OLD변수를 바꿉니다.DRIVER및 NEWDRIVERsource ~/overcloud OLDDRIVER="pxe_ipmitool" NEWDRIVER="ipmi" for NODE in $(openstack baremetal node list --driver $OLDDRIVER -c UUID -f value) ; do openstack baremetal node set $NODE --driver $NEWDRIVER; done
$ source ~/overcloud $ OLDDRIVER="pxe_ipmitool" $ NEWDRIVER="ipmi" $ for NODE in $(openstack baremetal node list --driver $OLDDRIVER -c UUID -f value) ; do openstack baremetal node set $NODE --driver $NEWDRIVER; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow