虛擬化原理

CPU虛擬化

一個(gè)KVM(kernel-based virtual machine)虛擬機(jī)在宿主機(jī)上就是一個(gè) qemu-kvm進(jìn)程,與其他Linux進(jìn)程一樣被調(diào)用瞒渠。 虛擬機(jī)的每個(gè)虛擬CPU則對(duì)應(yīng) qemu-kvm進(jìn)程中的一個(gè)進(jìn)程良蒸。 因此,虛擬CPU可以超過(guò)物理CPU的數(shù)量伍玖,叫CPU超配嫩痰。

內(nèi)存虛擬化

KVM通過(guò)內(nèi)存虛擬化共享物理系統(tǒng)內(nèi)存串纺,動(dòng)態(tài)分配給虛擬機(jī)。

image

為了在一臺(tái)機(jī)器上運(yùn)行多個(gè)虛擬機(jī)椰棘,KVM需要實(shí)現(xiàn)VA(虛擬內(nèi)存) --> PA(物理內(nèi)存) --> MA(機(jī)器內(nèi)存)的轉(zhuǎn)換纺棺,其中虛擬機(jī)OS控制VA->PA的轉(zhuǎn)換,KVM負(fù)責(zé)PA->MA的映射邪狞。

存儲(chǔ)虛擬化

KVM的虛擬化通過(guò)存儲(chǔ)池(Storage Pool)和卷(Volume)實(shí)現(xiàn)祷蝌。 存儲(chǔ)池是宿主機(jī)可見的一片存儲(chǔ)空間,帆卓,可以分為多種類型杆逗。 卷是存儲(chǔ)池的一塊空間,卷在虛擬機(jī)眼中就是一塊硬盤鳞疲。 不同類型的存儲(chǔ)池:

1. 目錄類型

文件目錄是最常見的存儲(chǔ)池。 目錄是一個(gè)存儲(chǔ)池蠕蚜,默認(rèn)是 /var/lib/libvirt/images/ 目錄里的一個(gè)文件就是一個(gè)卷尚洽。

使用文件做卷的優(yōu)點(diǎn):

  • 存儲(chǔ)方便

  • 移植性好

  • 可復(fù)制

  • 可遠(yuǎn)程訪問(wèn)

KVM支持多種卷格式:

  1. raw: 默認(rèn)格式,鏡像什么格式靶累,卷就是什么格式

  2. qcow2: cow即寫時(shí)復(fù)制(copy on write)腺毫,節(jié)省空間癣疟,支持AES加密。

  3. vmdk:是VMWare 的虛擬磁盤格式潮酒,VM虛擬機(jī)可以直接在KVM上運(yùn)行

  4. vdi: 是VirtualBox的虛擬磁盤格式

2. 邏輯卷管理(Logical Volume Manager)類型

宿主機(jī)上的VG(Volume Group)中的LV(Logical Volume)作為虛擬磁盤分配給虛擬機(jī)使用睛挚,只能作為數(shù)據(jù)盤,不能作為啟動(dòng)盤急黎,因?yàn)樗鼪](méi)有MBR引導(dǎo)記錄扎狱。 這種情形,主機(jī)的VG就是存儲(chǔ)池勃教,LV就是卷淤击。

3. 其他類型

KVM還支持 iSCSI, Ceph等多種類型的存儲(chǔ)池。

網(wǎng)絡(luò)虛擬化

基本概念

假設(shè)宿主機(jī)有1塊物理網(wǎng)卡en0, 運(yùn)行著一個(gè)虛擬機(jī)VM1故源。那問(wèn)題是如何讓VM1訪問(wèn)外網(wǎng)呢污抬? a):將物理網(wǎng)卡直接分配給虛擬機(jī),但這樣會(huì)導(dǎo)致宿主機(jī)和其他的虛擬機(jī)沒(méi)有網(wǎng)絡(luò)連接了绳军。 b):給虛擬機(jī)分配一個(gè)虛擬網(wǎng)卡vnet0, 通過(guò)Linux Bridge br0 將 en0和vnet0連接起來(lái)印机。這個(gè)是實(shí)際采用的方案。

Linux Bridge可以看做是物理接口和虛擬接口的轉(zhuǎn)發(fā)器门驾。

如果添加虛擬機(jī)VM2射赛,自然也給它分配虛擬網(wǎng)卡vet0, 這兩塊虛擬網(wǎng)卡都通過(guò) br0 和en0通信,并且虛擬機(jī)之前是可以直接通信的猎唁。因此br0就充當(dāng)了兩臺(tái)虛擬機(jī)的出口網(wǎng)關(guān)咒劲。

1. VLAN

沒(méi)有VLAN之前,連在同一交換機(jī)上的主機(jī)共享廣播域诫隅,獨(dú)占沖突域腐魂,相互之間可以直接通信。 VLAN 能夠?qū)⒁粋€(gè)交換機(jī)的端口劃分為若干個(gè)組逐纬, 使得連接在同一組中端口的主機(jī)位于同一邏輯網(wǎng)絡(luò)中蛔屹,不同VLAN間通信需要經(jīng)過(guò)三層路由。

VLAN是二層上的隔離豁生,隔離廣播指的是二層以太網(wǎng)廣播幀兔毒,和三層的IP廣播報(bào)文區(qū)別開來(lái)。

VLAN用VLAN ID 唯一標(biāo)示組甸箱,范圍是 [1, 4096]育叁。 支持VLAN的交換機(jī)因而具有兩種端口:access端口和trunk端口。 access口隸屬某一個(gè)組芍殖,只能把a(bǔ)ccess口劃分給一個(gè)VLAN組豪嗽,沒(méi)有顯式指定,默認(rèn)在0號(hào)組。 trunk口允許不同的VLAN幀通過(guò)龟梦,通常是連接兩個(gè)交換機(jī)的端口模式隐锭。

image

eth0是宿主機(jī)的物理網(wǎng)卡,eth0.10是與它連接的子設(shè)備计贰。

eth0.10就是VLAN設(shè)備钦睡,vlan id 是10。

eth0.10掛載在brvlan10的Linux Bridge上躁倒, 虛擬機(jī)VM1的虛擬網(wǎng)卡vnet0也掛載在 brvlan10上荞怒。

如此一來(lái),vnet0, brvlan10 和 eth0.10 都接在VLAN10 的Access口上樱溉。而eth0充當(dāng)trunk口挣输。

如果再增加一個(gè)VLAN2

image

那么VM2的三個(gè)虛擬接口都是接在VLAN 20 上的。對(duì)于新創(chuàng)建的虛擬機(jī)福贞,只要為它創(chuàng)建一個(gè)VLAN組撩嚼,并將其虛擬網(wǎng)卡放到這個(gè)組中,就能共享宿主機(jī)的物理網(wǎng)卡了挖帘。還有完丽,一個(gè)物理網(wǎng)卡可以為多個(gè)虛擬網(wǎng)卡服務(wù),而一個(gè)虛擬網(wǎng)卡則只能對(duì)應(yīng)于一塊物理網(wǎng)卡拇舀。即一對(duì)多關(guān)系逻族。

2. Linux Bridge + VLAN = 虛擬交換機(jī)

對(duì)LVM的網(wǎng)絡(luò)虛擬化總結(jié):

  • 物理交換機(jī)存在多個(gè)VLAN, 每個(gè)VLAN擁有多個(gè)端口骄崩。

    同一VLAN的主機(jī)可以互相通信聘鳞,不同VLAN端口之間相互隔離。因此交換機(jī)包含兩層功能:交換和隔離要拂。

  • Linux的VLAN設(shè)備實(shí)現(xiàn)的是隔離抠璃,但沒(méi)有交換功能。

    一個(gè)VLAN母設(shè)備(如eth0)不能擁有兩個(gè)相同VLAN id的子設(shè)備脱惰。

  • Linux Bridge專門實(shí)現(xiàn)交換功能搏嗡。

    將同一VLAN的子設(shè)備都掛載到一個(gè)Bridge上,設(shè)備(也就是兩臺(tái)虛擬機(jī))之間可以交換數(shù)據(jù)拉一。

所以采盒,Linux Bridge + Vlan 模擬了現(xiàn)實(shí)的二層交換機(jī)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蔚润,一起剝皮案震驚了整個(gè)濱河市磅氨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嫡纠,老刑警劉巖悍赢,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件决瞳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡左权,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門痴颊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赏迟,“玉大人,你說(shuō)我怎么就攤上這事蠢棱⌒可保” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵泻仙,是天一觀的道長(zhǎng)糕再。 經(jīng)常有香客問(wèn)我,道長(zhǎng)玉转,這世上最難降的妖魔是什么突想? 我笑而不...
    開封第一講書人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮究抓,結(jié)果婚禮上猾担,老公的妹妹穿的比我還像新娘。我一直安慰自己刺下,他們只是感情好绑嘹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著橘茉,像睡著了一般工腋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上畅卓,一...
    開封第一講書人閱讀 51,231評(píng)論 1 299
  • 那天擅腰,我揣著相機(jī)與錄音,去河邊找鬼髓介。 笑死惕鼓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的唐础。 我是一名探鬼主播箱歧,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼一膨!你這毒婦竟也來(lái)了呀邢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤豹绪,失蹤者是張志新(化名)和其女友劉穎价淌,沒(méi)想到半個(gè)月后申眼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝉衣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年括尸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片病毡。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡濒翻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啦膜,到底是詐尸還是另有隱情有送,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布僧家,位于F島的核電站雀摘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏八拱。R本人自食惡果不足惜阵赠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乘粒。 院中可真熱鬧豌注,春花似錦、人聲如沸灯萍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)旦棉。三九已至齿风,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绑洛,已是汗流浹背救斑。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留真屯,地道東北人脸候。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像绑蔫,于是被迫代替她去往敵國(guó)和親运沦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

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