더북(TheBook)

게스트 하드디스크 추가하기

물론 텍스트 환경에서도 게스트 하드웨어를 추가할 수 있습니다.하드디스크를 추가해봅시다.

먼저 호스트에서 dd 명령으로 10GB의 이미지를 생성합니다. dd는 파일을 변환해서 복사하는 명령으로 0을 반환하는 가상의 장치 /dev/zero(if=/dev/zero)를 1MB(bs=1M)씩 10240번(count=10240) 변환하여 ‘virtual_machine-2.img’라는 이미지 파일로 복사(of=virtual_machines/virtual_machine-2.img)합니다. 10GB의 이미지를 생성하는 과정은 시간이 좀 걸릴 것입니다.

shinjaehun@losttemple:~$ dd if=/dev/zero of=virtual_machines/virtual_machine-2.img 
bs=1M count=10240

생성한 하드디스크 이미지의 소유권을 root로, 접근 권한을 755로 조정합니다.

shinjaehun@losttemple:~$ cd virtual_machines
shinjaehun@losttemple:~/virtual_machines$ sudo chown root:root virtual_machine-2.img
shinjaehun@losttemple:~/virtual_machines$ sudo chmod 755 virtual_machine-2.img

virsh edit 명령으로 게스트의 환경 설정을 수정합니다.

shinjaehun@losttemple:~/virtual_machines$ virsh edit virtual_machine

시스템에 설치된 하드디스크 정보 <disk type=‘file’ device=‘disk’> ~ </disk>를 복사해서 바로 아래 붙인 다음 하드디스크 <source file>에서 이미지의 파일 경로를 수정합니다. 시스템이 시작하면서 SCSI 방식의 하드디스크 sdb로 인식하도록 <target>을 수정합니다.

붙여 넣은 행에서 <address> 행은 삭제해야 합니다. 파일을 저장하고 편집기를 종료합니다.

<devices>
  <emulator>/usr/bin/kvm-spice</emulator>
  <disk type='file' device='disk'>
    <driver name='qemu' type='raw'/>
    <source file='/home/shinjaehun/virtual_machines/virtual_machine.img'/>
    <target dev='vda' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
  </disk>
  <disk type='file' device='disk'>
    <driver name='qemu' type='raw'/>
    <source file='/var/lib/libvirt/images/virtual_machine-1.img'/>
    <target dev='sda' bus='scsi'/>
    <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  </disk>
  <disk type='file' device='disk'>
    <driver name='qemu' type='raw'/>
    <source file='/home/shinjaehun/virtual_machines/virtual_machine-2.img'/>
    <target dev='sdb' bus='scsi'/>
  </disk>
  <disk type='block' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <target dev='hdc' bus='ide'/>
    <readonly/>
    <address type='drive' controller='0' bus='1' target='0' unit='0'/>
  </disk>

다시 virsh edit 명령으로 게스트의 환경 설정을 확인합니다.

shinjaehun@losttemple:~/virtual_machines$ virsh edit virtual_machine

앞에서 <address>를 삭제했는데 자동으로 값이 생성된 것을 확인할 수 있습니다. 하드디스크를 연결하면 시스템이 알아서 하드디스크를 인식하고 제어를 위해 자동으로 주소를 부여하는 원리와 같습니다.

<disk type='file' device='disk'>
   <driver name='qemu' type='raw'/>
  <source file='/home/shinjaehun/virtual_machines/virtual_machine-2.img'/>
  <target dev='sdb' bus='scsi'/>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

libvirt-bin 서비스를 재시작합니다.

shinjaehun@losttemple:~$ sudo service libvirt-bin restart

게스트 virtual_machine을 시작해서 가상 콘솔에 접속해보면 /dev/sdb를 인식한 상태를 확인할 수 있습니다. 파티션을 생성하고 마운트하는 방법은 ‘가상 머신 하드디스크 추가하기’를 참고하면 될 것입니다.

administrator@guest:~$ ls -l /dev/sdb
brw-rw---- 1 root disk 8, 0 10월   25   00:13   /dev/sdb
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.