12.3. 메모리 암호화를 위한 AMD SEV 컴퓨팅 노드 구성
클라우드 사용자가 메모리 암호화를 사용하는 인스턴스를 생성할 수 있도록 하려면 AMD SEV 하드웨어가 있는 컴퓨팅 노드를 구성해야 합니다.
사전 요구 사항
배포에 AMD EPYC CPU와 같이 SEV를 지원할 수 있는 AMD 하드웨어에서 실행되는 컴퓨팅 노드가 포함되어야 합니다. 다음 명령을 사용하여 배포가 SEV-사용 가능한지 확인할 수 있습니다.
$ lscpu | grep sev
절차
- 컴퓨팅 환경 파일을 엽니다.
선택 사항: Compute 환경 파일에 다음 구성을 추가하여 AMD SEV 컴퓨팅 노드가 동시에 호스팅할 수 있는 최대 메모리 암호화 인스턴스 수를 지정합니다.
parameter_defaults: ComputeAMDSEVExtraConfig: nova::config::nova_config: libvirt/num_memory_encrypted_guests: value: 15
참고libvirt/num_memory_encrypted_guests
매개 변수의 기본값은none
입니다. 사용자 지정 값을 설정하지 않으면 AMD SEV Compute 노드는 노드가 동시에 호스팅할 수 있는 메모리 암호화 인스턴스 수에 제한을 지정하지 않습니다. 대신, 하드웨어에서 AMD SEV 컴퓨팅 노드가 동시에 호스팅할 수 있는 최대 메모리 암호화 인스턴스 수를 결정하여 일부 메모리 암호화 인스턴스가 시작되지 않을 수 있습니다.선택 사항: 모든 x86_64 이미지가 기본적으로 q35 시스템 유형을 사용하도록 지정하려면 Compute 환경 파일에 다음 구성을 추가합니다.
parameter_defaults: ComputeAMDSEVParameters: NovaHWMachineType: x86_64=q35
이 매개변수 값을 지정하는 경우 모든 AMD SEV 인스턴스 이미지에서
hw_machine_type
속성을q35
로 설정할 필요가 없습니다.AMD SEV Compute 노드에서 호스트 수준 서비스가 작동할 충분한 메모리를 예약하려면 잠재적인 각 AMD SEV 인스턴스에 대해 16MB를 추가합니다.
parameter_defaults: ComputeAMDSEVParameters: ... NovaReservedHostMemory: <libvirt/num_memory_encrypted_guests * 16>
AMD SEV 컴퓨팅 노드의 커널 매개변수를 구성합니다.
parameter_defaults: ComputeAMDSEVParameters: ... KernelArgs: "hugepagesz=1GB hugepages=32 default_hugepagesz=1GB mem_encrypt=on kvm_amd.sev=1"
참고KernelArgs
매개변수를 역할 구성에 처음 추가하면 오버클라우드 노드가 자동으로 재부팅됩니다. 필요한 경우 노드 자동 재부팅을 비활성화하고 대신 각 오버클라우드 배포 후 노드를 수동으로 재부팅할 수 있습니다. 자세한 내용은KernelArgs
를 정의하도록 수동 노드 재부팅 구성을 참조하십시오.- 업데이트를 Compute 환경 파일에 저장합니다.
다른 환경 파일을 사용하여 스택에 Compute 환경 파일을 추가하고 오버클라우드를 배포합니다.
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yaml