- 설치용 Disk 인 iso 파일을 이용해 가상 머신을 설치한다
- Template 용 으로는 적절하다
- qcow2 파일 자체가 volume ( 디스크 ) 이며, os가 이미 설치되어 있다
http://mirror.kakao.com/centos/7.9.2009/isos/x86_64/
- 위 링크로 들어가서 위의 하이라이트 된 파일의 링크 주소를 복사하면 된다
- 원격 접속 방법
- CLI 환경 : SSH
- GUI 환경 : vnc, spice
virt-install -n test1 \
--ram 1024 \
--vcpus 1 \
--cdrom /remote/vyos-1.1.8-amd64.iso \
--os-type linux \
--os-variant debian10 \
--network network=default \
--graphics vnc \
--hvm \
--virt-type kvm \
--disk path=/remote/test1.qcow2,size=5 \
--noautoconsole
- 이때, 디스크인 qcow2 파일과 컴퓨팅 영역인 xml 영역이 생긴다. 이 qcow2 파일을 통해 인스턴스를 배포하면 기존의 xml 파일 대신, 인스턴스 배포시 생성한 xml 영역이 qcow2 파일에 붙는다
- 생성된 xml 파일과 qcow2 파일은 따로 저장된다. 따라서 migration 이 가능하다
- virsh list --all : 동작중이거나 중지중인 모든 가상머신의 리스트를 확인할 수 있다
- virsh destroy ~ : 가상 머신을 종료시킨다
- kvm 1 & kvm 2 종료 -> storage 종료
- storage 실행 -> kvm 1 & kvm 2 실행
오늘 생성한 qcow 2 는 기존의 qcow 2 와 같은 파일이다
qcow 2 파일은 표준 포맷이다
이 qcow2 는 볼륨이다. 우리는 생성할때 지정한 cpu와 ram 등의 컴퓨팅 자원은 별도의 xml 파일로 생성되었다. 이 xml 파일과 이 qcow2 파일이 합쳐져야 가상 머신이다
위에서 migrate 를 할때, 이 xml 파일이 다른 kvm 서버에 옮겨져서 가상 머신을 생성한 것 이다. 이는 qcow 2 파일을 NFS 서버를 통해 공유 스토리지에 저장하여 두 서버가 공유하기에, xml 파일이 옮겨지면, 해당 xml 파일의 Disk 위치를 kvm 서버에서 확인하고, 공유 storage 의 qcow 2 파일과 연결하여 가상 머신을 migrate 한 것 이다
그렇다면, qcow 2 파일을 통해 배포한다면, 기존에 설정한 xml 파일을 제거하고, 새 xml 파일을 붙이는 것 인가
- 이 qcow2 파일을 이용해 배포하면, 새 xml 파일이 생성된다. 기존 xml 파일은 삭제되지 않으며, 이를 삭제하려면 undefine 을 해서 삭제해야 한다. virt-install 등을 통해 새 컴퓨팅 자원을 정의하면, 새 xml 파일이 생성되며, disk 의 위치를 이 qcow 2 파일로 지정한다. 이를 통해 인스턴스가 배포된다
그렇다면, 하나의 qcow 2 파일에 대해 다수의 xml 파일이 연결되어 다수의 가상 머신이 하나의 디스크를 공유할 수 있는가?
- 그건 안된다. 이 방식이 허용되면, 다수의 가상 머신이 하나의 디스크를 공유하기 때문에, 한 쪽에서만 점유하도록 해줘야 한다