16.5. PXE 서버에서 가상 머신 부팅

PXE(Preboot Execution Environment)를 사용하는 VM(가상 머신)은 네트워크에서 구성을 부팅 및 로드할 수 있습니다. 이 장에서는 libvirt 를 사용하여 가상 또는 브리지 네트워크의 PXE 서버에서 VM을 부팅하는 방법을 설명합니다.

주의

이러한 절차는 예제로만 제공됩니다. 진행하기 전에 충분한 백업이 있는지 확인하십시오.

16.5.1. 가상 네트워크에서 PXE 부팅 서버 설정

이 절차에서는 PXE(Preboot Execution Environment)를 제공하도록 libvirt 가상 네트워크를 구성하는 방법을 설명합니다. 이렇게 하면 호스트의 가상 머신을 가상 네트워크에서 사용할 수 있는 부팅 이미지에서 부팅하도록 구성할 수 있습니다.

사전 요구 사항

  • 다음과 같은 로컬 PXE 서버(DHCP 및 TFTP)

    • libvirt 내부 서버
    • 수동으로 구성된 dhcpd 및 tftpd
    • dnsmasq
    • 공동 작업 서버
  • Co1.8.0r 또는 수동으로 구성한 PXELINUX 와 같은 PXE 부팅 이미지.

절차

  1. PXE 부팅 이미지와 구성을 /var/lib/tftpboot 폴더에 배치합니다.
  2. 폴더 권한을 설정합니다.

    # chmod -R a+r /var/lib/tftpboot
  3. 폴더 소유권을 설정합니다.

    # chown -R nobody: /var/lib/tftpboot
  4. SELinux 컨텍스트를 업데이트합니다.

    # chcon -R --reference /usr/sbin/dnsmasq /var/lib/tftpboot
    # chcon -R --reference /usr/libexec/libvirt_leaseshelper /var/lib/tftpboot
  5. 가상 네트워크를 종료합니다.

    # virsh net-destroy default
  6. 기본 편집기에서 가상 네트워크 구성 파일을 엽니다.

    # virsh net-edit default
  7. 적절한 주소, 네트워크 마스크, DHCP 주소 범위 및 부팅 파일을 포함하도록 < ip > 요소를 편집합니다. 여기서 BOOT_FILENAME 은 부팅 이미지 파일의 이름입니다.

    <ip address='192.168.122.1' netmask='255.255.255.0'>
       <tftp root='/var/lib/tftpboot' />
       <dhcp>
          <range start='192.168.122.2' end='192.168.122.254' />
          <bootp file='BOOT_FILENAME' />
       </dhcp>
    </ip>
  8. 가상 네트워크를 시작합니다.

    # virsh net-start default

검증

  • 기본 가상 네트워크가 활성화되어 있는지 확인합니다.

    # virsh net-list
    Name             State    Autostart   Persistent
    ---------------------------------------------------
    default          active   no          no