10.2. 메모리 암호화를 위해 AMD SEV 컴퓨팅 노드 지정
메모리 암호화를 사용하는 인스턴스에 AMD SEV Compute 노드를 지정하려면 새 역할 파일을 생성하여 AMD SEV 역할을 구성하고 메모리 암호화를 위해 Compute 노드를 태그하는 데 사용할 새 오버클라우드 플레이버 및 AMD SEV 리소스 클래스를 구성해야 합니다.
절차
-
stack사용자로 언더클라우드에 로그인합니다. stackrc파일을 소싱합니다.[stack@director ~]$ source ~/stackrcComputeAMDSEV역할을 포함하는 새 역할 데이터 파일을 오버클라우드에 필요한 다른 역할과 함께 생성합니다. 다음 예제에서는Controller및ComputeAMDSEV역할이 포함된roles 데이터 파일 roles_data_amd_sev.yaml을 생성합니다.(undercloud)$ openstack overcloud roles \ generate -o /home/stack/templates/roles_data_amd_sev.yaml \ Compute:ComputeAMDSEV Controllerroles_data_amd_sev.yaml을 열고 다음 매개변수 및 섹션을 편집하거나 추가합니다.Expand 섹션/패랜드 현재 값 새 값 역할 설명
역할: 컴퓨팅역할: ComputeAMDSEV역할 이름
name: 컴퓨팅name: ComputeAMDSEVdescription기본 컴퓨팅 노드 역할AMD SEV Compute Node 역할HostnameFormatDefault%stackname%-novacompute-%index%%stackname%-novacomputeamdsev-%index%deprecated_nic_config_namecompute.yamlcompute-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" } ]