从 Multipass 导入/导出虚拟机

从 Multipass 导入/导出虚拟机

我假设有一种方法(但可能没有?)可以从 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 系统和 YA​​ML cloud-config 文件,它允许通过创建机器时传递的文件来安装必须安装的程序和复制的配置。

相关内容