KVM 虛擬化環境搭建 - ProxmoxVE


KVM 虛擬化環境搭建 - ProxmoxVE

送大家一套完全開源免費的 VmWare / vSphere 的代替方案,代價是稍微動一下手,收獲是你再也不需要任何商用付費的虛擬機軟件了。KVM 整套解決方案一般分三層:

  • KVM:內核級別的虛擬化功能,主要模擬指令執行和 I/O
  • QEMU:提供用戶操作界面,VNC/SPICE 等遠程終端服務
  • Libvirtd:虛擬化服務,運行在 Hypervisor 上提供 TCP 接口用於操作虛擬機的創建和啟停

第一個是 Linux 內核自帶,后兩個是各大發行版自帶的標准組件。這里的 qemu 不是原生的 Fabrice 的 qemu,而是定制的 kvm 版本的 qemu 。

你當然可以用 qemu-system-x86 程序寫很長的一串參數來啟動你的虛擬機,但是這樣十分不友好,所以有了 Libvirtd 這個東西,將物理機的所有資源:存儲 / 網絡 / CPU 管理起來,並且提供統一的服務接口。

那么 KVM + Libvirtd 有幾種不同層次的玩法:

  • 初級:在 /etc/libvirtd/qemu 下面用 xml 描述每一台虛擬機的配置,然后用 virsh 在命令行管理虛擬機,最后用 VNC/SPICE 按照配置好的端口鏈接過去,模擬終端操作。
  • 中級:使用各種 libvirtd 的前端,比如基於桌面 GUI 的 Virt Manager 給你界面上直接編輯和管理虛擬機,桌面版本的 VNC/SPICE 會自動彈出來,像 VmWare 一樣操作。
  • 高級:使用基於 Web 的各種 virt manager 進行集群管理,比如輕量級的 WebVirtMgr / Kimchi,適合小白的 Proxmox VE。基本是用 WebVnc/Web
  • 超級:上重量級的 OpenStack,搭配自己基於 libvirt (libvirtd 的客戶端庫,比如有 python-libvirt 的封裝)寫的各種自動化腳本。

前兩種太弱智了,OpenStack 又基本需要一個 DevOps 團隊才玩得轉。所以作為個人或者中小團隊,買了台硬件過來,想把它變成一套小型的阿里雲,騰訊雲的系統,可以在 web 上創建 / 配置虛擬機,裝系統,管理硬件資源,進行遷移備份等,基本就是第三套解決方案。

不想折騰的話,最簡單的做法是直接下載 ProxmoxVE 社區版的 ISO ,刻錄到 U 盤里,按照安裝普通操作系統一樣的安裝到物理機上,立馬把你的物理機變成一台 Hypervisor:

img

Proxmox VE 安裝后啟動,你可以登陸進去,ProxmoxVE 基於 Debian 9 ,進去可以用 apt-get 進行版本升級。接着按提示打開網頁:https://your-ip:8006/ 用系統 root 密碼登陸:

img

ProxmoxVE 可以方便的管理各種硬件資源(計算,存儲,網絡)和虛擬機系統,你可以方便的新建一台虛擬機並進行硬件配置:

img

各項配置應有盡有:

img

配置好了以后啟動虛擬機,選擇 “console” 就可以使用 webvnc 終端安裝操作系統了:

img

嫌終端太小看不過來的話,可點右上角的 Console 按鈕,彈出一個終端獨占窗口,全屏化安裝:

img

ProxmoxVE 除了上面這些功能外,還能方便的對虛擬機進行:復制,快照,遷移。你如果有硬盤陣列,它還能使用 ZFS 幫你做軟件 Raid,保證數據安全性,不需要學習復雜的 zfs 命令行,web 上點點點就出來了。

小到個人 Linux Box ,大到商用的虛擬化集群,Proxmox VE 都能幫你方便的管理起來,提供開箱即用的體驗,全部都是基於開源免費方案。唯一的問題是 Proxmox VE 本身和 Sublime Text 一樣屬於付費軟件,但是可以免費使用,只不過免費版每次登陸 web 后台會彈出一個對話框:

img

提醒你要去注冊而已,不過連這個煩人的對話框也是可以干掉的,登陸到物理機的系統里面,修改一下 pvemanagerlib.js 這個文件的判斷條件就行:

sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/pve-manager/js/pvemanagerlib.js

不過該對話框也只有登陸的時候才會出現一次,如果不是強迫症的話,犯不着更改。

個人使用的話,二十分鍾就可以在安裝完 Proxmox VE,里面創建三個虛擬機,一個跑黑群暉或者各種 Docker 容器,一個開發用 Ubuntu/Debian ,另外一個跑個 Windows 10,網絡設置成橋接模式,同一個路由器下可以直接訪問,最后把他們的電源選項都配置成隨同物理機開機自動啟動,妥了,基本滿足日常使用。

跑 Windows 的話,web 上用 VNC 操作桌面效率太低了,可以考慮使用 SPICE ,或者安裝完系統以后打開 Windows 的遠程桌面服務,以后用遠程桌面操作。

到這里,你真的不需要 VmWare / HyperV / vSphere 這些亂七八糟的東西了。性能問題?KVM 對性能的損耗只有 1%-2% ,你就是 VmWare 再快,1% 了不起了嘛?99% 和 98% 有區別么?當然 VmWare / HyperV 的圖形性能模擬的不錯,虛擬機里可以玩點小游戲,這屬於娛樂需求了,跑后台服務的話基本不用考慮。

寫下你的評論...

能直通不?

什么叫做直通?

就是 PCIE 設備直通到虛擬機這樣

說出來你可能不信, 我都是先吭哧吭哧看半個小時手冊和 google, 手寫一個超長的命令行, 然后以后每次都 ctrl+r 從歷史記錄里面找...

向你致敬

哈哈 之前我也是 后面用了文中說的第二種弱智方法 virtmanager

Kvm 性能損耗 1%-2% 是怎么得出?

你可以找相關評測和論文,我自己也比較過,我自己的比較 1% 以內

基於 kvm,也就說如果虛擬機也是 linux,顯卡是能直接分享的?

搜索 kvm gpu passthrough

謝了,果然 linux 之間分享只需要把驅動文件分享過去就行了,都不需要 pcie passthrough。 為實驗室建立公用 GPU 服務器

kvm 和虛擬機根本不是一個層面的東西,或者答主根本沒怎么用虛擬機

就你知道,就你懂,行了吧?

充滿負面能量,何必呢

proxmox 對 cloud init 支持極佳,可以直接去下載各個發型版的 cloud image 然后在 proxmox 中點點點設置公鑰,主機名,ip,網關,然后啟動虛擬機就一件配置安裝完畢,這一點體驗極佳

基本需要一個 devops 團隊才能玩轉的 OpenStack,我一個人已經苦苦支撐半年了。。

幾年前曾了解過 proxmox,現在幾乎把它忘記了,看了大神的回答才想起這個!😂

原來你說 KVM 對標 VMware 肯定是過了,不過 proxmox 那就沒問題啦!從個人實踐來看,proxmox 能替代 vsphere 99% 的功能,剩余那 1% 的功能大概率你用不上。

恩,vmware 屬於商業模式被顛覆的東西,只能守着老用戶不斷的恐嚇開源東西不靠譜,經常出問題,丟數據,損失上億,跟 IBM 嚇他的小型機用戶別用 linux 一樣。但是仍然擋不住時代的變遷。

求教,5.3 最新版如何去除訂閱彈出窗口?

我最下面不是寫了一條命了么?

我在 ssh 遠程直接粘貼了那段命令,發現好像沒有效果 [捂臉]

那你手動改一下該文件啦

我是 VM 小白學生,想要請教一下大神,如果已經在 Proxmox 上配置好了一台虛擬機,允許多個用戶訪問這個虛擬機,並且想要他們訪問的時候都是一個獨立的虛擬環境,應該要怎么開始呀?

首先 這個虛擬機是什么系統?

怎么搭建虛擬網絡?

軟路由?

和 virtualbox 比有什么優勢嗎

當然有,基於 KVM,阿里雲騰訊雲,AWS/Linode,清一色的基於 KVM,你見過有幾家雲服務商用 virtualbox 的?

virtualbox 慢得要死。。。。我都被逼使用破解版 VMware

比免費版的 ESXi 好用么

當然可以,只是說首選 kvm 系列

[飆淚笑]macOS 用戶表示沒有 kvm

服務器上安裝啊,別本機安裝

pve 可以安裝 macOS,最新版都行,而且還能解決顯卡問題。

我想給 pve 及里面的虛擬機進行備份,該如何操作?

百度了一下,也沒找到合適的答案

不是自帶有快照和備份嗎

看這個感覺配置 RAID 好麻煩 https://pve.proxmox.com/wiki/Raid_controller

盤多用自帶的 ceph

話說上虛擬化的話對 CPU 要求應該也不低吧?

只玩 nas + 軟路由(好幾個),賽揚都夠了,j3455 這種

老兄,這個對硬盤的自動休眠支持的怎么樣,esxi 搜到都說不支持

不知道啊。

題主,安裝順利完成,重啟以后進不去系統直接黑屏怎么解

是硬件不支持嗎?cpu 是 amd 200GE


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM