本文寫于2021年03月21日,閱讀時請注意時效,動筆時VirtualBox的最新版本為6.1.32,本文中使用這一版本。
本文是GPU集群管理、使用指南系列的其中一篇,文中介紹了模擬集群實驗的虛擬機(jī)設(shè)置方法,如果不是集群管理員跳過文中的相關(guān)內(nèi)容即可。
選擇VirtualBox的原因
為什么選擇VirtualBox,VirtualBox對比VMware、KVM
VMware對Linux虛擬機(jī)的字符界面支持很差,比如不能自動調(diào)整分辨率,而VirtualBox對Linux虛擬機(jī)的字符界面支持比較好
VMware是專有軟件(
proprietary software),不開源且收費(fèi),VirtualBox是開源軟件,在英文社區(qū)看到大家比較推薦,本體是GPLv2的許可,雖然VirtualBox的Extension Pack是VirtualBox使用Oracle自己的Personal Use and Evaluation License,但是我們做實驗并不違反這一許可的內(nèi)容如果使用的是Linux操作系統(tǒng),還可以選擇使用KVM,但是不如VirtualBox直觀簡單
官方下載內(nèi)容鏈接:https://www.virtualbox.org/wiki/Downloads
VirtualBox相關(guān)內(nèi)容的歷史版本下載鏈接:https://download.virtualbox.org/virtualbox
官方文檔
VirtualBox的User Manual中提到了很多內(nèi)容,遇到不懂的東西建議先查文檔,在上文鏈接頁面中可以找到。開始菜單的virtualbox文件夾里也有pdf和chm的版本。
VirtualBox和Extension Pack的安裝
注意VirtualBox和Extension Pack兩者版本必須一致
VirtualBox安裝過程全程無難點(diǎn),選項均保持默認(rèn)即可,VirtualBox安裝好后在全局設(shè)定-擴(kuò)展中點(diǎn)右側(cè)加號安裝Extension Pack。

VirtualBox安裝Linux虛擬機(jī)的正確設(shè)置
最重要的是不要選VMSVGA
全局設(shè)置
全局設(shè)置均可保持默認(rèn)。
網(wǎng)絡(luò)設(shè)置中,VirtualBox自帶一個地址為10.0.2.0/24的NAT網(wǎng)絡(luò),名叫NatNetwork,由于我們需要模擬服務(wù)器的網(wǎng)絡(luò)環(huán)境,這里需要添加一個NAT網(wǎng)絡(luò),接著修改網(wǎng)絡(luò)名稱和網(wǎng)絡(luò)CIDR如下,用來模擬服務(wù)器到互聯(lián)網(wǎng)的連接:
| 名稱 | CIDR |
|---|---|
| seg172 | 172.20.137.0/24 |

虛擬機(jī)設(shè)置
Tip:由于使用虛擬機(jī)進(jìn)行實驗的過程中常常需要新建相同配置的虛擬機(jī),所以我們提前新建一個名為debian template的虛擬機(jī)作為模板,配置好以后,將上述虛擬機(jī)進(jìn)行復(fù)制可以省去重復(fù)新建的時間。
新建
操作系統(tǒng)版本Debian 64bit,內(nèi)存1GB,磁盤500GB動態(tài)分配,命名為debian template,如下圖


詳細(xì)設(shè)置
虛擬機(jī)新建完成后,點(diǎn)開頁面上的齒輪修改詳細(xì)設(shè)置,下文文字沒有提到的選項均保持默認(rèn)即可,不明白的設(shè)置查User Manual或者搜索一般都可以輕松查到這里不再贅述。
顯示(重要)
屏幕選項卡→顯存:拉到最大128MB,如果安裝圖形界面可能需要更大現(xiàn)存,保存設(shè)置之后在頁面中直接單擊128MB,可以選擇增加到256MB。

屏幕選項卡→顯卡控制器:VBoxVGA或者VBoxSVGA,不要選VMSVGA,否則虛擬機(jī)分辨率會被鎖定為800*600且虛擬機(jī)啟動后無法在 視圖→虛擬顯示屏 中重設(shè)分辨率
屏幕選項卡→硬件加速:不選3D加速,否則保存設(shè)置后會被自動修改為VMSVGA

其他保持默認(rèn)
網(wǎng)絡(luò)
如果只是需要讓虛擬機(jī)訪問Internet,保持默認(rèn)即可,如果需要從宿主機(jī)(host)ssh登錄到虛擬機(jī),還需要參照下文啟用一個僅主機(jī)網(wǎng)絡(luò)網(wǎng)卡。
為了模擬服務(wù)器的多張網(wǎng)卡,我們啟用所有網(wǎng)卡,連接方式和界面名稱如下,注意是NAT網(wǎng)絡(luò)不是網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)。因為NAT網(wǎng)絡(luò)中的虛擬機(jī)無法從主機(jī)直接訪問,所以還需要額外添加一個僅主機(jī)網(wǎng)絡(luò)給ssh登錄使用。內(nèi)部網(wǎng)絡(luò)的界面名稱直接輸入即可。
| 網(wǎng)卡序號 | 連接方式 | 界面名稱 | 網(wǎng)絡(luò)規(guī)格 |
|---|---|---|---|
| 1 | NAT網(wǎng)絡(luò) | seg172 | 可以訪問Internet的LAN |
| 2 | 內(nèi)部網(wǎng)絡(luò) | seg12 | 交換機(jī)內(nèi)網(wǎng) |
| 3 | 內(nèi)部網(wǎng)絡(luò) | seg13 | 交換機(jī)內(nèi)網(wǎng) |
| 4 | 僅主機(jī)網(wǎng)絡(luò) | 無 | ssh登陸使用 |
僅主機(jī)網(wǎng)絡(luò)的適配器信息可以在管理→主機(jī)網(wǎng)絡(luò)管理器中修改,Windows中使用ipconfig命令可以查看,宿主機(jī)(host)默認(rèn)為192.168.56.1,如下:
以太網(wǎng)適配器 VirtualBox Host-Only Network:
連接特定的 DNS 后綴 . . . . . . . :
本地鏈接 IPv6 地址. . . . . . . . : fe80::3545:9bdd:f848:a1fd%17
IPv4 地址 . . . . . . . . . . . . : 192.168.56.1
子網(wǎng)掩碼 . . . . . . . . . . . . : 255.255.255.0
默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . :
復(fù)制虛擬機(jī)
模板虛擬機(jī)新建完成后,需要復(fù)制一定數(shù)量的虛擬機(jī)供實驗使用。復(fù)制時選擇為所有網(wǎng)卡重新生成MAC地址,副本類型選擇完全復(fù)制即可。

解決問題的思路
最開始用的是VMware,因為VirtualBox看起來很丑,但是VMware對Linux字符界面很不友好,分辨率不能調(diào),用起來難受。剛好當(dāng)時在研究ArchLinux的過程中看到了英文社區(qū)中很多關(guān)于虛擬機(jī)的觀點(diǎn),大家普遍推薦VirtualBox,因為對Linux友好且開源
在使用VirtualBox的過程中、同時也是研究ArchLinux的過程中接觸到了ArcoLinux,ArcoLinux的作者發(fā)布了很多關(guān)于Linux的教程,本文中的顯示設(shè)置就是參考了這位大神的設(shè)置,文章和視頻見參考鏈接,同時附上了搬運(yùn)到了B站的視頻鏈接
如果重設(shè)屏幕分辨率無效可以使用
控制->重啟重啟一下虛擬機(jī),一般分辨率就會生效了
參考鏈接1:ArcoLinux - How to set virtualbox the correct way – graphics controller
參考鏈接3:bilibili搬運(yùn)版 # VirtualBox的正確設(shè)置 by ArcoLinux
由于bilibili不支持在同一時間出現(xiàn)兩條cc字幕,所以會出現(xiàn)很多句子沒有字幕的情況