vm-bhyve를 사용하여 이미지를 만드는 방법은 무엇입니까?

vm-bhyve를 사용하여 이미지를 만드는 방법은 무엇입니까?

~에 따르면문서전달한 명명된 가상 머신을 기반으로 새 이미지를 생성합니다. 다음과 같아야 합니다.

vm image create -u VMNAME

명령을 실행한 후 root다음 오류가 발생합니다.

vm: ERROR: failed to create snapshot of source dataset root/vm/VMNAME@gdee65d

정보나 유사한 문제를 찾지 못했습니다.

업데이트: 여기서 목표는 실행 중인 가상 머신의 이미지/iso 파일을 생성하여 클라우드로 마이그레이션하는 것입니다. 클라우드는 사용자 정의 iso 파일만 허용합니다.

답변1

vm image먼저, 명령을 사용하려면 ZFS가 필요합니다 .가상머신(8)

이러한 명령은 ZFS 기능을 사용하여 이미지를 압축/압축해제하므로 ZFS 데이터세트를 저장 위치로 사용하는 경우에만 사용할 수 있습니다.

vm-bhyve스크립트의 다음 줄로 인해 오류가 발생합니다 .

https://github.com/chuchers/vm-bhyve/blob/master/lib/vm-zfs#L365

# try to snapshot
zfs snapshot -r "${VM_DS_ZFS_DATASET}/${_name}@${_snap}" >/dev/null 2>&1
[ $? -eq 0 ] || util::err "failed to create snapshot of source dataset ${VM_DS_ZFS_DATASET}/${_name}@${_snap}"

root/vm/이미지에서 ZFS 스냅샷을 생성하려고 시도하지만 해당 이름의 데이터 세트 가 없는 것 같습니다 .

ZFS 데이터세트를 정의합니다 /etc/rc.conf.

sysrc vm_dir="YOUR_ZFS_DATASET/vm"

실행 중인 가상 머신의 이미지/iso 파일을 생성하는 방법은 무엇입니까?

다음을 사용하여 zfs를 원시 파일로 변환할 수 있습니다.

dd if=/dev/zvol/zvol_name of=/mnt/tank/path/file.img

그런 다음 qemu-utils를 사용하여 원하는 모든 유형의 가상 머신 디스크 파일로 변환하세요! 예를 들어 vmdk:

qemu-img convert -O vmdk <vmname>.raw <vmname>.vmdk

관련 정보