iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
0
DevOps

Oops Step ( Home lab of a kind ) 系列 第 7

Why KVM , why?

今夫佩虎符、坐皋比者,洸洸乎干城之具也,果能授孫、吳之略耶? 峨大冠、 拖長紳者,昂昂乎廟堂之器也,果能建伊、皋之業耶?...[賣柑者言]...觀其坐高堂,騎大馬,醉醇醴而飫肥鮮者,孰不巍巍乎可畏,赫赫乎可象也?又何往而不金玉其外,敗絮其中也哉?

做Homelab最重要的就是依靠虛擬化技術。而在挑選hypervisor的時候,我們會從三大選擇出發。VMWare、Hyper-V、KVM。 不好意思XEN不在考慮範圍。 我自己就曾經是vsphere的使用者,但最後投靠kvm,而且還活的更好的,為什麼?
今天先不實做技術,而聊這兩者的技術。
當然先從我自己的經驗出發。剛開始接觸VMWare ESXi時,因為只需要單機運作,也是一般小型實驗室的實際需求。一度我用Xeon E3-1230 V2的CPU,配上32 GB的記憶體,可以模擬4~6個虛擬機沒問題。但是馬上面臨硬碟IOPS與throughput的瓶頸。於是我就增加了一張RAID卡,用企業級硬碟(RAID 0)與SSD快取克服這難題。但是挑選RAID卡的過程,只能說VMWare你真會幫人燒錢,讓我需要一直看硬體相容性清單。不得不抱怨,Realtek的硬體到處都是很容易遇到,但是每次都要改驅動,簡直是逼人做選擇,一邊是荷包,一邊是青春的肝。
而這最後推我一把的原因,在於顯示卡passthrough。

Yes

這需求也很簡單,就是平常VM負載很小的時候,我可不可以把其中一個抽出來當我的終端使用?這樣在申請預算的時候可以賄賂說服CFO,我們一起用,感情不會散。如果採用某知名大廠,光是看相容硬體清單至少要Quadro K4000,我就軟了。而且順便想罵一句搶錢啊 罵髒話的人不是我,要怪就怪

Yes

因此VGA Passthrough把我推向KVM技術。而事實我參考實做後,發現還不錯,但是中間還是跳了幾個坑,比如說Nvidia的 Code 43 Error,各位就會想忍不住又罵一句。原因是我第一次用的是nVidia Quadro系列顯示卡(P600),所以沒發現問題。等我心血來潮,想增加CUDA核心數和HDMI輸出接頭,換GTX1030卡以後忽然就"卡關了"。因為第二張顯示卡還是nVidia (GT210),我就照習慣使用nVidia提供的驅動,然後我就深深體會Linus Torvalds罵那句話的感覺。即使移掉驅動後,問題不會解決,我除了重灌之外居然束手無策。

而後面Dokcer興起後,ESXi雖然很努力,但是我沒有想要回頭了,但即使要選KVM,當然我也考慮過PROXMOX,尤其是看到其中遷移的示範。

Yes

但是,回到Day3曾經提到的概念,出來混還是要有點顏值的啊!/images/emoticon/emoticon32.gif

因此才會用顏值高的Linux Distro繼續改下去我們可以一起用,,這樣即使開機完用的系統資源高一點,但是我可以親自使用順便分享/images/emoticon/emoticon12.gif

這就好像烹飪,大家拿到的食材都一樣,但是最後變出來的就不一樣。像先前提到PROMOX + OpenWrt的組合也有這樣的實作法。

Yes

後記:
至於VGA Passthrough這件事,我自己單人單機使用已經放棄這樣使用了。而底層磁碟IOPS問題,隨著SSD橫空出世,我已經懶得再去翻硬體支援表了。從linux 2.x求大家幫忙搞驅動到現在,全世界擁有最多硬件驅動,然後不會隨作業系統世代交替就不支援的是誰?這就不用多說了吧。
再來是很多人以為要搞容器才一定潮,我就完全不覺得。某些程度用虛擬機就比容器來的實際,而且虛擬機可以處理的事情有時更贏過容器,畢竟兩者各有所長,所以如果全部看完我的思維,就會發現我用虛擬化處理「異質系統」,而凡是基底可以用容器的就交給容器,而不會為了用容器就完全捨棄VM。 但是我還是很難接受Docker in Docker


上一篇
C.I. is for Character Introduction ?
下一篇
Let's Encrypt by acme.sh
系列文
Oops Step ( Home lab of a kind ) 34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言