默认的数据存储路径

默认情况下,multipass 的数据存储路径在 /var/snap/multipass/common/data/multipassd/var/snap/multipass/common/cache/multipassd

自定义数据存储路径

官方文档:点击这里查看如何修改 multipass 数据存储目录?

1.先停止 multipass 服务:

1
2
3
leazhi@ubuntu2310:$ sudo snap stop multipass
2024-01-04T07:35:03+08:00 INFO Waiting for "snap.multipass.multipassd.service" to stop.
已停止。

2.根据官方文档说明,新存储目录所在的位置需要位于其中一个或其中一个可移动挂载点中:/home ,所以我们需要执行如下操作:

1
2
sudo snap connect multipass:removable-media # for /mnt or /media
sudo snap connect multipass:all-home # for /home/*

3.创建新的数据存储目录, 同时,赋予新建目录所属主为 root:

1
2
sudo mkdir -p /data/multipass
sudo chown root /data/multipass

4.在 /etc/systemd/system/ 目录下创建 snap.multipass.multipassd.service.d 目录,目的时为了在该目录下创建 multipass 数据存储的配置文件

1
sudo mkdir /etc/systemd/system/snap.multipass.multipassd.service.d

5.在上面创建的目录中创建配置文件 override.conf ,内容为:

1
2
3
4
sudo tee /etc/systemd/system/snap.multipass.multipassd.service.d/override.conf <<EOF
[Service]
Environment=MULTIPASS_STORAGE=/data/multipass
EOF

6.执行命令 systemctl daemon-reload 加载下配置:

1
sudo systemctl daemon-reload

7.将 multipass 初始数据复制到新创建的数据存储目录中:

1
2
sudo cp -r /var/snap/multipass/common/data/multipassd /data/multipass/data
sudo cp -r /var/snap/multipass/common/cache/multipassd /data/multipass/cache

8.为了后面重启 multipass 服务后数据有存储在新创建的目录中,我们这里再次将原始数据目录重命名,如下:

1
2
sudo mv /var/snap/multipass/common/data/multipassd{,.bak}
sudo mv /var/snap/multipass/common/cache/multipassd{,.bak}

9.接下来,就可以启动 multipass 服务了:

1
2
leazhi@ubuntu2310:$ sudo snap start multipass.multipassd 
Started.