Linux虛擬化入門(一)Qemu,KVM狠怨,Virsh 概念指南

當(dāng)你安裝了一臺 Linux约啊,想啟動一個 KVM 虛擬機(jī)的時候,你會發(fā)現(xiàn)需要安裝不同的軟件取董,啟動虛擬機(jī)的時候棍苹,有多種方法:

  • virsh start
  • kvm 命令
  • qemu 命令
  • qemu-kvm 命令
  • qemu-system-x86_64 命令

QEMU

首先看 qemu,其中關(guān)鍵字 emu茵汰,全稱 emulator枢里,模擬器,所以單純使用 qemu 是采用的完全虛擬化的模式。

Qemu 向 Guest OS 模擬 CPU栏豺,也模擬其他的硬件彬碱,GuestOS 認(rèn)為自己和硬件直接打交道,其實是同 Qemu 模擬出來的硬件打交道奥洼,Qemu 將這些指令轉(zhuǎn)譯給真正的硬件巷疼。由于所有的指令都要從 Qemu 里面過一手,因而性能比較差灵奖。

完全虛擬化是非常慢的嚼沿,所以要使用硬件輔助虛擬化技術(shù) Intel-VT,AMD-V瓷患,所以需要 CPU 硬件開啟這個標(biāo)志位骡尽,一般在 BIOS 里面設(shè)置。查看是否開啟

# 對于Intel CPU 可用命令判斷
grep "vmx" /proc/cpuinfo 

# 對于AMD CPU 可用命令判斷
grep "svm" /proc/cpuinfo

當(dāng)確認(rèn)開始了標(biāo)志位之后擅编,通過 KVM攀细,GuestOS 的 CPU 指令不用經(jīng)過 Qemu 轉(zhuǎn)譯,直接運行爱态,大大提高了速度谭贪。

所以 KVM 在內(nèi)核里面需要有一個模塊,來設(shè)置當(dāng)前 CPU 是 Guest OS 在用锦担,還是 Host OS 在用俭识。

KVM

基于內(nèi)核的虛擬機(jī)(英語:Kernel-based Virtual Machine,縮寫為 KVM)是一種用于 Linux 內(nèi)核中的虛擬化基礎(chǔ)設(shè)施吆豹,可將 Linux 內(nèi)核轉(zhuǎn)化為一個虛擬機(jī)監(jiān)視器鱼的。

KVM 提供抽象的設(shè)備理盆,但不模擬處理器痘煤。它開放了/dev/kvm 接口,供用戶模式的主機(jī)使用猿规。

qemu-kvm

Qemu 將 KVM 整合進(jìn)來衷快,通過 ioctl 調(diào)用/dev/kvm 接口,將有關(guān) CPU 指令的部分交由內(nèi)核模塊來做姨俩,就是 qemu-kvm (qemu-system-XXX)

qemu 和 kvm 整合之后蘸拔,CPU 的性能問題解決了,另外 Qemu 還會模擬其他的硬件环葵,如 Network, Disk调窍,同樣全虛擬化的方式也會影響這些設(shè)備的性能。

于是 qemu 采取半虛擬化或者類虛擬化的方式张遭,讓 Guest OS 加載特殊的驅(qū)動來做這件事情邓萨。

例如網(wǎng)絡(luò)需要加載 virtio_net,存儲需要加載 virtio_blk,Guest 需要安裝這些半虛擬化驅(qū)動缔恳,GuestOS 知道自己是虛擬機(jī)宝剖,所以數(shù)據(jù)直接發(fā)送給半虛擬化設(shè)備,經(jīng)過特殊處理歉甚,例如排隊万细,緩存,批量處理等性能優(yōu)化方式纸泄,最終發(fā)送給真正的硬件赖钞,一定程度上提高了性能。

virsh

然而直接用 qemu 或者 qemu-kvm 或者 qemu-system-xxx 的少聘裁,大多數(shù)還是通過 virsh 啟動仁烹, virsh 屬于 libvirt 工具, libvirt 是目前使用最為廣泛的對 KVM 虛擬機(jī)進(jìn)行管理的工具和 API 咧虎,可不止管理 KVM卓缰。

Libvirt 分服務(wù)端和客戶端, Libvirtd 是一個 daemon 進(jìn)程砰诵,是服務(wù)端征唬,可以被本地的 virsh 調(diào)用,也可以被遠(yuǎn)程的 virsh 調(diào)用茁彭,virsh 相當(dāng)于客戶端总寒。

Libvirtd 調(diào)用 qemu-kvm 操作虛擬機(jī),有關(guān) CPU 虛擬化的部分理肺,qemu-kvm 調(diào)用 kvm 的內(nèi)核模塊來實現(xiàn)

這下子摄闸,整個相互關(guān)系才搞清楚了。

參考文獻(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末熏兄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子树姨,更是在濱河造成了極大的恐慌摩桶,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帽揪,死亡現(xiàn)場離奇詭異硝清,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)转晰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門芦拿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砾肺,“玉大人,你說我怎么就攤上這事防嗡”渫簦” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵蚁趁,是天一觀的道長裙盾。 經(jīng)常有香客問我,道長他嫡,這世上最難降的妖魔是什么番官? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮钢属,結(jié)果婚禮上徘熔,老公的妹妹穿的比我還像新娘。我一直安慰自己淆党,他們只是感情好酷师,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著染乌,像睡著了一般山孔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荷憋,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天台颠,我揣著相機(jī)與錄音,去河邊找鬼勒庄。 笑死串前,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的实蔽。 我是一名探鬼主播荡碾,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盐须!你這毒婦竟也來了玩荠?” 一聲冷哼從身側(cè)響起漆腌,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤贼邓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后闷尿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塑径,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年填具,在試婚紗的時候發(fā)現(xiàn)自己被綠了统舀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匆骗。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖誉简,靈堂內(nèi)的尸體忽然破棺而出碉就,到底是詐尸還是另有隱情,我是刑警寧澤闷串,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布瓮钥,位于F島的核電站,受9級特大地震影響烹吵,放射性物質(zhì)發(fā)生泄漏碉熄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一肋拔、第九天 我趴在偏房一處隱蔽的房頂上張望锈津。 院中可真熱鬧,春花似錦凉蜂、人聲如沸琼梆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叮叹。三九已至,卻和暖如春爆存,著一層夾襖步出監(jiān)牢的瞬間蛉顽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工先较, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留携冤,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓闲勺,卻偏偏與公主長得像曾棕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子菜循,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 虛擬化技術(shù)(Virtualization) 計算機(jī)基礎(chǔ):馮諾依曼體系中計算機(jī)的五大部件:控制器翘地、運算器、輸入設(shè)備癌幕、...
    Net夜風(fēng)閱讀 2,985評論 0 1
  • 一衙耕、虛擬化分類 1、虛擬化是指通過虛擬化技術(shù)將一臺計算機(jī)虛擬為多臺邏輯計算機(jī)勺远。在一臺計算機(jī)上同時運行多個邏輯計算機(jī)...
    WickJohn閱讀 2,133評論 0 3
  • 1橙喘、搭建kvm虛擬環(huán)境 ?KVM是一個混合類型的VMM,它能夠以模擬方式支持硬件的完全虛擬 化胶逢,也能夠在Guest...
    stephe_c閱讀 3,148評論 0 0
  • 一厅瞎、 虛擬化技術(shù) 虛擬化是云計算的基礎(chǔ)饰潜。簡單的說,虛擬化使得在一臺物理的服務(wù)器上可以跑多臺虛擬機(jī)和簸,虛擬機(jī)共享物...
    任總閱讀 22,547評論 0 7
  • kvm KVM:Kernel-Based Virtual Machine 基于內(nèi)核的虛擬機(jī)[https://so....
    明明就_c565閱讀 630評論 0 0