时间:2023-07-12 19:00:02 | 来源:网站运营
时间:2023-07-12 19:00:02 来源:网站运营
被我发现了,Ubuntu居然藏着一款可跨多个平台的虚拟机管理器Multipass!:Quickemu
的文章,就是介绍快速获取虚拟机镜像,并且快速创建虚拟机系统的这么一个解决方案。Quickemu
是建立在 KVM
之上的,那必须是围着 Linux
系统转啊!Qemu
还要 6.0
版本以上,需要手动编译安装,这 KVM
环境搭建就够费时费力了,荫新们肯定直呼做不到啊!Linux
不行,那我们到 Windows
上想想办法,有可能吗?Multipass
的一款轻量型虚拟机管理器。官网:https://multipass.run/
Multipass
有什么特点?Quickemu
差不多。Quickemu
有更多好处,它可以在 Linux
、 Windows
和 macOS
多个平台上跑。Windows
,嘿嘿,这下有门了!Linux
上它管 KVM
,在 Windows
上它管 Hyper-V
和 VirtualBox
,还有在 macOS
上它管 HyperKit
。Windows
上安装有 Hyper-V
或 VirtualBox
,再通过 Multipass
来管理它们就可以达到我们快速创建和管理虚拟机的目的了。Hyper-V
对于荫新们并不常用,复杂度较高,体积也很庞大,似乎可能还要购买 License 。VirtualBox
就比较亲民一些,免费开源,安装使用起来也很方便,因此接下来我们就以 VirtualBox
为例,为大家介绍 Multipass
的简单用法,以此我们可以类推到其他系统平台上。Windows 10
系统,上面已经安装好了 VirtualBox
。Windows
版的 Multipass
下载下来。下载链接:https://multipass.run/download/windows
Multipass
Multipass
了。Oracle VM VirtualBox
。Multipass
加到哪个路径环境变量 PATH
中,这样做的好处就是你可以在任意路径下调用 Multipass
命令。Multipass
的命令行及图形程序,第二项是通知栏图标菜单,第三项是后台服务。VirtualBox
,那么它会检查并提示我们。Windows
下安装非常的简单啊!Multipass
Multipass
,我们可以在系统通知栏内看到它的图标。About
一项,能看到 Multipass
的版本,以及可以设定是否跟随系统启动而自动登录。multipass
和 multipassd
的区别。d
是指 daemon
,意思是后台服务,当我们需要它以后台服务的形式运行在系统中时就会用到 multipassd
了。Multipass
来加深对它的理解。Open Shell
。PowerShell
窗口,我们就可以在这个窗口中执行 multipass
命令了。Multipass
开发者。PowerShell
窗口。multipass
命令放到了环境变量 PATH
中了,因此打开 PowerShell
后就可以直接输入命令执行。Multipass
的版本号。multipass version
multipass
并且不带任何参数可以查看命令帮助信息。multipass -?, -h, --help
Multipass
是个管理器,它可以提供快速部署虚拟机的镜像,那我们来看看它都有哪些可用的镜像吧。multipass find
输出结果:Image Aliases Version Descriptioncore core16 20200818 Ubuntu Core 16core18 20211124 Ubuntu Core 1818.04 bionic 20220104 Ubuntu 18.04 LTS20.04 focal,lts 20220111 Ubuntu 20.04 LTS21.04 hirsute 20220106 Ubuntu 21.0421.10 impish 20220111 Ubuntu 21.10appliance:adguard-home 20200812 Ubuntu AdGuard Home Applianceappliance:mosquitto 20200812 Ubuntu Mosquitto Applianceappliance:nextcloud 20200812 Ubuntu Nextcloud Applianceappliance:openhab 20200812 Ubuntu openHAB Home Applianceappliance:plexmediaserver 20200812 Ubuntu Plex Media Server Applianceanbox-cloud-appliance latest Anbox Cloud Applianceminikube latest minikube is local Kubernetes
Multipass
提供的都是 Ubuntu
现成的各种版本镜像,因此它能够在数分钟之内快速完成下载并将其实例化。Multipass
将获取当前最新的 LTS
版本镜像。image
和实例 instance
的区分,我简单地科普下哈!Docker
的话,那么对于这些概念甚至是接下来的命令操作可以说是一点也不陌生,简直是一模一样啊!multipass list
我们还没有下载镜像,自然还没有任何实例存在,别着急,一会儿我们就下载一个试试。multipass launch --name <实例名称>
比如,输出一个名为 sysadm
的实例。multipass launch --name sysadm
LTS
版本镜像。launch
命令会先下载镜像,尔后启动运行实例。launch
命令就直接启动实例。Multipass
就会按镜像生成实例,接着便会启动这个实例。Hyper-V
功能。VirtualBox
,为啥会提示 Hyper-V
呢?Multipass
去找 VirtualBox
而不是 Hyper-V
。multipass set local.driver-virtualbox
Multipass
启动 VirtualBox
了。BIOS
里开启虚拟化功能哦!launch
命令已经将镜像下载下来并成功启动了实例,那我们就可以来看看它的状态。multipass list
这次终于看到了,镜像是 Ubuntu 20.04 LTS
,实例名是 sysadm
,当前正在运行中。info
参数加上实例名称。multipass info <实例名称>
比如,查看实例名为 sysadm
的信息。multipass info sysadm
exec
参数。# 执行不带参数的命令multipass exec <实例名称> <command>例:multipass exec vm01 pwd# 执行带参数的命令multipass exec <实例名称> -- <command> <arguments>例:multipass exec vm01 -- uname -a
launch
参数实际上还有更具体的用法,大概有以下几种附加选项参数 [options]
可以用来指定虚拟机配置。multipass launch [options]-n, --name: 名称-c, --cpus: cpu核心数, 默认: 1-m, --mem: 内存大小, 默认: 1G-d, --disk: 硬盘大小, 默认: 5G
multipass launch --name <实例名称> --cpus 1 --mem 1G --disk 10G
参数简写也可以是这样。multipass launch -n <实例名称> -c 1 -m 1G -d 10G
<image>
参数。multipass launch [options] <image>
比如,下载并启动镜像为 Ubuntu 21.10
的实例,并命名为 sysadm
。multipass launch -n sysadm "21.10"
# 启动实例multipass start <实例名称># 停止实例multipass stop <实例名称># 删除实例(删除后,还会存在)multipass delete <实例名称># 释放实例(彻底删除)multipass purge <实例名称>
Multipass
还能通过 --cloud-init
参数来进行实例启动初始化配置。multipass launch -n <实例名称> --cloud-init cloud-config.yaml
其中 yaml
配置文件必须以 #clound-config
开头,后面再写入相应的命令。https://cloudinit.readthedocs.io/en/latest/topics/examples.html
https://multipass.run/docs/
Multipass
的用法就和 Docker
容器非常接近,因此熟悉 Docker
那一套的小伙伴肯定能快速上手。Multipass
的特点就是通过镜像快速部署虚拟机,即使你对于虚拟机的搭建配置了如指掌,也能很大程序上减轻你的负担,将更多的时间和精力用于做其他更有意义的事情。Multipass
由 Canonical
公司开发,虽说是款非常不错的管理器软件,但同时它提供的镜像也仅限于 Ubuntu
,这是它的一个不大不小的局限。Ubuntu
并将其用于测试的重度用户的话,那 Multipass
可就派上大用场了。Linux
,那么只能说有些遗憾了,也不知道 Multipass
将来会不会考虑将其他一些同样优秀的 Linux
发行版也纳入其中。Multipass
的分享就到这里吧,希望你有所收获,我们下期再见啦!关键词:平台,虚拟,管理