본문 바로가기

KVM

Virt-Manager 에서 backing file 만들기

일단 제목을 어떻게 해야할지 모르겠다.

검색해보니 하나의 의미이지만 쓰이는 단어는 서로 다르다;;

 

이 글의 목적은 VM의 backing file을 만들어 부팅시키는 것이 목적이다.

 

 

[그림1] Guest Image가 Default Image를 qcow2 형식으로 연결.

 

 

qemu-img와 qemu-kvm 명령어로는 backing filed을 만들고 실행할 수 있지만 문제는 virt-manager에서는 방법이 안보인다.

그래서 삽질 후에 정리한다.

 

요약하면

1. Virt-Manager에서 새로운 VM Create로 Default Image(Base Image라고도 불림)를 만든다.

2. qemu-img 명령어로 Guest Image를 만든다.

3. Virt-Manager에서 새로운 VM Create를 만드는데 Image파일은 미리 만든 Guest Image로 연결한다.

4. 부팅해서 Network 설정을 한다. 

 

상세하게 보자.

 

[Default Image 만들기]

1. Virt-manager에서 새로운 VM을 생성한다.

가. Image 파일을 생설할 때 select managed or other existing storage를 체크 후 Borwse... 박스를 클릭한다. 

 

 

나. 새로운 창이 뜨면 아래 New Volume 박스를 클릭하고 새로운 볼륨 이미지를 설정하는 창에서 다음과 같이 설정한다.

a. Format : qcow2

b. Max Capacity : 사용할 용량만큼

 

 

다. 이미지 설정이 완료되면 VM을 부팅하여 기본 OS를 설치한다.

 

2. OS 설치가 끝나면 VM을 종료한다.

 

[Guest Image 만들기]

1. Image 파일이 저장된 위치로 가서 backing file을 만든다.

(VM 설치할 때 만든 Image 위치는 /var/lib/libvirt/images 에 있다.)

# qemu-img create -b [위에서 만든 Default Image 위치] -f qcow2 [새로 만들 Gueset Image 위치]

ex) qemu-img create -b /var/lib/libvirt/images/Guest.img -f qcow2 /storage/images/Guest1.img

 

확인 방법

# qemu-img info /storage/images/Guest1.img

image: /storage/images/Guest1.img

file format: qcow2

virtual size: 40G

disk size: 196K

cluster_size: 65536

backing file: /var/lib/libvirt/images/Guest.img

으로 정보가 뜬다.

 

[Virt-Manager에서 Guest Image로 부팅]

1. VM Create 부분은 비슷하다 다만 나. 부분에서 New Volume이 아니라 Browse Local 박스를 클릭하여 명령어로 만든 Guest Image를 선택하고 다음으로 넘어간다.

 

2. 첫 부팅은 OS가 잡히지 않는다. VM 설정을 바꿔줘야 한다.

VM Info를 들어가면 DIsk정보에서 위치는 Guest Image로 되어있지만 Storage format 형식이 raw 되어있다. 이를 qcow2 로 변경하고 Apply 저장한다.

 

 

 

3. 부팅완료.

 

 

 

4대의 VM이 각각의 Guest Image를 가지고 있고 하나의 Default Image를 backing file로 쓰고 있다.

 

Network 설정은 좀 더 복잡하다.

NAT 일 경우 맨 처음 설정할 때 NIC MacAddress를 가지고 있어서 네트워크가 안되는데

이를 해결하는 방법은 다음 글에서 정리하겠다.

 

p.s : 맨위 그림에서 서로 다른 OS가 하나의 Default Image를 참고하는데 같은 OS가 참고해야된다... 다시 그리기 귀찮아서.. pass..