17.5. PXE 서버에서 가상 머신 부팅
PXE(Preboot Execution Environment)를 사용하는 VM(가상 머신)은 네트워크에서 구성을 부팅하고 로드할 수 있습니다. 이 장에서는 libvirt
를 사용하여 가상 또는 브리지 네트워크의 PXE 서버에서 VM을 부팅하는 방법을 설명합니다.
이러한 절차는 예제로만 제공됩니다. 계속하기 전에 충분한 백업이 있는지 확인하십시오.
17.5.1. 가상 네트워크에서 PXE 부팅 서버 설정
다음 절차에서는 PXE(Preboot Execution Environment)를 제공하도록 libvirt
가상 네트워크를 구성하는 방법을 설명합니다. 이를 통해 호스트의 가상 머신을 가상 네트워크에서 사용할 수 있는 부팅 이미지에서 부팅할 수 있습니다.
사전 요구 사항
다음과 같은 로컬 PXE 서버(DHCP 및 TFTP)
- libvirt 내부 서버
- dhcpd 및 tftpd 수동으로 설정
- dnsmasq
- Cobbler 서버
-
Cobbler 또는 수동으로 구성된
PXELINUX
와 같은 PXE 부팅 이미지.
프로세스
-
PXE 부팅 이미지와 구성을
/var/lib/tftpboot
폴더에 배치합니다. 폴더 권한을 설정합니다.
# chmod -R a+r /var/lib/tftpboot
폴더 소유권을 설정합니다.
# chown -R nobody: /var/lib/tftpboot
SELinux 컨텍스트를 업데이트합니다.
# chcon -R --reference /usr/sbin/dnsmasq /var/lib/tftpboot # chcon -R --reference /usr/libexec/libvirt_leaseshelper /var/lib/tftpboot
가상 네트워크를 종료합니다.
# virsh net-destroy default
기본 편집기에서 가상 네트워크 구성 파일을 엽니다.
# virsh net-edit default
적절한 주소, 네트워크 마스크, DHCP 주소 범위 및 부팅 파일을 포함하도록 <
ip
> 요소를 편집합니다. 여기서 example-pxelinux 는 부팅 이미지 파일의 이름입니다.<ip address='192.0.2.1' netmask='255.255.255.0'> <tftp root='/var/lib/tftpboot'/> <dhcp> <range start='192.0.2.2' end='192.0.2.254' /> <bootp file='example-pxelinux'/> </dhcp> </ip>
가상 네트워크를 시작합니다.
# virsh net-start default
검증
기본 가상 네트워크가
활성화되어 있는지 확인합니다.# virsh net-list Name State Autostart Persistent --------------------------------------------------- default active no no
추가 리소스
17.5.2. PXE 및 가상 네트워크를 사용하여 가상 머신 부팅
가상 네트워크에서 사용 가능한 PXE(Preboot Execution Environment) 서버에서 VM(가상 머신)을 부팅하려면 PXE 부팅을 활성화해야 합니다.
사전 요구 사항
- PXE 부팅 서버는 가상 네트워크에서 PXE 부팅 서버 설정에 설명된 대로 가상 네트워크에 설정됩니다.
프로세스
PXE 부팅이 활성화된 새 VM을 생성합니다. 예를 들어
기본
가상 네트워크에서 사용 가능한 PXE에서 새 10GB qcow2 이미지 파일로 설치하려면 다음을 수행합니다.# virt-install --pxe --network network=default --memory 2048 --vcpus 2 --disk size=10
또는 기존 VM의 XML 구성 파일을 수동으로 편집할 수 있습니다.
<
os
> 요소에 <boot dev='network'/>
요소가 있는지 확인합니다.<os> <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type> <boot dev='network'/> <boot dev='hd'/> </os>
게스트 네트워크가 가상 네트워크를 사용하도록 구성되어 있는지 확인합니다.
<interface type='network'> <mac address='52:54:00:66:79:14'/> <source network='default'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
검증
-
virsh start
명령을 사용하여 VM을 시작합니다. PXE가 올바르게 구성된 경우 VM은 PXE 서버에서 사용 가능한 부팅 이미지에서 부팅됩니다.
17.5.3. PXE 및 브리지 네트워크를 사용하여 가상 머신 부팅
브리지된 네트워크에서 사용 가능한 PXE(Preboot Execution Environment) 서버에서 VM(가상 머신)을 부팅하려면 PXE 부팅을 활성화해야 합니다.
사전 요구 사항
- 네트워크 브리징이 활성화됩니다.
- 브리지 네트워크에서 PXE 부팅 서버를 사용할 수 있습니다.
프로세스
PXE 부팅이 활성화된 새 VM을 생성합니다. 예를 들어
breth0
브리지 네트워크에서 사용할 수 있는 PXE에서 새 10GB qcow2 이미지 파일로 설치하려면 다음을 수행합니다.# virt-install --pxe --network bridge=breth0 --memory 2048 --vcpus 2 --disk size=10
또는 기존 VM의 XML 구성 파일을 수동으로 편집할 수 있습니다.
<
os
> 요소에 <boot dev='network'/>
요소가 있는지 확인합니다.<os> <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type> <boot dev='network'/> <boot dev='hd'/> </os>
브리지 네트워크를 사용하도록 VM이 구성되었는지 확인합니다.
<interface type='bridge'> <mac address='52:54:00:5a:ad:cb'/> <source bridge='breth0'/> <target dev='vnet0'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
검증
-
virsh start
명령을 사용하여 VM을 시작합니다. PXE가 올바르게 구성된 경우 VM은 PXE 서버에서 사용 가능한 부팅 이미지에서 부팅됩니다.
추가 리소스