我假设有一种方法(但可能没有?)可以从 multipass 导入/导出虚拟机。我怎么也找不到这方面的文档。基本上,我打算全新安装 19.10,我想在 multipass 中备份我的几个虚拟机以将它们转移。有什么想法吗?
答案1
目前,我们没有“简单”的方法来导出和导入 Multipass 实例。但这只是数据,所以应该可以手动完成:)
如果您希望一切恢复原状,我只需保存整个/var/snap/multipass/common/data/multipassd/
,然后在完成 19.10 的全新安装并安装 Multipass snap 后,将其复制回同一位置并执行snap restart multipass
守护进程即可获取更改。
如果您想要挑选,那将会更困难一些,因为您需要有选择地挑选实例/var/snap/multipass/common/data/multipassd/vault/instances
,然后相应/var/snap/multipass/common/data/multipassd/vault/multipassd-instance-image-records.json
地进行修改/var/snap/multipass/common/data/multipassd/multipassd-vm-instances.json
。
我希望这个帮助能祝你好运!
答案2
基于瑞安评论,以下是备份和恢复多通道和实例的完整过程使用快照,此方法只有一个要求:恢复快照的服务器必须与生成快照的服务器具有相同的用户名。
停止所有实例以生成备份
multipass stop --all
生成多通道快照
sudo snap save multipass
# Set Snap Age Version Rev Size Notes
# 3 multipass 1m33s 1.12.1 10053 2.05GB
将多通道快照导出为 .zip
sudo snap export-snapshot <set> <filename>.zip
# sudo snap export-snapshot 3 multipass-snapshot.zip
# Exported snapshot #3 into "multipass-snapshot.zip"
multipass-snapshot.zip
从旧服务器转移到新服务器
# using scp or an alternative
在新服务器中导入多通道快照
sudo snap import-snapshot multipass-snapshot.zip
# Imported snapshot as #1
# Set Snap Age Version Rev Size Notes
# 1 multipass 8m53s 1.12.1 10053 2.05GB -
恢复
sudo snap restore 1
# Restored snapshot #1.
查看
multipass list
# Name State IPv4 Image
# deserving-hornet Stopped -- Ubuntu 22.04 LTS
# titillated-pinniped Stopped -- Ubuntu 22.04 LTS
答案3
使用快照是个不错的解决方案。我不知道我是否正确,但多通道虚拟机并非旨在克隆或导出为 Virtualbox 映像,因为它们是为在云中而不是在桌面中运行而创建的。获得类似映像的正确方法是通过 cloud-init 系统和 YAML cloud-config 文件,它允许通过创建机器时传递的文件来安装必须安装的程序和复制的配置。