总目录
1. 概览
2. 教程
3. 使用指引
3.1 安装Multipass - 基于Linux / 基于macOS / 基于Windows
3.2 管理实例 - 创建实例 / 修改实例 / 使用实例 / 使用实例命令别名 / 与实例共享数据 / 移除实例
3.3 管理Multipass - 设置驱动 / 使用Multipass服务授权代理 / 远程使用Multipass 👈 / 提高挂载性能 / 使用Packer打包Multipass镜像 / 设置图像界面 / 使用不同的macOS终端 / 配置Multipass外部储存位置
3.4 问题排查 - 连接日志 / 网络问题处理
如何远程使用Multipass
这篇文档教学了如何远程使用Multipass. 这可能会很有用, 例如, 如果你想将你的VM运行在更强大的机器上.
内容:
将Multipass暴露于网络
开启进程的时候, 传递--address
进去, 将Multipass暴露于你的网络之中:
$ multipass --help
#...
--address <server_name:port> specifies which address to
use for the multipassd
service; a socket can be
specified using
unix:<socket_file>
客户端可以接收MULTIPASS_SERVER_ADDRESS
环境变量, 以覆盖默认:
https://github.com/canonical/multipass/blob/a1ea65fb63184fc778e277d3c9e2920ef2a9fb3d/src/client/common/client_common.cpp#L171-L173
$ MULTIPASS_SERVER_ADDRESS=<hostname>:51001 multipass find
Image Aliases Version Description
...
21.10 impish 20220118 Ubuntu 21.10
⚠️ 警告:
- 因为挂在是使用有权限用户运行的, 比较建议使用Multipass 1.9.0, 用client authentication(客户端授权), 因此你需要明确允许客户端使用共享口令短语连接. 另一个可选方案是, 通过
multipass set local.privileged-mounts=false
一起取消挂载特性. - 一些命令(
shell
,exec
,mount
)如今依赖于客户端与实例之间的网络直连, 要让这些可用, 你需要确保他们之间的路由可用.
修改进程设置
Linux
你可执行systemctl edit snap.multipass.multipassd.service
, 在下面几行替换一下内容(将<hostname>
替换为你需要监听的hostname<主机名>或IP):
[Service]
ExecStart=
ExecStart=/usr/bin/snap run multipass.multipassd --address <hostname>:51005
然后重启服务:
$ snap stop multipass
$ snap start multipass
macOS
在macOS上你需要将其添加到服务名称(service definition)(同样的, 替换<hostname>
)并且重启:
$ sudo /usr/libexec/PlistBuddy \
-c "Add :ProgramArguments: string --address" \
-c "Add :ProgramArguments: string <hostname>:51001" \
/Library/LaunchDaemons/com.canonical.multipassd.plist
$ sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist
$ sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist
特别注意: 重装 / 升级会覆盖这些修改
Windows
在Windows上, 你需要需要/重新创建服务名称(service definition), 并且这不仅仅是试试而已(如果你要做, 记得传递/svc
作为第一参数给到multipassd.exe
二进制文件, 我们当时使用本地服务
<LocalService>账户)…
作为一个一次性事件,在停止服务之后, 你可以在服务窗口使用开始参数(Start parameters)字段:
告诉我们这些对你效果如何, 后面你想看什么