網(wǎng)管小賈 / sysadm.cc隨著電腦性能的飛速提升,虛擬機(jī)軟件也早已成為了我們平日生產(chǎn)測試系統(tǒng)經(jīng)常用到的高頻軟件。

但是除了虛擬機(jī)環(huán)境的搭建之外," />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運(yùn)營 > 被我發(fā)現(xiàn)了,Ubuntu居然藏著一款可跨多個平臺的虛擬機(jī)管理器Multipass!

被我發(fā)現(xiàn)了,Ubuntu居然藏著一款可跨多個平臺的虛擬機(jī)管理器Multipass!

時間:2023-07-12 19:00:02 | 來源:網(wǎng)站運(yùn)營

時間:2023-07-12 19:00:02 來源:網(wǎng)站運(yùn)營

被我發(fā)現(xiàn)了,Ubuntu居然藏著一款可跨多個平臺的虛擬機(jī)管理器Multipass?。?br>
網(wǎng)管小賈 / sysadm.cc
隨著電腦性能的飛速提升,虛擬機(jī)軟件也早已成為了我們平日生產(chǎn)測試系統(tǒng)經(jīng)常用到的高頻軟件。

但是除了虛擬機(jī)環(huán)境的搭建之外,虛擬客戶機(jī)的創(chuàng)建和配置的復(fù)雜性和繁瑣性也是一直以來打擊著萌新們的幼小心靈。

畢竟熟練掌握客戶機(jī)的創(chuàng)建和配置是需要投入時間和精力學(xué)習(xí)的,而我們又可能沒有太多的時間去搞定各種各樣的不同場景,有沒有可以快速創(chuàng)建客戶機(jī)、快速展開我們所希望的測試工作呢?

世上無難事,只怕有心人,你別說,還真有!




不知道小伙伴們還記不記得以前我給大家分享的一篇關(guān)于 Quickemu 的文章,就是介紹快速獲取虛擬機(jī)鏡像,并且快速創(chuàng)建虛擬機(jī)系統(tǒng)的這么一個解決方案。

不過嘛,Quickemu 是建立在 KVM 之上的,那必須是圍著 Linux 系統(tǒng)轉(zhuǎn)??!

而且好像 Qemu 還要 6.0 版本以上,需要手動編譯安裝,這 KVM 環(huán)境搭建就夠費(fèi)時費(fèi)力了,蔭新們肯定直呼做不到??!

嘿嘿,別著急!

Linux 不行,那我們到 Windows 上想想辦法,有可能嗎?

當(dāng)然有可能了,要不我在這兒廢什么話呢,哈哈!




今天要給大家介紹的,就是名為 Multipass 的一款輕量型虛擬機(jī)管理器。

官網(wǎng):https://multipass.run/



這個 Multipass 有什么特點(diǎn)?

你瞧它的頭銜,我們把修飾的定語給它拿掉,就剩下“虛擬機(jī)管理器”這幾個字。

哈,瞬間明白了,它其實(shí)只是個管理器,并不是虛擬軟件,其本質(zhì)上和 Quickemu 差不多。

但是它比 Quickemu 有更多好處,它可以在 Linux 、 WindowsmacOS 多個平臺上跑。




哎,小伙伴們一看有 Windows ,嘿嘿,這下有門了!

沒錯哈,需要進(jìn)一步說明的是,它在不同平臺上跑的時候啊,它管理的虛擬軟件還不一樣。

剛才說了嘛,它是個管理器,并不是虛擬軟件本身。

那它在不同平臺上都是怎么管的呢?




很簡單,在 Linux 上它管 KVM ,在 Windows 上它管 Hyper-VVirtualBox ,還有在 macOS 上它管 HyperKit 。

管得還真不少,但仔細(xì)一看你也能明白,在哪個不同平臺就管理哪個不同的虛擬軟件,都是與平臺相對應(yīng)的。

那么我們就很清楚了,只要我們在 Windows 上安裝有 Hyper-VVirtualBox ,再通過 Multipass 來管理它們就可以達(dá)到我們快速創(chuàng)建和管理虛擬機(jī)的目的了。




然而 Hyper-V 對于蔭新們并不常用,復(fù)雜度較高,體積也很龐大,似乎可能還要購買 License 。

而相對之下,VirtualBox 就比較親民一些,免費(fèi)開源,安裝使用起來也很方便,因此接下來我們就以 VirtualBox 為例,為大家介紹 Multipass 的簡單用法,以此我們可以類推到其他系統(tǒng)平臺上。




準(zhǔn)備工作

假定我們已經(jīng)擁有了一臺 Windows 10 系統(tǒng),上面已經(jīng)安裝好了 VirtualBox 。

我們到官網(wǎng)將 Windows 版的 Multipass 下載下來。

下載鏈接:https://multipass.run/download/windows



安裝 Multipass

下載完成之后我們就可以開始安裝 Multipass 了。




接受許可,繼續(xù)。




選擇虛擬引擎,這里有兩個選擇,前面我們說過了,在這兒選擇 Oracle VM VirtualBox 。




選擇將 Multipass 加到哪個路徑環(huán)境變量 PATH 中,這樣做的好處就是你可以在任意路徑下調(diào)用 Multipass 命令。

在這兒我們選擇針對所有用戶都有效。




指定安裝目錄,默認(rèn)就可以了。




選擇需要安裝的組件,應(yīng)該都選上,反正也占不了多大地方哈。

第一項(xiàng)是 Multipass 的命令行及圖形程序,第二項(xiàng)是通知欄圖標(biāo)菜單,第三項(xiàng)是后臺服務(wù)。




安裝程序開始解壓縮并拷貝文件。




如果你還沒有安裝 VirtualBox ,那么它會檢查并提示我們。




最后完成安裝,Windows 下安裝非常的簡單?。?br>



使用 Multipass

打開 Multipass ,我們可以在系統(tǒng)通知欄內(nèi)看到它的圖標(biāo)。




用鼠標(biāo)右鍵點(diǎn)擊圖標(biāo),在彈出的菜單中只有寥寥幾個選項(xiàng)。

我們先看看關(guān)于 About 一項(xiàng),能看到 Multipass 的版本,以及可以設(shè)定是否跟隨系統(tǒng)啟動而自動登錄。




這里簡單解釋一下 multipassmultipassd 的區(qū)別。

后面多了一個 d 是指 daemon ,意思是后臺服務(wù),當(dāng)我們需要它以后臺服務(wù)的形式運(yùn)行在系統(tǒng)中時就會用到 multipassd 了。




接下來我們嘗試簡單地運(yùn)用一下 Multipass 來加深對它的理解。

右鍵點(diǎn)擊圖標(biāo),選擇 Open Shell 。




之后會打開一個 PowerShell 窗口,我們就可以在這個窗口中執(zhí)行 multipass 命令了。

不過有時也可能會出現(xiàn)如下圖那樣的提示,詢問用戶是否可以發(fā)送匿名數(shù)據(jù)來幫助 Multipass 開發(fā)者。




說實(shí)話,我等小白還是不要摻和大神們的事了吧,我選擇直接關(guān)閉了窗口,哈哈!

對于我來說,比較通常的做法就是自己打開一個 PowerShell 窗口。

由于之前我們已經(jīng)將 multipass 命令放到了環(huán)境變量 PATH 中了,因此打開 PowerShell 后就可以直接輸入命令執(zhí)行。




我們嘗試輸出當(dāng)前 Multipass 的版本號。

multipass version


直接輸入 multipass 并且不帶任何參數(shù)可以查看命令幫助信息。

multipass -?, -h, --help


我們在前面曾說過,Multipass 是個管理器,它可以提供快速部署虛擬機(jī)的鏡像,那我們來看看它都有哪些可用的鏡像吧。

輸入以下命令,查看當(dāng)前提供的鏡像列表。

multipass find輸出結(jié)果:

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 現(xiàn)成的各種版本鏡像,因此它能夠在數(shù)分鐘之內(nèi)快速完成下載并將其實(shí)例化。

如果不刻意指定具體哪個版本鏡像的話,默認(rèn)情況下 Multipass 將獲取當(dāng)前最新的 LTS 版本鏡像。




關(guān)于鏡像 image 和實(shí)例 instance 的區(qū)分,我簡單地科普下哈!

我們可以簡單地理解為,鏡像是一種模板,作為參照物用來生成實(shí)例,模板的內(nèi)容固定我們不能修改變動它。

而實(shí)例則是我們實(shí)際操作的對象,它以鏡像為模板生成實(shí)例,一個或多個實(shí)例由一個鏡像生成,然后我們對實(shí)例進(jìn)行修改操作。

實(shí)際上如果小伙伴們學(xué)過 Docker 的話,那么對于這些概念甚至是接下來的命令操作可以說是一點(diǎn)也不陌生,簡直是一模一樣啊!




好了,我們接著看,查看當(dāng)前我們擁有的實(shí)例。

multipass list我們還沒有下載鏡像,自然還沒有任何實(shí)例存在,別著急,一會兒我們就下載一個試試。




最簡單的,我們就用默認(rèn)的鏡像來做實(shí)驗(yàn)吧,只要給個實(shí)例名稱就可以了。

multipass launch --name <實(shí)例名稱>比如,輸出一個名為 sysadm 的實(shí)例。

multipass launch --name sysadm


除了名字,我們沒有加任何參數(shù),因此它會默認(rèn)使用 LTS 版本鏡像。

如果鏡像還未下載,那么 launch 命令會先下載鏡像,爾后啟動運(yùn)行實(shí)例。

如果鏡像已經(jīng)下載過了,那么 launch 命令就直接啟動實(shí)例。




鏡像一旦下載完成,Multipass 就會按鏡像生成實(shí)例,接著便會啟動這個實(shí)例。




在此期間有可能我們會遇到一些小問題。

比如,它會提示沒有開啟 Hyper-V 功能。




這是什么鬼,說好的 VirtualBox ,為啥會提示 Hyper-V 呢?

理由是我們還需要手動指定一下,讓 Multipass 去找 VirtualBox 而不是 Hyper-V 。

喵了個咪,明明安裝的時候說好的呀,真是有夠笨的??!

好吧,那我們就指定一下吧。

multipass set local.driver-virtualbox


如此一來,我們就可以安心讓 Multipass 啟動 VirtualBox 了。

不過即使如此,也有可能再次冒出來個不省心的問題。

就像下面這樣,似乎是虛擬化功能未開啟,記得要在 BIOS 里開啟虛擬化功能哦!




好了,前面 launch 命令已經(jīng)將鏡像下載下來并成功啟動了實(shí)例,那我們就可以來看看它的狀態(tài)。

multipass list這次終于看到了,鏡像是 Ubuntu 20.04 LTS ,實(shí)例名是 sysadm ,當(dāng)前正在運(yùn)行中。




想要查看實(shí)例的相關(guān)信息,可以用 info 參數(shù)加上實(shí)例名稱。

multipass info <實(shí)例名稱>比如,查看實(shí)例名為 sysadm 的信息。

multipass info sysadm


執(zhí)行實(shí)例內(nèi)部命令,使用 exec 參數(shù)。

# 執(zhí)行不帶參數(shù)的命令multipass exec <實(shí)例名稱> <command>例:multipass exec vm01 pwd?# 執(zhí)行帶參數(shù)的命令multipass exec <實(shí)例名稱> -- <command> <arguments>例:multipass exec vm01 -- uname -a


關(guān)于 launch 參數(shù)實(shí)際上還有更具體的用法,大概有以下幾種附加選項(xiàng)參數(shù) [options] 可以用來指定虛擬機(jī)配置。

multipass launch [options]?-n, --name: 名稱-c, --cpus: cpu核心數(shù), 默認(rèn): 1-m, --mem: 內(nèi)存大小, 默認(rèn): 1G-d, --disk: 硬盤大小, 默認(rèn): 5G


那么命令大概可以這樣寫。

multipass launch --name <實(shí)例名稱> --cpus 1 --mem 1G --disk 10G參數(shù)簡寫也可以是這樣。

multipass launch -n <實(shí)例名稱> -c 1 -m 1G -d 10G


另外如果我們想指定鏡像,那么可以在后面加上 <image> 參數(shù)。

multipass launch [options] <image>比如,下載并啟動鏡像為 Ubuntu 21.10 的實(shí)例,并命名為 sysadm 。

multipass launch -n sysadm "21.10"


實(shí)例的啟動停止和刪除釋放命令也很簡單。

# 啟動實(shí)例multipass start <實(shí)例名稱>?# 停止實(shí)例multipass stop <實(shí)例名稱>?# 刪除實(shí)例(刪除后,還會存在)multipass delete <實(shí)例名稱>?# 釋放實(shí)例(徹底刪除)multipass purge <實(shí)例名稱>


Multipass 還能通過 --cloud-init 參數(shù)來進(jìn)行實(shí)例啟動初始化配置。

multipass launch -n <實(shí)例名稱> --cloud-init cloud-config.yaml其中 yaml 配置文件必須以 #clound-config 開頭,后面再寫入相應(yīng)的命令。

由于內(nèi)容繁多比較復(fù)雜,所以請小伙伴們自行參考官網(wǎng)文檔實(shí)例吧。

https://cloudinit.readthedocs.io/en/latest/topics/examples.html



還有很多其他相關(guān)的操作命令,在這兒我們就不一一展開講解了。

有興趣的小伙伴可以到官方文檔中查看。

https://multipass.run/docs/

寫在最后

從前面的操作體驗(yàn)中我相信小伙伴們也能感覺到,這個 Multipass 的用法就和 Docker 容器非常接近,因此熟悉 Docker 那一套的小伙伴肯定能快速上手。

Multipass 的特點(diǎn)就是通過鏡像快速部署虛擬機(jī),即使你對于虛擬機(jī)的搭建配置了如指掌,也能很大程序上減輕你的負(fù)擔(dān),將更多的時間和精力用于做其他更有意義的事情。




此外 MultipassCanonical 公司開發(fā),雖說是款非常不錯的管理器軟件,但同時它提供的鏡像也僅限于 Ubuntu ,這是它的一個不大不小的局限。

如果你是大量部署 Ubuntu 并將其用于測試的重度用戶的話,那 Multipass 可就派上大用場了。

但要是還想兼容其他不同平臺版本的 Linux ,那么只能說有些遺憾了,也不知道 Multipass 將來會不會考慮將其他一些同樣優(yōu)秀的 Linux 發(fā)行版也納入其中。

好了,今天關(guān)于 Multipass 的分享就到這里吧,希望你有所收獲,我們下期再見啦!

網(wǎng)管小賈 / sysadm.cc



關(guān)鍵詞:平臺,虛擬,管理

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉