12.2. 메모리 암호화를 위해 AMD SEV 컴퓨팅 노드 지정
메모리 암호화를 사용하는 인스턴스에 AMD SEV 컴퓨팅 노드를 지정하려면 새 역할 파일을 생성하여 AMD SEV 역할을 구성하고, 메모리 암호화를 위해 Compute 노드에 태그를 지정하는 데 사용할 새 오버클라우드 플레이버 및 AMD SEV 리소스 클래스를 구성해야 합니다.
절차
-
stack
사용자로 언더클라우드에 로그인합니다. stackrc
파일을 소싱합니다.[stack@director ~]$ source ~/stackrc
ComputeAMDSEV
역할을 포함하는 새 역할 데이터 파일을 오버클라우드에 필요한 다른 역할과 함께 생성합니다. 다음 예제에서는Controller
및ComputeAMDSEV
역할이 포함된roles 데이터 파일 roles_data_amd_sev.yaml
을 생성합니다.(undercloud)$ openstack overcloud roles \ generate -o /home/stack/templates/roles_data_amd_sev.yaml \ Compute:ComputeAMDSEV Controller
roles_data_amd_sev.yaml
을 열고 다음 매개변수 및 섹션을 편집하거나 추가합니다.섹션/패랜드 현재 값 새 값 역할 설명
역할: 컴퓨팅
역할: ComputeAMDSEV
역할 이름
name: 컴퓨팅
name: ComputeAMDSEV
description
기본 컴퓨팅 노드 역할
AMD SEV Compute Node 역할
HostnameFormatDefault
%stackname%-novacompute-%index%
%stackname%-novacomputeamdsev-%index%
deprecated_nic_config_name
compute.yaml
compute-amd-sev.yaml
-
노드 정의 템플릿 node.
json 또는 node.
yaml에 추가하여 오버클라우드의 AMD SEV 컴퓨팅 노드를
등록합니다. 자세한 내용은 Director 설치 및 사용 가이드 의 오버클라우드 노드 등록을 참조하십시오. 노드 하드웨어를 검사합니다.
(undercloud)$ openstack overcloud node introspect \ --all-manageable --provide
자세한 내용은 Director 설치 및 사용 가이드 의 베어 메탈 노드 하드웨어 인벤토리 생성을 참조하십시오.
AMD SEV 컴퓨팅
노드의 compute-amd-sev
오버클라우드 플레이버를 생성합니다.(undercloud)$ openstack flavor create --id auto \ --ram <ram_size_mb> --disk <disk_size_gb> \ --vcpus <no_vcpus> compute-amd-sev
-
<ram_size_mb>
를 베어 메탈 노드의 RAM(MB)으로 바꿉니다. -
<disk_size_gb>
를 베어 메탈 노드의 디스크 크기(GB)로 바꿉니다. <no_vcpus>
를 베어 메탈 노드의 CPU 수로 바꿉니다.참고이러한 속성은 인스턴스를 예약하는 데 사용되지 않습니다. 그러나 계산 스케줄러는 디스크 크기를 사용하여 루트 파티션 크기를 결정합니다.
-
노드 목록을 검색하여 UUID를 확인합니다.
(undercloud)$ openstack baremetal node list
사용자 정의 AMD SEV 리소스 클래스를 사용하여 메모리 암호화를 지정할 각 베어 메탈 노드에 태그를 지정합니다.
(undercloud)$ openstack baremetal node set \ --resource-class baremetal.AMD-SEV <node>
<node>
를 베어 메탈 노드의 ID로 바꿉니다.compute-amd-sev
플레이버를 사용자 지정 AMD SEV 리소스 클래스와 연결합니다.(undercloud)$ openstack flavor set \ --property resources:CUSTOM_BAREMETAL_AMD_SEV=1 \ compute-amd-sev
베어 메탈 서비스 노드의 리소스 클래스에 해당하는 사용자 지정 리소스 클래스의 이름을 확인하려면 리소스 클래스를 대문자로 변환하려면 각 문장 부호 표시를 밑줄로 바꾸고 접두사는
CUSTOM_
로 바꿉니다.참고플레이버는 베어 메탈 리소스 클래스의 인스턴스 하나만 요청할 수 있습니다.
Compute 스케줄러가 베어 메탈 플레이버 속성을 사용하여 인스턴스를 예약하지 못하도록 다음 플레이버 속성을 설정합니다.
(undercloud)$ openstack flavor set \ --property resources:VCPU=0 --property resources:MEMORY_MB=0 \ --property resources:DISK_GB=0 compute-amd-sev
선택 사항:
ComputeAMDSEV 역할의 네트워크 토폴로지가 Compute
역할의 네트워크 토폴로지와 다른 경우 사용자 지정 네트워크 인터페이스 템플릿을생성합니다
. 자세한 내용은 Advanced Overcloud Customization 가이드의 Custom network interface templates 를 참조하십시오.ComputeAMDSEV
역할의 네트워크 토폴로지가Compute
역할과 동일한 경우compute.yaml
에 정의된 기본 네트워크 토폴로지를 사용할 수 있습니다.network-environment.yaml 파일에
ComputeAMDSEV
역할의Net::SoftwareConfig
를 등록합니다.resource_registry: OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml OS::TripleO::ComputeCPUPinning::Net::SoftwareConfig: /home/stack/templates/nic-configs/<amd_sev_net_top>.yaml OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yaml
<amd_sev_net_top>
을ComputeAMDSEV
역할의 네트워크 토폴로지가 포함된 파일 이름으로 바꿉니다(예: 기본 네트워크 토폴로지를 사용하려면compute.yaml
).node-info.yaml
파일에 다음 매개변수를 추가하여 AMD SEV 컴퓨팅 노드 수와 AMD SEV 지정 컴퓨팅 노드에 사용하려는 플레이버를 지정합니다.parameter_defaults: OvercloudComputeAMDSEVFlavor: compute-amd-sev ComputeAMDSEVCount: 3
역할이 생성되었는지 확인하려면 다음 명령을 입력합니다.
(undercloud)$ openstack baremetal node list --long -c "UUID" \ -c "Instance UUID" -c "Resource Class" -c "Provisioning State" \ -c "Power State" -c "Last Error" -c "Fault" -c "Name" -f json
출력 예:
[ { "Fault": null, "Instance UUID": "e8e60d37-d7c7-4210-acf7-f04b245582ea", "Last Error": null, "Name": "compute-0", "Power State": "power on", "Provisioning State": "active", "Resource Class": "baremetal.AMD-SEV", "UUID": "b5a9ac58-63a7-49ba-b4ad-33d84000ccb4" }, { "Fault": null, "Instance UUID": "3ec34c0b-c4f5-4535-9bd3-8a1649d2e1bd", "Last Error": null, "Name": "compute-1", "Power State": "power on", "Provisioning State": "active", "Resource Class": "compute", "UUID": "432e7f86-8da2-44a6-9b14-dfacdf611366" }, { "Fault": null, "Instance UUID": "4992c2da-adde-41b3-bef1-3a5b8e356fc0", "Last Error": null, "Name": "controller-0", "Power State": "power on", "Provisioning State": "active", "Resource Class": "controller", "UUID": "474c2fc8-b884-4377-b6d7-781082a3a9c0" } ]