前幾天看到一篇國外網友的文章,談到 FreeNAS 9.10 內置的 VirtualBox 存在問題且官方不再提供更新,並介紹了在命令行中使用底層 FreeBSD 系統預置的 bhyve 虛擬機的方法。
沒想到這竟是 FreeNAS 官方刻意為之的,您瞧,FreeNAS 11 砍掉了 VirtualBox,改用 bhyve 作為虛擬機平臺。
什麼是虛擬機?
VM(Virtual Machine)即虛擬機,它是一種在一臺計算機上模擬多臺計算機的技術,那些模擬出的計算機運行起來就像真實的計算機一樣。虛擬機可以用來同時運行多個作業系統。虛擬機看不到主機的物理硬體,只能使用分配給它的虛擬設備。
相比 Jail,虛擬機雖然有額外的資源開銷,但卻有更好的隔離特性。虛擬機將獨享主機分配給它的資源,在虛擬機啟動以後,這些被分配出去的資源,主機以及其他虛擬機都將無法使用。
為了不讓讀者產生誤解,遵照官方文檔和管理界面的習慣,下面用 VM 代表虛擬機。
FreeNAS® VMs 使用 bhyve(8) 虛擬機軟體。使用這種虛擬化技術,要求 CPU 為支持 Extended Page Tables (EPT) 的 Intel 處理器或支持 Rapid Virtualization Indexing (RVI) 或 Nested Page Tables (NPT) 的 AMD 處理器。
如果你使用 Intel 處理器,請在命令行之行一下命令檢查是否支持所需的功能:
#grep VT-x /var/run/dmesg.boot
如果輸出的內容顯示 EPT 和 UG 就代表你的 CPU 可以使用 bhyve。
如果你使用 AMD 處理器,請在命令行之行一下命令檢查是否支持所需的功能:
#grep POPCNT /var/run/dmesg.boot
如果輸出的內容顯示 POPCNT 就代表你的 CPU 可以使用 bhyve。
創建一個 VM
選擇 VMs → Add VM 會彈出下圖所示的對話框,根據需要設置虛擬機的基本配置信息,名稱、文字描述、分配的虛擬 CPU 核心數、分配的虛擬內存、系統引導模式以及是否隨主機開機啟動。
添加設備到 VM
點選新建的 VM,然後點擊下方的「設備」按鈕為其添加虛擬設備。
VMs 默認提供了一個 NIC (網卡) 。它模擬成一個 Intel E1000 (82545) Ethernet 有線網卡以兼容更多作業系統。
如果 VM 中要安裝的作業系統支持 VirtIO 半虛擬化網絡驅動,則 Adapter Type(適配器類型)可以設置成 VirtIO 從而提供更好的性能。
VM 設置成 UEFI 啟動模式時,會提供一個 VNC (Virtual Network Computing) 遠程連接。
使用 VNC 客戶端即可連接到 VM,提供屏幕顯示和鍵盤滑鼠控制。VNC port(埠)設置為 0 或留空時,FreeNAS® 將在 VM 啟動時為其動態指定,當然,也可以設置一個自己喜歡的埠號。
Zvols 被用做 VM 的虛擬硬碟。創建 zvol 後,選擇 Type(類型) 為 Disk(磁碟),並在 Zvol 的下拉列表中選擇要分配的虛擬硬碟,然後選擇 Mode(模式):
AHCI 模式模擬 AHCI 硬碟有最好的軟體兼容性。VirtIO 使用半虛擬化驅動有更好的性能,但要求作業系統支持 VirtIO 磁碟設備才可以。
添加 CD-ROM 設備才能讓 VM 啟動時加載系統安裝鏡像。系統安裝鏡像必須位於 FreeNAS® 存儲的可訪問位置。
啟動 VM
VM 配置完畢,點擊選中想用控制的那一個,然後點擊下方的 Start(啟動)按鈕即可啟動 VM,停止 VM 的方法同理。
管理工具推薦
FreeNAS VM 的主要依賴 VNC 連接實現遠程管理,這裡推薦一款好用且免費的工具 VNC Viewer,由於微信公眾號限制無法在此提供下載連結,請自行輸入(https://www.realvnc.com/download/viewer/)或百度搜索。
VNC Viewer 使用起來非常簡單,截止本文發稿最新版本為 6.1.1,軟體界面類似瀏覽器,只要在最上方地址欄輸入 ip:port 格式按回車即可啟動連接。
關於在新版虛擬機平臺安裝作業系統的內容,我們今後另起篇幅介紹,敬請關注。