我被困在这里,无法找到有关它的更多信息。
将虚拟机的快照/备份复制到另一台主机:
zfs send disk/vmName | pv | ssh hostname "zfs recv diskDest/newVmName"
然后什么?我尝试用以下方法创建它:
vm create newVmName
但似乎不是这样,因为它说数据集已经存在。
答案1
需要做的第一件事是配置新主机来运行bhyve
。这涵盖了FreeBSD 手册第 22.6 节。
接下来我建议安装马特·丘奇亚德的vm-bhyve
包裹:
# pkg install vm-bhyve
及其必要的配置。在尝试迁移现有 VM 之前,请完成vm
联机帮助页中的所有设置步骤,以确保新计算机设置正确。我建议您甚至在新主机上创建并测试虚拟机,以确保新主机配置正确。我认为您会发现尝试将现有虚拟机迁移到bhyve
新主机上未正确设置的实例是一项令人沮丧的工作。bhyve
在尝试将虚拟机迁移到新安装上之前,请彻底测试新安装,这对您自己有帮助并奠定坚实的基础。
此外,在传输时不要修改虚拟机名称。一旦让它在新主机上运行,重命名虚拟机就像vm rename vmName newVmName
.
一旦您完成bhyve
并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
,将新文件系统的安装点设置为与旧主机上的基本名称相同。因此,如果旧主机的虚拟机安装在/foobar/vmName
,并且您要移动到/bhyve/
新主机上的目录,则新的虚拟机文件系统需要安装在/bhyve/vmName
。一旦设置了挂载点,新的文件系统就可以挂载到newhost
:
# 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