이 문서에서는 노트북 2대로 RHV 테스트 환경을 구축하다가 발견된 내용을 기술하고 있으며,

KVM Host 에서 중첩 가상화 미설정으로 인해 발생한 RHV Host 추가 문제를 해결하는 방법을 안내하고 있다.

 

RHV Version :

rhvm-4.3.7.2-0.1.el7

ovirt-host-4.3.2-1.el7ev.x86_64

 

구성은 아래와 같다.

 

증상 :

RHVM(RHV Manager)의 Admin Portal - Web Console에서 Host 추가 시 아래와 같은 메시지 발생하면서 Host Install에 실패함.

Installation failed. Command returned failure code 1 during ssh session.

이 문제는 nested virtualization(중첩 가상화)와 관련된 것으로 RHV-Manager가 Host를 추가하는 과정에서 Virtualization 지원여부를 사전 체크하는 부분에서 Pass하지 못해서 발생하는 것이다.

 

아래와 같이 확인 및 설정을 하여 해결하면 된다.

먼저 사전에 Laptop(하드웨어)의 BIOS에서 VT-X, VT-D 와 같은 가상화 설정이 Enable 되어 있어야 한다.

 

1. RHV-Manager 에서 로그 확인

Ovirt-Engine이 수행되는 Manager 서버에서 ovirt-host-deploy 로그를 확인해 보자 아래와 같은 메시지가 발견된다.

[root@RHVM ~]# Cat /var/log/ovirt-engine/host-deploy/ovirt-host-deploy-20200226181551-10.76.161.147-42df0ad1.log | grep Error
RuntimeError: Hardware does not support virtualization

 

2. RHV-Host 에서 가상화 지원 여부 확인

[root@RHVH-02 ~]# virt-host-validate
QEMU: Checking for hardware virtualization : FAIL (Only emulated CPUs are available, performance will be significantly limited)
~~ 아래 생략 ~~

H/W virtualization 실패로 체크됨

 

3. KVM-Host에서 nested 가상화 지원 여부 확인 및 수정

[root@KVM-HOST ~]# cat /sys/module/kvm_intel/parameters/nested
N

지원하지 않음으로 확인

 

4. 설정 수정 및 리부팅

[root@KVM-HOST ~]# vim /etc/modprobe.d/kvmintel.conf
options kvm_intel nested=1
options kvm_intel enable_shadow_vmcs=1
options kvm_intel enable_apicv=1
options kvm_intel ept=1

[root@KVM-HOST ~]# reboot

[root@KVM-HOST ~]# cat /sys/module/kvm_intel/parameters/nested
Y

설정, 리부팅 후 nested 가상화 지원을 확인하자 Yes로 확인된다.

 

5. RHV-Host VM의 CPU Mode 설정 수정

[root@KVM-HOST ~]# virsh edit RHVH-02
<cpu mode='host-passthrough' check='partial'/>

--> RHV-Host VM을 끄고서 cpu mode 부분을 위와 같이 수정하고 부팅한다.

* 만약 virsh 명령이 없으면 아래와 같이 패키지 설치

[root@KVM-HOST ~]# yum install virt-install

 

6. RHV-Host 에서 가상화 지원 여부 재확인

[root@RHVH-02 ~]# virt-host-validate

QEMU: Checking for hardware virtualization : PASS

~~ 아래 생략 ~~

 

정리하자면 아래와 같다.

1) Laptop 의 BIOS 에서 가상화 관련 옵션 활성화

2) RHV-Host의 Hypervisor인 KVM-Host 에서 nested Virtualization 활성화

3) KVM-Host 위에서 돌아가는 RHV-Host VM의 Config(XML)를 virsh를 통해 cpu mode 부분을 수정

 

결국엔 이 글은 KVM 기반 하이퍼바이저 위에서 돌아가는 VM에 대한 중첩 가상화를 활성화 하는 방법에 대한 내용이다.

 

[ Reference ]

Nested Virtualization on RHV 4.3

 

[ovirt-users] Nested KVM for oVirt 4.1.2

https://lists.ovirt.org/pipermail/users/2017-May/082238.html

 

HOWTO: Nested KVM based virtual setup with oVirt

 

RHEV-M with nested VM for OSP

https://iranzo.github.io/blog/2015/07/17/rhev-m-with-nested-vm-for-osp/

 

ADMINISTRATION GUIDE

https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.2/html-single/administration_guide/index

Network Filter - Red Hat no longer supports disabling filters by setting the EnableMACAntiSpoofingFilterRules parameter to false using the engine-config tool. Use the <No Network Filter> option instead.

Setup for Nested VM(RHV-Host) Based on KVM
태그:                     

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다