XCP-ng 에서 가상 디스크(VDI) 를 씬으로 만들지 씩으로 만들지는 VDI 생성 옵션이 아니라 저장소(SR) 종류가 정한다. 같은 명령을 써도 SR 이 다르면 결과가 다르다.
| SR 종류 | 방식 | 성격 |
|---|---|---|
| LVM (로컬 디스크, LVM-over-iSCSI, LVM-over-HBA) | 씩 | 논리 볼륨을 전체 크기로 미리 잡는다. 스냅숏을 뜨면 그 지점부터 델타가 쌓인다 |
| EXT (로컬 ext3/ext4), NFS | 씬 | VHD 파일이 쓴 만큼 커진다 |
| 파일 기반 공유 스토리지 | 씬 | 뒷단 스토리지의 씬 프로비저닝 정책을 함께 본다 |
즉 씩으로 쓰고 싶으면 LVM 계열 SR 을 만들고, 씬으로 쓰고 싶으면 EXT 나 NFS SR 을 쓴다.
xe sr-list
xe sr-list name-label="Local storage" params=uuid,type
xe vdi-create name-label=<이름> sr-uuid=<SR-UUID> virtual-size=10GiB type=user
xe vbd-create vm-uuid=<VM-UUID> vdi-uuid=<VDI-UUID> device=<번호>
실제로 얼마나 잡혔는지는 physical-utilisation 과 virtual-size 를 비교해 확인한다. 씩이면 두 값이 거의 같다.
xe vdi-list sr-uuid=<SR-UUID> params=name-label,virtual-size,physical-utilisation
XenServer 계열의 내보내기 형식이다. 가장 손실이 적다.
xe vm-import filename=/path/to/vm.xva
xe vm-import filename=/path/to/vm.xva sr-uuid=<SR-UUID>
xe vm-list name-label=<VM 이름>
sr-uuid 를 주면 그 SR 에 들어가므로, LVM SR 을 지정하면 씩으로 들어온다.
VMware 에서 내보낸 형식은 xe 가 직접 받지 못한다. Xen Orchestra 의 가져오기 기능을 쓰거나 미리 변환한다.
Xen Orchestra 는 VMDK·VHD 가져오기도 지원한다. 부팅 모드(BIOS·UEFI) 와 디스크 컨트롤러가 원본과 달라지면 게스트가 부팅하지 않으므로, 가져온 뒤 VM 파라미터를 확인한다.
The VM could not be imported; the end of the file was reached prematurely
XVA 파일이 온전하지 않다는 뜻이다. 대부분 전송 중 끊겼거나 내보내기가 완료되기 전에 중단된 것이다.
확인 순서다.
ls -l vm.xva
sha256sum vm.xva
tar -tvf vm.xva | tail
rsync -avP <원본호스트>:/path/vm.xva ./
xe vm-export vm=<VM 이름> filename=/path/vm.xva
/ 에도 임시 공간을 쓴다. / 가 가득 차 있으면 같은 메시지를 볼 수 있다.df -h /
xe sr-list params=name-label,physical-size,physical-utilisation
진행 로그는 아래에서 본다.
tail -f /var/log/xensource.log