bhyve 가상 머신을 다른 호스트로 올바르게 마이그레이션하는 방법은 무엇입니까?

bhyve 가상 머신을 다른 호스트로 올바르게 마이그레이션하는 방법은 무엇입니까?

나는 여기에 갇혀 있고 그것에 대한 더 많은 정보를 찾을 수 없습니다.

가상 머신의 스냅샷/백업을 다른 호스트에 복사합니다.

zfs send disk/vmName | pv | ssh hostname "zfs recv diskDest/newVmName"

그리고 뭐? 나는 다음을 사용하여 그것을 만들려고합니다.

vm create newVmName

하지만 데이터세트가 이미 존재한다고 나오므로 그렇지 않은 것 같습니다.

답변1

가장 먼저 해야 할 일은 새 호스트가 실행되도록 구성하는 것입니다 bhyve. 이 내용은 다음과 같습니다FreeBSD 매뉴얼 섹션 22.6.

다음으로 설치를 권장합니다.Matt Churchyard의 vm-bhyve패키지:

# pkg install vm-bhyve

그리고 필요한 구성. 기존 VM을 마이그레이션하기 전에 vm맨페이지의 모든 설정 단계를 완료하여 새 시스템이 올바르게 설정되었는지 확인하세요. 새 호스트가 올바르게 구성되었는지 확인하려면 새 호스트에서 가상 머신을 만들고 테스트하는 것이 좋습니다. 기존 VM을 새 호스트에 올바르게 설정되지 않은 인스턴스로 마이그레이션하려는 bhyve노력이 실망스러울 것이라고 생각합니다. bhyve가상 머신을 마이그레이션하기 전에 새 설치를 철저하게 테스트하여 견고한 기반을 구축하십시오.

또한 전송 중에 가상 머신 이름을 수정하지 마십시오. 새 호스트에서 실행한 후 VM 이름을 바꾸는 것은 vm rename vmName newVmName.

작업 을 완료하고 나면 bhyve이전 vm호스트에서 VM을 중지하고 스냅샷을 만든 다음 해당 스냅샷을 새 호스트로 전송할 수 있습니다. 복잡함을 피하기 위해 파일 시스템의 이름을 유지하고 새 호스트에 파일 시스템을 (아직) 마운트하지 않습니다.

존재하다 oldhost:

# vm stop vmName
# zfs snap disk/vmName@xfer
# zfs send disk/vmName@xfer | pv -Wbfart | \
    ssh newhost "zfs recv -Fuv diskDest/vmName"

에서 newhost새 파일 시스템의 마운트 지점을 이전 호스트와 동일한 기본 이름으로 설정합니다. 따라서 이전 호스트의 VM이 설치되어 있고 새 호스트의 디렉터리 /foobar/vmName로 이동하는 경우 새 VM 파일 시스템을 에 설치해야 합니다 . 마운트 지점이 설정되면 새 파일 시스템을 다음 위치에 마운트할 수 있습니다 ./bhyve//bhyve/vmNamenewhost

# zfs set mountpoint=/bhyve/vmName diskDest/vmName
# zfs mount diskDest/vmName

ZFS의 계층적 특성을 활용하고 diskDest/bhyve마운트를 위한 상위 파일 시스템 /bhyve과 각 VM에 대한 별도의 하위 파일 시스템(예: )을 생성하는 것이 좋습니다 diskDest/bhyve/vmName. 그러나 이는 귀하에게 달려 있습니다.

이 시점에서 마이그레이션된 가상 머신이 출력에 나타나야 하며 이를 시작하고 vm list발생하는 나머지 시작 문제를 해결할 수 있습니다.stderr/bhyve/vmName/vm-bhyve.log

관련 정보