Multipass中文文档-设置驱动

Multipass中文文档-设置驱动设置驱动

总目录(待翻译完完善)

1. 概览

2. 教程

3. 使用指引

   3.1 安装Multipass

     3.1.1 基于Linux
     3.1.2 基于macOS
     3.1.3 基于Windows

   3.2 管理实例

     3.2.1 创建实例
     3.2.2 修改实例
     3.2.3 使用实例
     3.2.4 使用实例命令别名
     3.2.5 与实例共享数据
     3.2.6 移除实例

   3.3 管理Multipass

     3.3.1 设置驱动
     3.3.2 使用Multipass服务授权代理
     3.3.3 远程使用Multipass
     3.3.4 提高挂载性能
     3.3.5 使用Packer打包Multipass镜像
     3.3.6 设置图像界面
     3.3.7 使用不同的macOS终端

   3.4 问题排查

     3.4.1 连接日志
     3.4.2 网络问题排查

如何设置驱动

也见: Driver

这篇文档教授了如何选取, 设置并管理Multipass后台的驱动. Multipass已经有比较灵活的默认设置了, 所以这只是一个可选步骤.

内容:

Linux: 使用libvirt

Multipass在Linux上默认使用qemu驱动. 如果在VM启动后, 你想要更多的控制权, 你也可以使用试验阶段的libvirt驱动. 该部分会教你如何使用.

安装libvirt

执行下面命令安装libvirt:

# 需要根据你的发行版使用同等命令 $ sudo apt install libvirt-daemon-system 

切换Multipass驱动到libvirt

也见: stop, local.driver

首先, 允许Multipass使用本地libvirt:

# 连接到libvirt接口/插件 $ snap connect multipass:libvirt 

然后, 切换Multipass驱动到libvirt,运行:

# 首先你得停止所有实例 $ multipass stop --all # 然后让Multipass使用libvirt $ sudo multipass set local.driver=libvirt 

你所有的实例都会被迁移并且可以直接使用.

ℹ️ 你仍然可以使用multipass代理和托盘图表(tray icon), 并且任何你在libvirt所作的配置修改都是永久性的. 尽管他们并不会在Multipass命令(例如multipas info)中显示

使用libvirt查看Multipass实例

你可以通过2种方式用libvirt查看实例, 使用virshCLI或者是virt-manager GUI

使用virshCLI, 需要启动实例, 然后执行virsh list(命令参考见man virsh):

$ virsh list ID Name State ------------------------------- 1 unaffected-gyrfalcon running 

另一可选方案, 使用virt manager GUI,…
在这里插入图片描述

切回默认驱动

也见: stop, local.driver

执行下面命令切回默认的qemu驱动:

# 再次停止所有实例 $ multipass stop --all # 切回qemu驱动 $ sudo multipass set local.driver=qemu 

这里也是, 现存实例都会被迁移.

ℹ️ 这会让你丢失你在libvirt上所作的任何定制改动.

macOS: 使用VirtualBox

Multipass在Intel macOS上默认使用hyperkit驱动, M1 macOS默认使用qemu驱动. 然而, 一个可选项是使用VirtualBox.

切换Multipass驱动到VirtualBox (macOS)

也见: stop, local.driver

执行下面命令切换Multipass驱动到VirtualBox:

$ sudo multipass set local.driver=virtualbox 

此后, 所有使用multipass launch启动的实例都会在后台使用VirtualBox.

使用VirtualBox查看Multipass实例

Multipass会以root身份运行, 所以如果需要查看VirtualBox中的实例, 或者通过VBoxManage命令, 你也需要让他们以root身份运行. 运行下面命令查看VirtualBox中的实例:

$ sudo VirtualBox 

在这里插入图片描述

并且, 需要在命令行列出实例的话, 执行:

$ sudo VBoxManage list vms "primary" { 
            395d5300-557d-4640-a43a-48100b10e098} 

ℹ️ 你仍然可以使用multipass代理和系统菜单图表(system menu icon), 并且任何你在VirtualBox所作的配置修改都是永久性的. 尽管他们并不会在Multipass命令(例如multipas info)中显示

使用VirtualBox设置Multipass实例端口转发

为了让你主机上实例中运行的服务暴露出来, 你可以使用VirtualBox的端口转发规则, 例如:

$ sudo VBoxManage controlvm "primary" natpf1 "myservice,tcp,,8080,,8081" 

然后你可以打开,例如, [http://localhost:8081]/(http://localhost:8081), 在实例中端口8080运行的服务就会暴露出来.

使用VirtualBox设置Multipass实例网络桥接

一个经常被关注的Multipass点就是网络桥接. 你可以给实例添加第二个网络接口, 并将其暴露在你的物理网络中.

首先, 停止实例:

$ multipass stop primary 

现在找到你想要桥接的网络接口(在第二个冒号后面找你想要的字符标识):

$ VBoxManage list bridgedifs | grep ^Name Name: en0: Ethernet Name: en1: Wi-Fi (AirPort) Name: en2: Thunderbolt 1 Name: en3: Thunderbolt 2 ... 

最后, 让VirtualBox将第二个接口作为”父级”使用(更多关于桥接的信息参见 VirtualBox主题文档:

# 别碰 --nic1, 因为Multipass正在使用它 $ sudo VBoxManage modifyvm primary --nic2 bridged --bridgeadapter2 en0 

你可以再次重启实例, 找到新接口的名称:

$ multipass start primary $ multipass exec primary ip link | grep DOWN 3: enp0s8: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 

并配置新接口 – Ubuntu使用netplan处理:

$ multipass exec -- primary sudo bash -c "cat > /etc/netplan/60-bridge-yaml" <<EOF network: ehernets: enp0s8: # 这就是上面的接口名称 dhcp4: true dhcp4-overrides: # 这是必须的 route-metric: 200 # 默认网关给第一个接口保留 version: 2 EOF $ multipass exec primary sudo netplan apply 

最后, 找到鹿由给你的实例IP:

$ multipas exec primary ip address show dev enp0s8 up 3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:2a:5f:55 brd ff:ff:ff:ff:ff:ff inet 10.2.0.39/24 brd 10.2.0.255 scope global dynamic enp0s8 valid_lft 86119sec preferred_lft 86119sec inet6 fe80::a00:27ff:fe2a:5f55/64 scope link valid_lft forever preferred_lft forever 

所有实例中的任务现在应该都可以通过物理网络路径 http://

/使用

切回默认驱动

也见: stop, local.driver

如果你想切回默认驱动,运行:

$ sudo multipass set local.driver=hyperkit 

使用VirtualBox创建的实例无法转移, 但是你随时可以回来找到他们.

Windows: use VirtualBox

Multipass在Windows上默认使用hyperv驱动. 然而, 如果你想(或必须), 你可以将Multipass使用的虚拟机监视器(hypervisor)换为VirtualBox.

Install VirtualBox

如果你还没安装, 就先安装VirtualBox. 你会发现你需要以管理员身份运行VirtualBox安装包.

切换Multipass驱动到VirtualBox

也见: stop, local.driver

你可以让Multipass使用它(也需要管理员权限):

PS> multipass set local.driver=virtualbox 

此后, 所有multipass launch启动的实例在后台都会使用VirtualBox.

使用VirtualBox查看Multipass实例

Multipass会以系统身份运行, 所以如果需要查看VirtualBox中的实例, 或者通过VBoxManage命令, 你必须通过PsExec -s运行. 下载并解压下载文件夹的PSTools.zip, 然后在管理员权限的PowerShell, 运行:

PS> & $env:USERPROFILE\Downloads\PSTools\PsExec.exe -s -i $env:VBOX_MSI_INSTALL_PATH\VirtualBox.exe 

在这里插入图片描述

在命令行列出实例:

PS> & $env:USERPROFILE\Downloads\PSTools\PsExec.exe -s $env:VBOX_MSI_INSTALL_PATH\VBoxManage.exe list vms "primary" { 
                   05a04fa0-8caf-4c35-9d21-ceddfe031e6f} 

ℹ️ 你仍然可以使用multipass代理和系统菜单图表(system menu icon), 并且任何你在VirtualBox所作的配置修改都是永久性的. 尽管他们并不会在Multipass命令(例如multipas info)中显示

使用VirtualBox设置Multipass实例端口转发

为了让你主机上实例中运行的服务暴露出来, 你可以使用VirtualBox的端口转发规则, 例如:

PS> & $env:USERPROFILE\Downloads\PSTools\PsExec.exe -s $env:VBOX_MSI_INSTALL_PATH\VBoxManage.exe controlvm "primary" natpf1 "myservice,tcp,,8080,,8081" 

然后你可以打开,例如, [http://localhost:8081]/(http://localhost:8081), 在实例中端口8080运行的服务就会暴露出来.

切回默认驱动

也见: stop, local.driver

也见: stop, local.driver

如果你想切回默认驱动:

PS> multipass set local.driver=hyperkit 

使用VirtualBox创建的实例无法转移, 但是你随时可以回来找到他们.


原文链接

How to set up the driver




































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225634.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:52
下一篇 2026年3月17日 上午8:53


相关推荐

  • WIFI 2.4G及5G信道一览表

    WIFI 2.4G及5G信道一览表目前主流的无线WIFI网络设备802.11a/b/g/n/ac:传统802.11•1997年发布•两个原始数据率:1Mbps和2Mbps•跳频展频(FHSS)或直接序列展布频谱(DSSS)•三个不重叠的信道中,工业、科学、医学(ISM)频段频率为2.4GHz•最初定义的载波侦听多点接入/避免冲撞(CSMA-CA)802.11a•1999年发布•…

    2022年6月7日
    157
  • python删除文件中指定内容

    python删除文件中指定内容lines=[lforlinopen("file.txt","r")ifl.find("20150723",0,8)!=0]fd=open("file.txt","w")fd.writelines(lines)fd.close()开头是20150723的行删除

    2022年5月29日
    41
  • pycharm和python idle区别_python新手入门使用自带的IDLE、用pycharm还是visual studio ?…[通俗易懂]

    pycharm和python idle区别_python新手入门使用自带的IDLE、用pycharm还是visual studio ?…[通俗易懂]绝对是VisualStudioCode不信?看图呗输入关键字立马知道用法导入库时有库名提示使用函数的时候有参数提示各种快捷键让你如虎添翼主题随心换更有丰富的扩展以文件夹为单位的项目管理时间线让你清楚地了解代码的变动结合git工具完美地进行项目管理你说,我不用VisualStudioCode用谁呢?什么?你说Pycharm?Pycharm有我VisualStudioCode好看吗?什么…

    2022年8月26日
    7
  • 【pycharm】python代码块整体缩进,整体取消缩进

    【pycharm】python代码块整体缩进,整体取消缩进pycharm编辑器的缩进和取消缩进快捷键:整体缩进:tab整体取消缩进:shift+tabpython自带编辑器的缩进和取消缩进快捷键:整体缩进Ctrl+【整体取消缩进Ctrl+】…

    2022年8月28日
    4
  • Js类型转换之相等运算符[初级]「建议收藏」

    Js类型转换之相等运算符[初级]「建议收藏」Js类型转换之相等运算符[初级]

    2022年4月21日
    81
  • c语言中void delay0.5(),c语言 延时函数

    c语言中void delay0.5(),c语言 延时函数参考了 51 单片机 KeilC 延时程序的简单研究 自己也亲身测试和计算了一些已有的延时函数 这里假定单片机是时钟频率为 12MHz 则一个机器周期为 1us 参考了 51 单片机 KeilC 延时程序的简单研究后 我们可知道 在 KeilC 中获得最为准确的延时函数将是 voiddelay unsignedchar while t 反汇编代码如下 执行 DJNZ 指令需要 2 个机器周期 RET 指

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号