1.2. 하이퍼컨버지드 노드의 오버클라우드 역할 준비
노드를 하이퍼컨버지드로 지정하려면 하이퍼컨버지드 역할을 정의해야 합니다. RHOSP(Red Hat OpenStack Platform)는 하이퍼컨버지드 노드에 사전 정의된 역할 ComputeHCI 를 제공합니다. 이 역할은 Compute 및 Ceph 개체 스토리지 데몬(OSD) 서비스를 함께 배치하여 동일한 하이퍼컨버지드 노드에 배포할 수 있습니다.
절차
-
stack사용자로 언더클라우드에 로그인합니다. stackrc파일을 소싱합니다.source ~/stackrc
[stack@director ~]$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow ComputeHCI역할을 포함하는 새 사용자 지정 역할 데이터 파일과 오버클라우드에 사용하려는 다른 역할을 생성합니다. 다음 예제에서는 역할컨트롤러,ComputeHCI,Compute,CephStorage를 포함하는 역할 데이터 파일roles_data_hci.yaml을 생성합니다.openstack overcloud roles \ generate -o /home/stack/templates/roles_data_hci.yaml \ Controller ComputeHCI Compute CephStorage
(undercloud)$ openstack overcloud roles \ generate -o /home/stack/templates/roles_data_hci.yaml \ Controller ComputeHCI Compute CephStorageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고생성된 사용자 지정 역할 데이터 파일의
ComputeHCI역할에 나열된 네트워크에는 Compute 및 Storage 서비스 모두에 필요한 네트워크가 포함됩니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
network_data.yaml파일의 로컬 사본을 생성하여 오버클라우드에 구성 가능 네트워크를 추가합니다.network_data.yaml파일은 기본 네트워크 환경 파일/usr/share/openstack-tripleo-heat-templates/environments/*와 상호 작용하여ComputeHCI역할에 정의된 네트워크를 하이퍼컨버지드 노드와 연결합니다. 자세 한 내용은 Advanced Overcloud Customization 가이드의 구성 가능 네트워크 추가 를 참조하십시오. -
Red Hat Ceph Storage의 성능을 향상시키려면
network_data.yaml의 로컬 사본에서 스토리지 및네트워크의 MTU 설정을StorageMgmt9000으로 업데이트합니다. 자세한 내용은 Director에서 MTU 설정 구성 및 점 보 프레임 구성을 참조하십시오. 하이퍼컨버지드 노드에 대한
computeHCI오버클라우드 플레이버를 생성합니다.openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> computeHCI
(undercloud)$ openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> computeHCICopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;ram_size_mb>를 베어 메탈 노드의 RAM(MB)으로 바꿉니다. -
&
lt;disk_size_gb>를 베어 메탈 노드의 디스크 크기(GB)로 바꿉니다. -
&
lt;no_vcpus>를 베어 메탈 노드의 CPU 수로 바꿉니다.
참고이러한 속성은 인스턴스 예약에 사용되지 않습니다. 그러나 Compute 스케줄러는 디스크 크기를 사용하여 루트 파티션 크기를 결정합니다.
-
&
노드 목록을 검색하여 해당 UUID를 확인합니다.
openstack baremetal node list
(undercloud)$ openstack baremetal node listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정 HCI 리소스 클래스를 사용하여 하이퍼컨버지드로 지정할 각 베어 메탈 노드를 태그합니다.
openstack baremetal node set \ --resource-class baremetal.HCI <node>
(undercloud)$ openstack baremetal node set \ --resource-class baremetal.HCI <node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow &
lt;node>를 베어 메탈 노드의 ID로 바꿉니다.computeHCI플레이버를 사용자 지정 HCI 리소스 클래스와 연결합니다.openstack flavor set \ --property resources:CUSTOM_BAREMETAL_HCI=1 \ computeHCI
(undercloud)$ openstack flavor set \ --property resources:CUSTOM_BAREMETAL_HCI=1 \ computeHCICopy 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 computeHCI
(undercloud)$ openstack flavor set \ --property resources:VCPU=0 \ --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 computeHCICopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 매개 변수를
node-info.yaml파일에 추가하여 하이퍼컨버지드 및 컨트롤러 노드 수를 지정하고, 하이퍼컨버지드 및 컨트롤러 지정된 노드에 사용할 플레이버를 지정합니다.parameter_defaults: OvercloudComputeHCIFlavor: computeHCI ComputeHCICount: 3 OvercloudControlFlavor: baremetal ControllerCount: 3
parameter_defaults: OvercloudComputeHCIFlavor: computeHCI ComputeHCICount: 3 OvercloudControlFlavor: baremetal ControllerCount: 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.1. 루트 디스크 정의 링크 복사링크가 클립보드에 복사되었습니다!
여러 디스크가 있는 노드의 경우 director가 프로비저닝 중에 root 디스크를 식별해야 합니다. 예를 들어 대부분의 Ceph Storage 노드는 여러 디스크를 사용합니다. 기본적으로 director는 프로비저닝 프로세스 중에 오버클라우드 이미지를 root 디스크에 씁니다.
director가 root 디스크를 쉽게 식별할 수 있도록 다음과 같은 여러 속성을 정의할 수 있습니다.
-
model(문자열): 장치 식별자 -
vendor(문자열): 장치 벤더 -
serial(문자열): 디스크 일련번호 -
hctl(문자열): Host:Channel:Target:Lun (SCSI 용) -
size(정수): 장치의 크기(GB 단위) -
wwn(문자열): 고유한 스토리지 식별자 -
wwn_with_extension(문자열): 벤더 확장이 첨부된 고유한 스토리지 식별자 -
wwn_vendor_extension(문자열): 고유한 벤더 스토리지 식별자 -
rotational(부울): 회전 장치인 경우(HDD) True, 그렇지 않은 경우 false(SSD) -
name(문자열): 장치의 이름(예: /dev/sdb1) -
by_path(문자열): 장치의 고유한 PCI 경로입니다. 장치의 UUID를 사용하지 않으려면 이 속성을 사용합니다.
name 속성은 영구적인 이름이 있는 장치에만 사용합니다. 노드가 부팅될 때 값이 변경될 수 있으므로 name 을 사용하여 다른 장치에 대해 root 디스크를 설정하지 마십시오.
일련번호를 사용하여 root 장치를 지정하려면 다음 단계를 완료합니다.
절차
각 노드의 하드웨어 인트로스펙션에서 디스크 정보를 확인합니다. 다음 명령을 실행하여 노드의 디스크 정보를 표시합니다.
(undercloud) $ openstack baremetal introspection data save 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 | jq ".inventory.disks"
(undercloud) $ openstack baremetal introspection data save 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0 | jq ".inventory.disks"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어 노드 1개의 데이터에서 디스크 3개가 표시될 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 노드 정의의
root_device매개변수로 변경합니다. 다음 예제에서는 루트 장치를 일련 번호로61866da04f380d001ea4e13c12e36ad6으로 설정하는 방법을 보여줍니다.(undercloud) $ openstack baremetal node set --property root_device='{"serial": "61866da04f380d001ea4e13c12e36ad6"}' 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0(undercloud) $ openstack baremetal node set --property root_device='{"serial": "61866da04f380d001ea4e13c12e36ad6"}' 1a4e30da-b6dc-499d-ba87-0bd8a3819bc0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고각 노드의 BIOS를 설정하여 선택한 root 디스크로 부팅이 포함되도록 합니다. 네트워크에서 먼저 부팅한 다음, root 디스크에서 부팅하도록 부팅 순서를 구성합니다.
director가 root 디스크로 사용할 특정 디스크를 식별합니다. openstack overcloud deploy 명령을 실행하면 director가 Overcloud 이미지를 프로비저닝하고 root 디스크에 씁니다.