6. Virtualization
This section contains information about updates made to Red Hat Enterprise Linux suite of Virtualization tools.
6.1. Feature Updates
- blktap (blocktap) 사용자 공간 툴킷이 업데이트되어 blktap에 일치하는 가상화 게스트 전송 통계를 모니터링할 수 있습니다.
- Intel EPT (Extended Page Table) 기능 지원이 추가되어 EPT를 지원하는 하드웨어에 있는 완전 가상화 게스트 성능이 향상되었습니다.
- ia64 아키텍쳐에 있는 Windows 2003 게스트 만을 지원하는 게스트 용
e1000
네트워크 장치 에물레이션이 이번 업데이트에 추가되어 있습니다. e1000 에뮬레이션을 사용하려면, xm 명령을 사용해야 합니다. - KVM에서 I/O 가상화 플랫폼인
virtio
용 드라이버는 Linux Kernel 2.6.27에서 Red Hat Enterprise Linux 5.3으로 백포트되었습니다. 이 드라이버는 I/O 성능을 향상시키기 위해 KVM 게스트를 활성화하게 됩니다. 또한 virtio 장치를 지원하기 위해anaconda
,kudzu
,lvm
,selinux
,mkinitrd
등과 같은 사용자 공간 구성 요소도 업데이트되었습니다. - 고유의 Linux 커널은 자동으로
vmcoreinfo
를 지원하지만, dom0 도메인에 kdump을 설정하려면kernel-xen-debuginfo
패키지가 필요했습니다. 이번 릴리스에서는 커널 및 하이퍼바이저가 수정되어 고유의 vmcoreinfo 읽기 및 kdump 쓰기가 지원되고 있습니다. 따라서debuginfo
또는debuginfo-common
패키지를 설치하지 않고도 사용자는 dom0 도메인에서 디버깅 등에 kdump를 사용할 수 있게 되었습니다. - 에뮬레이션된 디스크 및 네트워크 장치를 사용하면 완전 가상화된 Red Hat Enterprise Linux 5 게스트는 최적에 가까운 성능을 얻을 수 있었습니다. 이번 업데이트에는 kmod-xenpv 패키지가 포함되어 완전 가상화 게스트에서 반가상화 디스크 및 네트워크 사용이 간단해 졌습니다.이러한 드라이버를 완전 가상화 게스트에서 사용하면 완전 가상화 게스트의 성능 및 기능을 현저히 향상시킬 수 있습니다. netfront 및 block front 드라이버에 대한 버그 수정으로 바로 커널 패키지와 동기화되었습니다.
- 게스트에는 2MB의 백킹 페이지 메모리 테이블을 이용할 수 있는 기능이 있기 때문에 시스템 성능을 향상시킬 수 있게 되었습니다.
6.2. Resolved Issues
6.2.1. All Architectures
- 반가상화 게스트를 종료하면 dom0가 일정 기간 동안 응답을 중지하게 될 수 도 있습니다. 게스트의 메모리가 큰 경우 (예: 12GB 이상) 시간이 몇 초 정도 지연되었습니다. 이번 업데이트에서 가상화 커널은 대형 반가상화 게스트 종료가 pre-emptible될 수 있게 되어 이 문제가 해결되었습니다.
crash
was unable to read the relocation address of the hypervisor from a vmcore file. Consequently, opening a Virtualized kernel vmcore file with crash would fail, resulting in the error:crash: cannot resolve "idle_pg_table_4"
In this update, the hypervisor now saves the address correctly, which resolves this issue.- 이전의 반가상화 게스트는 최대 16 개의 디스크 장치만을 가질 수 있었습니다. 이번 업데이트에서는 최대 디스크 장치 수가 256 개로 증가했습니다.
- kdump 커널에 대한 메모리 예약이 제대로되지 않아 사용 불가능한 crash 덤프가 발생했습니다. 이번 업데이트에서는 메모리 예약이 올바르게 되어, 적절한 crash 덤프를 생성할 수 있습니다.
- 반가상화 게스트에 특정 이름을 갖는 (예:
/dev/xvdaa
,/dev/xvdab
,/dev/xvdbc
등.) 디스크를 부착하면 게스트 내부에 손상된/dev
장치를 생성할 수 있습니다. 이번 업데이트에서는 이러한 문제가 해결되어 반가상화 게스트에 이러한 이름으로 디스크를 부착하면 게스트 안에 올바른/dev
장치를 생성합니다. - 이전에는 루프백 장치 수가 4개로 제한되어 있어, 결과적으로 4개 이상의 네트워크 인터페이스를 갖는 시스템에 브리지를 생성할 수 있는 기능이 제한되었습니다. 이번 업데이트에서는
netloop
드라이버가 필요에 따라 루프백 장치를 추가로 생성할 수 있습니다. - 가상 네트워크 장치를 생성 및 제거하는 경우 경쟁 상태가 발생할 수 있습니다. 특히 고부하 상태의 경우, 가상 장치가 응답하지 않는 원인이 될 수 있습니다. 이번 업데이트에서는 경쟁 상태가 발생하지 않도록 가상 장치 상태를 확인하실 수 있습니다.
- 어플리케이션을 실행되고 있는 대로 내버려 둘 경우
virt-manager
에서 메모리 누수 현상이 발생할 수 있습니다. 결과적으로 어플리케이션은 더 많은 자원을 소비하게 되어, 메모리 자원 부족을 유발하게 됩니다. 이번 업데이트에서 이러한 누수 현상이 수정되어 이러한 문제가 해결되었습니다. - the
crash
utility could not analyzex86_64
vmcores from systems runningkernel-xen
because the Red Hat Enterprise Linux hypervisor was relocatable and the relocated physical base address is not passed in the vmcore file's ELF header. The new--xen_phys_start
command line option for the crash utility allows the user to pass crash the relocated base physical address. - 모든 마우스 이벤트가
PVFB (Paravirtual Frame Buffer)
에 의해 캡처 및 처리되지 않았습니다. 결과적으로Virtual Machine Console
을 사용하여 반가상화 게스트와 상호 작용할 때 스크롤 휠 기능이 작동하지 않았습니다. 이번 업데이트에서 스크롤 휠 마우스 이벤트가 제대로 처리되게 되어 이러한 문제가 해결되었습니다. - 대량의 CPU를 갖는 시스템에서 가상화를 사용하면 게스트 설치 도중 하이퍼바이저가 중단될 수 있습니다. 이번 업데이트에서는 이러한 문제가 해결되었습니다.
- CPUID군 값 6을 반환하는 Intel 프로세서에서 하나의 성능 카운터 레지스터만이
kernel-xen
에서 활성화되었습니다. 결과적으로 카운터 0 만이 샘플을 제공했습니다. 이번 업데이트에서는 이러한 문제가 해결되었습니다.
6.2.2. x86 Architectures
- On systems with newer CPU's, the CPU APIC ID differs from the CPU ID. Consequently, the virtualized kernel was unable to initialize CPU frequency scaling. In this update, the virtualized kernel now retrieves CPU APIC ID from the hypervisor, allowing CPU frequency scaling to be initialized properly.
- x86 반가상화 게스트를 실행할 때, 프로세스가 잘못된 메모리에 액세스할 경우, SEGV 신호를 검색하지 않고 루프에서 실행되었습니다. 이는 하이퍼바이저에서 execshield 검사 방법의 결함으로 인한 것이었습니다. 이번 업데이트에서는 이러한 문제가 해결되었습니다.
6.2.3. ia64 Architecture
- A
xend
bug that previously caused guest installation failures is now fixed. evtchn
이벤트 채널 장치에는 잠금 장치 및 메모리 장벽이 없었습니다. 이로 인해 xenstore가 응답하지 않는 이유가 되었습니다. 이번 업데이트에서는 이 문제가 해결되었습니다.- NUMA (Non - Uniform Memory Access) 정보가
xm info
명령에 의해 나타나지 않았습니다. 결과적으로 각 노드의node_to_cpu
값이no cpus
로 잘못 반환되었습니다. 이번 업데이트에서는 이러한 문제가 해결되었습니다. - 이전에는 VT-i2 기술이 있는 프로세서에서 HVM (Hardware Virtual Machine)에 게스트를 생성할 수 없었습니다. 이번 업데이트에서는 이러한 문제가 해결되었습니다.
6.2.4. x86_64 Architectures
- 게스트 가상 장치에 대해 사용 가능한 동적 IRQ가 고갈되면,
dom0
커널이 충돌할 수 있었습니다. 이번 업데이트에서는 충돌 상태가 수정되었고, 사용 가능한 IRQ 수가 증가되어 이러한 문제가 해결되었습니다. - On systems with newer CPU's, the CPU APIC ID differs from the CPU ID. Consequently, the virtualized kernel was unable to initialize CPU frequency scaling. In this update, the virtualized kernel now retrieves CPU APIC ID from the hypervisor, allowing CPU frequency scaling to be initialized properly.
6.3. Known Issues
6.3.1. All Architectures
- 가상화 커널을 사용할 때 디스켓 드라이브 미디어는 사용할 수 없게 됩니다. 이를 해결하려면, 대신 부착된 USB디스켓 드라이브를 사용합니다.디스켓 드라이버 미디어는 기타 다른 비 가상화 커널과도 잘 작동함에 유의하시기 바랍니다.
- In live migrations of paravirtualized guests, time-dependent guest processes may function improperly if the corresponding hosts' (dom0) times are not synchronized. Use NTP to synchronize system times for all corresponding hosts before migration.
- 두 호스트 사이에서 반가상화 게스트의 반복된 라이브 마이스레이션으로 하나의 호스트가 패닉 상태로 될 수 있습니다. 시스템 밖에서 게스트를 이전한 후 동일한 게스트를 다시 이전하기 전에 호스트를 재부팅하면 패닉 상태가 발생하지 않게 됩니다.
- 게스트로 Windows 2008 또는 Windows Vista를 실행할 때 디스크를 포맷하면 게스트가 여러 가상 CPU를 사용하여 부팅할 경우 중단될 수 있습니다. 이를 해결하려면 포맷할 때 단일 가상 CPU로 게스트를 부팅합니다.
virt-manager
를 통해 생성된 완전 가상화 게스트에서는 때때로 마우스가 화면에서 자유롭게 움직이지 않았습니다. 이를 해결하기 위해,virt-manager
를 사용하여 게스트 용 USB 타블렛 장치를 설정합니다.- 128개 이상의 CPU를 갖는 시스템에서 최대 CPU는 128 미만으로 제한되어야 합니다. 현재 지원되는 최대 수는 126입니다.
maxcpus=126
하이퍼바이저 인수를 사용하여 하이퍼바이저를 126으로 제한합니다. - 완전 가상화 게스트는 도메인의 일시 중지 및 일시 중지 해제로 인해 시간 손실을 수정할 수 없습니다. 일시 중지 및 일시 중지 해제 이벤트에서 제대로 시간을 추적할 수 있는 기능은 반가상화 커널의 장점 중 하나입니다. 이러한 문제는 업스트림에서 대체 가능한 타이머로 해결되어, 완전 가상화 게스트는 반가상화 타이머를 갖게 됩니다. 현재, 이러한 코드는 개발 단계에 있으며 차후 Red Hat Enterprise Linux 버전에서 사용할 수 있게 됩니다.
- 반가상화 게스트의 반복된 마이그레이션으로
dom0
콘솔에bad mpa
메세지가 나타날 수 있습니다. 일부 경우 하이퍼바이저가 패닉 상태가 될 수 도 있습니다.하이퍼바이저 커널 패닉이 일어나지 않도록 하려면, bad mpa 메세지가 나타나면 마이그레이션된 게스트를 다시 시작합니다. dom0
에서 인터페이스 결합을 설정할 때, 기본값network-bridge
스크립트는 결합된 네트워크 인터페이스를unavailable
과available
사이에서 전환하게 할 수 있습니다. 이는 일반적으로 flapping이라고 합니다.이를 방지하려면/etc/xen/xend-config.sxp
에 있는 표준network-script
행을 다음의 행으로 대체합니다:(network-script network-bridge-bonding netdev=bond0)
이에 따라 netloop 장치가 비활성화되고, 주소 전달 과정에서 ARP (Address Resolution Protocol) 감시가 장애를 일으키지 않게 합니다.- When running multiple guest domains, guest networking may temporarily stop working, resulting in the following error being reported in the dom0 logs:
Memory squeeze in netback driver
To work around this, raise the amount of memory available to the dom0 with thedom0_mem
hypervisor command line option.
6.3.2. x86 Architectures
- Migrating paravirtualized guests through
xm migrate [domain] [dom0 IP address]
does not work. - When installing Red Hat Enterprise Linux 5 on a fully virtualized SMP guest, the installation may freeze. This can occur when the host (
dom0
) is running Red Hat Enterprise Linux 5.2.이를 방지하려면, 게스트가 설치에서 단일 프로세서를 사용하도록 설정합니다. 이는virt-install
에서--vcpus=1
을 사용하면 됩니다. 설치를 완료한 후, virt-manager에 할당된vcpus
를 수정하여 SMP에 게스트를 설정할 수 있습니다.
6.3.3. x86_64 Architectures
- Migrating paravirtualized guests through
xm migrate [domain] [dom0 IP address]
does not work. - Installing the Virtualization feature may cause a
time went backwards
warning on HP systems with model numbers xw9300 and xw9400.xw9400에서 이러한 사항을 해결하기 위해, HPET 타이머를 활성화하기 위한 BIOS 설정을 지정합니다. 이러한 옵션은 xw9300에서는 사용 가능하지 않음에 유의하시기 바랍니다. - Installing Red Hat Enterprise Linux 3.9 on a fully virtualized guest may be extremely slow. In addition, booting up the guest after installation may result in
hda: lost interrupt
errors.이러한 부팅 오류를 해결하기 위해 SMP 커널을 사용하여 게스트를 설정합니다. - Upgrading a host (
dom0
) system to Red Hat Enterprise Linux 5.2 may render existing Red Hat Enterprise Linux 4.5 SMP paravirtualized guests unbootable. This is more likely to occur when the host system has more than 4GB of RAM.이 문제를 해결하려면 단일 CPU 모드에서 Red Hat Enterprise Linux 4.5 게스트를 부팅하고 최신 버전 (Red Hat Enterprise Linux 4.5.z용)으로 커널을 업그레이드합니다.
6.3.4. ia64 Architecture
- Migrating paravirtualized guests through
xm migrate [domain] [dom0 IP address]
does not work. - On some Itanium systems configured for console output to VGA, the
dom0
virtualized kernel may fail to boot. This is because the virtualized kernel failed to properly detect the default console device from the Extensible Firmware Interface (EFI) settings.이러한 문제가 발생하면,/boot/efi/elilo.conf
에 있는 커널 부팅 옵션에 부팅 매개 변수console=tty
를 추가합니다. - On some Itanium systems (such as the Hitachi Cold Fusion 3e), the serial port cannot be detected in
dom0
when VGA is enabled by the EFI Maintenance Manager. As such, you need to supply the following serial port information to thedom0
kernel:- 비트/초 단위 속도
- 데이터 비트 수
- 패리티
io_base
주소
이 정보는/boot/efi/elilo.conf
에 있는dom0
커널의append=
행에 지정해야 합니다. 예:append="com1=19200,8n1,0x3f8 -- quiet rhgb console=tty0 console=ttyS0,19200n8"
예에서,com1
은 직렬 포트이고,19200
은 속도 (비트/초 단위),8n1
은 데이터 비트/패리티 설정 수를 나타내며,0x3f8
은0x3f8
주소입니다. - Virtualization does not work on some architectures that use Non-Uniform Memory Access (NUMA). As such, installing the virtualized kernel on systems that use NUMA will result in a boot failure.기본값으로 일부 설치 번호는 가상화 커널을 설치합니다. 이러한 설치 번호가 있고 시스템이 NUMA를 사용하며 kernel-xen과 작동하지 않을 경우, 설치 과정에서 가상화 옵션을 선택 해제합니다.
- Currently, live migration of fully virtualized guests is not supported on this architecture. In addition,
kexec
andkdump
are also not supported for virtualization on this architecture.