더북(TheBook)

설치 대상 시스템 준비하기

호스트에 자동 설치와 관련된 준비를 해둔 상태입니다. 게스트 vm01과 vm02를 생성하여 자동 설치를 진행합니다. 설치 과정에서 필요한 정보는 호스트에서 DHCP 서버, TFTP 서버, 웹 서버를 통해 얻어올 것입니다.

그림 9-6 vm01과 vm02에 우분투 자동 설치하기

먼저 virt-clone 명령으로 게스트를 생성합니다. virt-clone으로 복사한 게스트 이미지 위에 새로운 시스템을 설치할 것입니다. 동시에 여러 시스템을 설치하려면 게스트도 그 만큼 생성해야 합니다.

shinjaehun@losttemple:~$ sudo virt-clone --original guest --name vm01 --file /home/shinjaehun/virtual_machines/vm01.img
shinjaehun@losttemple:~$ sudo virt-clone --original guest --name vm02 --file /home/shinjaehun/virtual_machines/vm02.img
Tip

실제 시스템을 대상으로 자동 설치를 진행할 때는 각 시스템이 독립적으로 작동하기 때문에 서로 영향을 미치지 않지만 가상 시스템에 여러 게스트를 동시에 설치해야 한다면 성능 문제를 생각해야 합니다. 운영체제를 설치하는 일은 그만큼 많은 시스템 자원을 소모하기 때문입니다. 메모리만 생각해 봐도 그렇습니다. 각 게스트에 1GB씩 할당되어 있는데 사용 가능한 물리적인 메모리가 충분하지 않다면 동시에 자동 설치를 할 수 있는 게스트 수는 제한될 수밖에 없습니다. 게스트뿐만 아니라 호스트도 메모리를 사용한다는 점을 주의하기 바랍니다.

이렇게 하세요!

각 게스트에 DHCP 서버를 통해 IP 주소를 부여하려면 가상 시스템이 게스트에 IP 주소를 자동으로 부여하는 기능은 해제해야 합니다. 아직 가상 네트워크 default의 dhcp 기능을 해제하지 않았다면 virsh net-edit 명령으로 수정합니다.

shinjaehun@losttemple:~$ virsh net-edit default
<dhcp> 태그를 삭제하여 게스트에 IP 주소 자동 할당 기능을 해제할 수 있습니다.
<ip address='192.168.122.1' netmask='255.255.255.0'>
  <dhcp>
    <range start='192.168.122.2' end='192.168.122.254' />
  </dhcp>
</ip>

virsh edit 명령으로 각 게스트의 장치 설정을 수정합니다.

shinjaehun@losttemple:~$ virsh edit vm01

부팅할 장치를 추가합니다. 기본적으로 하드디스크로 직접 부팅하게 되어 있지만 <boot dev=‘network’ /> 행을 추가해서 네트워크를 통해 부팅할 수 있도록 설정했습니다. 순서가 중요한데 네트워크 부팅 옵션을 하드디스크 부팅 옵션 (<boot dev = ‘hd’/>)보다 앞에 입력해야 합니다.

<os>
  <type arch='i686' machine='pc-1.0'>hvm</type>
  <boot dev='network' />
  <boot dev='hd'/>
</os>
Tip

실제 시스템에서는 시스템 바이오스를 조작해서 네트워크 부팅이 가능하도록 설정해야 합니다. 역시 부팅 순서가 중요하며 바이오스에서 하드디스크나 CD롬보다 네트워크 부팅을 먼저 수행하도록 설정해야 합니다.

이렇게 해서 설치를 진행해도 되지만 게스트의 IP 주소 정보를 좀 더 효율적으로 관리하기 위해 DHCP 서버가 IP 주소를 고정적으로 할당하고 싶습니다. 이를 위해 게스트 네트워크 인터페이스의 하드웨어 주소(MAC 주소)를 알아둬야 합니다. mac address라고 정의되어 있는 여섯 자리 주소를(52:54:00:08:f0:d3) 기억해둡니다. DHCP 서버는 이 주소를 통해서 게스트를 구분하고 동일한 IP 주소를 부여할 것입니다. 설정 내용을 저장하고 명령 프롬프트로 빠져 나옵니다.

<interface type='network'>
   <mac address='52:54:00:08:f0:d3'/>
   <source network='default'/>
   <model type='virtio'/>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function=''>
</interface>

자동 설치 대상 게스트가 더 존재하면 각각 장치 설정을 수정해야 합니다. 같은 방법으로 추가할 게스트(vm02)에 부팅 장치를 추가하고 MAC 주소를 알아둬야 합니다.

shinjaehun@losttemple:~$ virsh edit vm02

변경된 설정 내용을 적용하기 위해 가상 시스템 서비스 libvirt-bin을 재시작합니다.

shinjaehun@losttemple:~$ sudo service libvirt-bin restart
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.