日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
虛擬化的基礎(chǔ)(linux內(nèi)核是xen)

隨著IT技術(shù)的不斷發(fā)展,虛擬化技術(shù)成為了當(dāng)今IT領(lǐng)域的熱門話題。那么,什么是虛擬化?虛擬化是指通過軟件技術(shù),將一臺(tái)計(jì)算機(jī)設(shè)備劃分為多個(gè)虛擬計(jì)算機(jī)環(huán)境,使得每個(gè)虛擬計(jì)算機(jī)環(huán)境都可以獨(dú)立運(yùn)行,并且擁有自己的操作系統(tǒng)、應(yīng)用程序等資源。

虛擬化技術(shù)不僅提高了IT資源的利用率,還可以實(shí)現(xiàn)資源的共享和動(dòng)態(tài)分配。因此,在今天這個(gè)日趨變化的技術(shù)發(fā)展時(shí)代中,虛擬化技術(shù)被視為企業(yè)IT架構(gòu)中必不可少的一部分。下面,我們將詳細(xì)介紹。

1. 虛擬化的概念

虛擬化技術(shù)將一臺(tái)計(jì)算機(jī)設(shè)備上的資源進(jìn)行分解,從而創(chuàng)建多個(gè)虛擬的計(jì)算機(jī)環(huán)境,使得每個(gè)虛擬環(huán)境都可以獨(dú)立運(yùn)行,而不會(huì)與其他環(huán)境產(chǎn)生干擾。虛擬化技術(shù)的出現(xiàn),使得多個(gè)應(yīng)用程序可以在一臺(tái)服務(wù)器上運(yùn)行,使得資源的利用率得到了極大的提高。

2. 虛擬化的類型

虛擬化技術(shù)具有多種類型,其中最常見的類型包括服務(wù)器虛擬化、存儲(chǔ)虛擬化和桌面虛擬化。

– 服務(wù)器虛擬化:將一臺(tái)服務(wù)器劃分為多個(gè)虛擬服務(wù)器,在一個(gè)物理服務(wù)器上運(yùn)行多個(gè)虛擬服務(wù)器,從而實(shí)現(xiàn)資源的共享和優(yōu)化;

– 存儲(chǔ)虛擬化:通過通過軟件技術(shù)來管理存儲(chǔ)設(shè)備,使得多個(gè)應(yīng)用程序可以同時(shí)訪問同一存儲(chǔ)設(shè)備,從而共享存儲(chǔ)資源;

– 桌面虛擬化:將多個(gè)桌面虛擬機(jī)運(yùn)行在一臺(tái)物理計(jì)算機(jī)上,使得多個(gè)桌面虛擬機(jī)能夠共享物理資源和數(shù)據(jù)。

3. 虛擬化的優(yōu)勢(shì)

虛擬化技術(shù)的出現(xiàn),可以帶來許多優(yōu)勢(shì),包括:

– 充分利用資源:虛擬化技術(shù)可以將一臺(tái)物理服務(wù)器切分為多個(gè)虛擬服務(wù)器,使得不同的應(yīng)用程序可以在不同的虛擬服務(wù)器上獨(dú)立運(yùn)行。

– 簡(jiǎn)化管理:虛擬化技術(shù)可以讓管理員通過一個(gè)控制面板來管理多個(gè)虛擬機(jī),從而簡(jiǎn)化了管理工作。

– 提高可用性:虛擬化技術(shù)可以通過快照和備份功能,為服務(wù)器建立快速恢復(fù)的機(jī)制。在出現(xiàn)系統(tǒng)故障時(shí),可以快速恢復(fù)系統(tǒng)。

– 節(jié)省成本:虛擬化技術(shù)可以通過共享物理資源,使得企業(yè)可以節(jié)省大量的成本。此外,虛擬化技術(shù)還可以降低硬件和管理成本。

4. 虛擬機(jī)的架構(gòu)

虛擬化技術(shù)的核心是虛擬機(jī)技術(shù)。虛擬機(jī)是一種軟件程序,類似于一部計(jì)算機(jī),擁有自己的CPU、內(nèi)存、硬盤、網(wǎng)卡等資源。虛擬機(jī)可以安裝操作系統(tǒng)和應(yīng)用程序,并獨(dú)立運(yùn)行。

在虛擬化技術(shù)中,有兩種虛擬機(jī):

– 宿主機(jī):也稱為物理機(jī),是一臺(tái)物理服務(wù)器,它運(yùn)行虛擬機(jī)軟件,并與虛擬機(jī)之間交換信息;

– 客戶機(jī):也稱為虛擬機(jī),是在宿主機(jī)上運(yùn)行的虛擬計(jì)算機(jī)環(huán)境,它可以安裝操作系統(tǒng)和應(yīng)用程序,擁有獨(dú)立的資源。

5. 虛擬化的實(shí)現(xiàn)

虛擬化技術(shù)的實(shí)現(xiàn),需要通過特定的虛擬化軟件進(jìn)行,虛擬化軟件可以分為兩種類型:

– 類型1:基于物理架構(gòu)的虛擬化。該類型的虛擬化軟件直接在物理計(jì)算機(jī)上安裝,它通常使用虛擬機(jī)監(jiān)控程序(VMM)來管理虛擬機(jī),并將虛擬機(jī)訪問指令轉(zhuǎn)化為物理機(jī)訪問指令;

– 類型2:基于操作系統(tǒng)的虛擬化。該類型的虛擬化軟件運(yùn)行在操作系統(tǒng)上,通過操作系統(tǒng)提供的虛擬化接口實(shí)現(xiàn)虛擬化。這種虛擬化軟件的優(yōu)勢(shì)在于它們很容易安裝,但是它們的性能通常比基于物理架構(gòu)的虛擬化軟件要低。

虛擬化技術(shù)是IT領(lǐng)域中的重要技術(shù),它可以幫助企業(yè)實(shí)現(xiàn)IT資源的更大化利用,提高企業(yè)業(yè)務(wù)的效率和可用性。虛擬化技術(shù)不僅提高了IT資源的利用率,還可以實(shí)現(xiàn)資源的共享和動(dòng)態(tài)分配。對(duì)于企業(yè)而言,實(shí)現(xiàn)虛擬化技術(shù)可以降低硬件和管理成本,并且提高系統(tǒng)安全性。因此,虛擬化技術(shù)是當(dāng)今企業(yè)IT架構(gòu)中必不可少的一部分。

相關(guān)問題拓展閱讀:

  • linux中ks和xen是什么服務(wù)
  • 請(qǐng)問為什么在Redhat Linux Enterprise 5中做集群時(shí),需要更改啟動(dòng)內(nèi)核為標(biāo)準(zhǔn)內(nèi)核,而不使用Xen內(nèi)核?謝謝
  • 【重識(shí)云原生】第.節(jié)——主流虛擬化技術(shù)之Xen

linux中ks和xen是什么服務(wù)

我不清楚ks代表什么,但是我知道xen是指虛擬化技派戚術(shù)的一種,啟動(dòng)了帶皮或xen技術(shù)的linux內(nèi)核塵握陵,就可以在這個(gè)linux上建立符合xen規(guī)范的虛擬機(jī)。

請(qǐng)問為什么在Redhat Linux Enterprise 5中做集群時(shí),需要更改啟動(dòng)內(nèi)核為標(biāo)準(zhǔn)內(nèi)核,而不使用Xen內(nèi)核?謝謝

因?yàn)?Xen內(nèi)核不是很穩(wěn)定,尤其是再對(duì)做LINUX HA的時(shí)候,因褲喊為Xen內(nèi)核啟動(dòng)之后,系統(tǒng)本身就是一手耐個(gè)Xen虛擬機(jī)胡薯野,而系統(tǒng)下的eth0和真正的物理網(wǎng)卡0其實(shí)是一種特殊的映射關(guān)系,有可能發(fā)生拔掉網(wǎng)線卻不報(bào)錯(cuò)的情況。。

開機(jī)啟動(dòng)grub里可以選擇,一個(gè)帶xen,一個(gè)不帶XEN,仔細(xì)看。

【重識(shí)云原生】第.節(jié)——主流虛擬化技術(shù)之Xen

Xen知識(shí)地圖:

Xen是由劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室開發(fā)的一個(gè)開源項(xiàng)目,是一個(gè)開源的可直接運(yùn)行于硬件層之上的虛擬化軟件,它屬于type-I型虛擬化系統(tǒng),支持萬貫虛擬化和超虛擬化,以高性數(shù)改能、占用資源少著稱,贏得了IBM、AMD、HP、Red Hat和Novell等眾多世界級(jí)軟硬件廠商的高度認(rèn)可和大力支持,已被國(guó)內(nèi)外眾多企事業(yè)用戶用來搭建高性能的虛擬化平臺(tái)。

Xen僅對(duì)CPU和Memory直接接管,而其它IO硬件驅(qū)動(dòng)則由其上運(yùn)行的之一個(gè)虛擬機(jī)來提供支持,它能夠在計(jì)算機(jī)硬件上并發(fā)的運(yùn)行多個(gè)客戶操作系統(tǒng)(Guest OS)。支持x86、x86-64、安騰( Itanium)、Power PC和ARM多種處理器,因此Xen可游橘以在大量的計(jì)算設(shè)備上運(yùn)行,目前Xen支持Linux、NetBSD、FreeBSD、Solaris、 Windows和其他神畢團(tuán)常用的操作系統(tǒng)作為客戶操作系統(tǒng)在其管理程序上運(yùn)行。

     Xen默認(rèn)認(rèn)為自己是直接運(yùn)行于硬件層之上的虛擬化軟件(即Xen Hypervisor層),并且可以直接驅(qū)動(dòng)CPU和內(nèi)存,需注意CPU和內(nèi)存是所有想要運(yùn)行的操作系統(tǒng)必須能直接支持的,但Xen為保證自身的小巧,它并沒有提供虛擬機(jī)的管理接口,因此它采用了一種獨(dú)特的方式,先運(yùn)行一臺(tái)特權(quán)虛擬機(jī)(即Domain 0),且這臺(tái)VM必須支持Kernel的修改,因此選擇開源的Linux做為特權(quán)VM是最合適的,這樣也可方便采用Linux所支持的方式來開發(fā)虛擬機(jī)管理接口,實(shí)現(xiàn)與Xen Hypervisor層直接交互來完成為VM分配CPU和內(nèi)存資源及創(chuàng)建、刪除、停止、啟動(dòng)VM的管理接口。通常這臺(tái)特權(quán)虛擬機(jī)一定會(huì)采用當(dāng)前比較流行的Linux發(fā)行版,因?yàn)樗苤С指郔O硬件設(shè)備,如:網(wǎng)卡,磁盤,顯卡,聲卡等;到目前為止,NetBSD,GNU/Linux,F(xiàn)reeBSD和Plan 9,OpenSolaris等系統(tǒng)已經(jīng)支持已半虛擬化方式運(yùn)行在Xen的DomU中。目前Xen已經(jīng)支持x86、x86_64和ARM等平臺(tái),并正在向IA64、PPC移植。移植到其他平臺(tái)從技術(shù)上是可行的,未來有可能會(huì)實(shí)現(xiàn)。

Xen虛擬機(jī)支持在不停止的情況下在多個(gè)物理主機(jī)之間實(shí)時(shí)遷移。在操作過程中,虛擬機(jī)在沒有停止工作的情況下內(nèi)存被反復(fù)地復(fù)制到目標(biāo)機(jī)器。虛擬機(jī)在最終目的地開始執(zhí)行之前,會(huì)有一次60-300毫秒的非常短暫的暫停以執(zhí)行最終的同步化,給人無縫遷移的感覺。類似的技術(shù)被用來暫停一臺(tái)正在運(yùn)行的虛擬機(jī)到磁盤,并切換到另外一臺(tái),之一臺(tái)虛擬機(jī)在以后可以恢復(fù)。

  如上圖所示,Xen虛擬環(huán)境由三部分組件組成:

XEN Hypervisor

Xen Hypervisor 是介于操作系統(tǒng)和硬件之間的一個(gè)軟件抽象層。它負(fù)責(zé)在各個(gè)虛擬機(jī)之間進(jìn)行CPU調(diào)度和內(nèi)存分配。Xen Hypervisor不僅抽象出虛擬機(jī)的硬件,同時(shí)還控制著各個(gè)虛擬機(jī)的執(zhí)行。Xen Hypervisor不會(huì)處理網(wǎng)絡(luò)、存儲(chǔ)設(shè)備、視頻以及其他 I/O。

Domain 0 Guest

Domain 0是特權(quán)域,是一個(gè)修改過的Linux kernel,是唯一運(yùn)行在 Xen Hypervisor之上的虛擬機(jī),它擁有訪問物理 I/O 資源的權(quán)限,同時(shí)和系統(tǒng)上運(yùn)行的其他虛擬機(jī)(Domain U: PV and HVM Guest)進(jìn)行交互。Domain 0需要在其它Domain啟動(dòng)之前啟動(dòng)。

Domain 0 中有兩個(gè)驅(qū)動(dòng) Network Backend Driver 和 Block Backend Driver,它們分別用來處理來自 Domain U 的網(wǎng)絡(luò)和本地磁盤請(qǐng)求。 Network Backend Driver與本地網(wǎng)絡(luò)硬件直接通信,以此來處理來自于Domain U所有虛擬機(jī)訪問網(wǎng)絡(luò)設(shè)備的請(qǐng)求;Block Backend Drive與本地存儲(chǔ)設(shè)備進(jìn)行通信,以此來處理來自于Domain U的磁盤數(shù)據(jù)讀寫的請(qǐng)求。

Domain U Guest(Dom U)

Domain U沒有直接訪問物理硬件的權(quán)限(Domain U的”U”是來自于英文單詞 unprivileged,是指沒有權(quán)限的),但Domain 0有。

運(yùn)行在 Xen Hypervisor 上的所有半虛擬化(paravirtualized)虛擬機(jī)被稱為“Domain U PV Guests”,其上運(yùn)行著被修改過內(nèi)核的操作系統(tǒng),如 Linux、Solaris、FreeBSD 等其它 UNIX 操作系統(tǒng)。

所有的全虛擬化虛擬機(jī)被稱為“Domain U HVM Guests”,其上運(yùn)行著不用修改內(nèi)核的操作系統(tǒng),如 Windows 等。

Domain U PV Guest 中也包括兩個(gè)驅(qū)動(dòng)“PV Network Driver”和“PV Block Driver”,它們分別也是用來處理發(fā)送網(wǎng)絡(luò)和本地磁盤請(qǐng)求用的,這與 Domain 0 中的兩個(gè)驅(qū)動(dòng)是相對(duì)應(yīng)的。

     Xen對(duì)虛擬機(jī)的虛擬化分為兩大類,半虛擬化(Para virtualization)和完全虛擬化(Hardware VirtualMachine)。

半虛擬化(Paravirtualization)有些資料稱為“超虛擬化”,簡(jiǎn)稱為PV,是Xen主導(dǎo)的虛擬化技術(shù)。這種技術(shù)允許虛擬機(jī)操作系統(tǒng)感知到自己運(yùn)行在Xen Hypervisor上而不是直接運(yùn)行在硬件上,同時(shí)也可以識(shí)別出其他運(yùn)行在相同環(huán)境中的客戶虛擬機(jī)。

在Xen Hypervisor上運(yùn)行的半虛擬化的操作系統(tǒng),為了調(diào)用系統(tǒng)管理程序(Xen Hypervisor),要有選擇地修改操作系統(tǒng),然而卻不需要修改操作系統(tǒng)上運(yùn)行的應(yīng)用程序。由于 Xen 需要修改操作系統(tǒng)內(nèi)核,所以您不能直接讓當(dāng)前的 Linux 內(nèi)核在 Xen 系統(tǒng)管理程序中運(yùn)行,除非它已經(jīng)移植到了Xen 架構(gòu)。不過,如果當(dāng)前系統(tǒng)可以使用新的已經(jīng)移植到 Xen 架構(gòu)的Linux 內(nèi)核,那么您就可以不加修改地運(yùn)行現(xiàn)有的系統(tǒng)。

完全虛擬化(Hardware Virtual Machine)又稱“硬件虛擬化”,簡(jiǎn)稱HVM,是指運(yùn)行在虛擬環(huán)境上的虛擬機(jī)在運(yùn)行過程中始終感覺自己是直接運(yùn)行在硬件之上的,并且感知不到在相同硬件環(huán)境下運(yùn)行著其他虛擬機(jī)的虛擬技術(shù)。此種虛擬化需要借助于Intel的VT-x 或 AMD的AMD-v 等硬件輔助虛擬化技術(shù)(詳細(xì)技術(shù)原理參見1.5.1節(jié))及Qemu的IO硬件模擬技術(shù),才能支持GuestOS的kernel不修改,就可直接被DomU支持。

在Xen Hypervisor運(yùn)行的完全虛擬化虛擬機(jī),所運(yùn)行的操作系統(tǒng)都是標(biāo)準(zhǔn)的操作系統(tǒng),即:無需任何修改的操作系統(tǒng)版本。同時(shí)也需要提供特殊的硬件設(shè)備。

值的注意的是,在Xen上虛擬的Windows虛擬機(jī)必須采用完全虛擬化技術(shù)。

為了提高性能,完全虛擬化的Guests可以使用特殊的半虛擬設(shè)備驅(qū)動(dòng)程序(PVHVM或PV-on-HVM驅(qū)動(dòng))。這些驅(qū)動(dòng)程序在HVM環(huán)境下優(yōu)化你的 PV驅(qū)動(dòng),模擬的磁盤和網(wǎng)絡(luò)IO旁路運(yùn)行,從而讓你的PV在HVM中有更好的性能。這意味著你在用戶窗口操作方面可以得到更佳的性能。

注意,Xen項(xiàng)目PV(半虛擬化)的Guest自動(dòng)使用PV驅(qū)動(dòng),因此不需要這些驅(qū)動(dòng)程序,因?yàn)槟阋呀?jīng)自動(dòng)使用優(yōu)化的驅(qū)動(dòng)程序。PVHVM只會(huì)在HVM(全虛擬化)guest虛擬機(jī)中需要。

Xen 的 VMM ( Xen Hypervisor ) 位于操作系統(tǒng)和硬件之間,負(fù)責(zé)為上層運(yùn)行的操作系統(tǒng)內(nèi)核提供虛擬化的硬件資源,負(fù)責(zé)管理和分配這些資源,并確保上層虛擬機(jī)(稱為域 Domain)之間的相互隔離。Xen采用混合模式,因而設(shè)定了一個(gè)特權(quán)域用以輔助Xen管理其他的域,并提供虛擬的資源服務(wù),該特權(quán)域稱為Domain 0,而其余的域則稱為Domain U。

Xen向Domain提供了一個(gè)抽象層,其中包含了管理和虛擬硬件的API。Domain 0內(nèi)部包含了真實(shí)的設(shè)備驅(qū)動(dòng)(原生設(shè)備驅(qū)動(dòng)),可直接訪問物理硬件,負(fù)責(zé)與 Xen 提供的管理 API 交互,并通過用戶模式下的管理工具來管理 Xen 的虛擬機(jī)環(huán)境。

Xen2.0之后,引入了分離設(shè)備驅(qū)動(dòng)模式。該模式在每個(gè)用戶域中建立前端(front end)設(shè)備,在特權(quán)域(Dom0)中建立后端(back end)設(shè)備。所有的用戶域操作系統(tǒng)像使用普通設(shè)備一樣向前端設(shè)備發(fā)送請(qǐng)求,而前端設(shè)備通過IO請(qǐng)求描述符(IO descripror ring)和設(shè)備通道(device channel)將這些請(qǐng)求以及用戶域的身份信息發(fā)送到處于特權(quán)域中的后端設(shè)備。這種體系將控制信息傳遞和數(shù)據(jù)傳遞分開處理。

在Xen體系結(jié)構(gòu)設(shè)計(jì)中,后端設(shè)備運(yùn)行的特權(quán)域被賦予一個(gè)特有的名字—隔離設(shè)備域(Isolation Device Domain, IDD),而在實(shí)際設(shè)計(jì)中,IDD 就處在Dom0中。所有的真實(shí)硬件訪問都由特權(quán)域的后端設(shè)備調(diào)用本地設(shè)備驅(qū)動(dòng) (native device driver)發(fā)起。前端設(shè)備的設(shè)計(jì)十分簡(jiǎn)單,只需要完成數(shù)據(jù)的轉(zhuǎn)發(fā)操作,由于它們不是真實(shí)的設(shè)備驅(qū)動(dòng)程序,所以也不用進(jìn)行請(qǐng)求調(diào)度操作。而運(yùn)行在IDD中的后端設(shè)備,可以利用Linux的現(xiàn)有設(shè)備驅(qū)動(dòng)來完成硬件訪問,需要增加的只是IO請(qǐng)求的橋接功能—能完成任務(wù)的分發(fā)和回送。

1)半虛擬化技術(shù)實(shí)現(xiàn)原理

采用半虛擬化技術(shù)的虛擬機(jī)操作系統(tǒng)能夠識(shí)別到自己是運(yùn)行在Xen Hypervisor而非直接運(yùn)行于硬件之上,并且也可以識(shí)別到在相同的機(jī)器上運(yùn)行的其他虛擬機(jī)系統(tǒng)。而且運(yùn)行的操作系統(tǒng)都需要進(jìn)行相應(yīng)的修改。

半虛擬化客戶機(jī)(Domain U PV Guests)包含兩個(gè)用于操作網(wǎng)絡(luò)和磁盤的驅(qū)動(dòng)程序,PV Network Driver 和PV Block Driver。

PV Network Driver負(fù)責(zé)為Domain U提供網(wǎng)絡(luò)訪問功能。PV Block Driver負(fù)責(zé)為Domain U提供磁盤操作功能。

2)完全虛擬化技術(shù)實(shí)現(xiàn)原理

完全虛擬化客戶機(jī)(Domain U HVM Guests)運(yùn)行的是標(biāo)準(zhǔn)版本的操作系統(tǒng),因此其操作系統(tǒng)中不存在半虛擬化驅(qū)動(dòng)程序(PV Driver),但是在每個(gè)完全虛擬化客戶機(jī)都會(huì)在Domain 0中存在一個(gè)特殊的精靈程序,稱作:Qemu-DM,Qemu-DM幫助完全虛擬化客戶機(jī)(Domain U HVM Guest)獲取網(wǎng)絡(luò)和磁盤的訪問操作。

完全虛擬化客戶機(jī)必須和在普通硬件環(huán)境下一樣進(jìn)行初始化,所以需要在其中加入一個(gè)特殊的軟件Xen virtual firmware,來模擬操作系統(tǒng)啟動(dòng)時(shí)所需要的BIOS。

開源社區(qū)中將一系列的Linux精靈程序分類為“管理”和“控制”兩大類。這些服務(wù)支撐著整個(gè)虛擬環(huán)境的管理和控制操作,并且存在于Domain 0虛擬機(jī)中。

下面將對(duì)直接服務(wù)進(jìn)行詳細(xì)的描述。

注:為了清晰的描述Xen的運(yùn)行流程,畫圖時(shí)將精靈程序放在Domain 0外部來描述,但事實(shí)上所有精靈程序都存在于Domain 0 之中。

1)Xend

Xend精靈線程是一個(gè)Python應(yīng)用程序,它作為Xen環(huán)境的系統(tǒng)管理員。它利用Libxenctrl類庫向Xen Hypervisor發(fā)出請(qǐng)求。

所有Xend處理的請(qǐng)求都是由XM工具使用XML RPC接口發(fā)送過來的。

2)Xm

用于將用戶輸入通過XML RPC接口傳遞到Xend中的命令行工具。

3)Xenstored

Xenstored精靈程序用于維護(hù)注冊(cè)信息,這些信息包括內(nèi)存和在連接Domain 0和所有其他Domain U之間的事件通道。Domain 0虛擬機(jī)利用這些注冊(cè)信息來與系統(tǒng)中其他虛擬機(jī)建立設(shè)備通道,即幫助Domain U虛擬機(jī)訪問硬件資源。

4)Libxenctrl

Libxenctrl是C程序類庫,用于讓Xend具有通過Domain 0與Xen Hypervisor進(jìn)行交互的能力。在Domain 0中存在一個(gè)特殊的驅(qū)動(dòng)程序稱作privcmd,它將請(qǐng)求發(fā)送給Hypervisor。

5)Qemu-DM

在Xen環(huán)境下,每個(gè)完全虛擬化虛擬機(jī)都需要擁有自己的Qemu精靈程序。Qemu-DM處理在Xen環(huán)境下完全虛擬化客戶機(jī)所能允許執(zhí)行的所有關(guān)于網(wǎng)絡(luò) 和磁盤請(qǐng)求和操作。Qemu程序必須存在于Hypervisor之外同時(shí)又需要訪問網(wǎng)絡(luò)和I/O,所以Qemu-DM必須存在于Domain 0 中(參見前面章節(jié)對(duì)Domain 0 的描述)。

未來版本的Xen中,一種新的工具Stub-DM將會(huì)提供一系列對(duì)所有完全虛擬化客戶機(jī)都可用的服務(wù),以此來替代需要在每個(gè)虛擬機(jī)上都生成一個(gè)Qemu的邏輯。

6)Xen Virtual Firmware

Xen Virtual Firmware是被嵌入到所有完全虛擬化客戶機(jī)中的虛擬BIOS系統(tǒng),來確保所有客戶操作系統(tǒng)在正常啟動(dòng)操作中接收到標(biāo)準(zhǔn)的啟動(dòng)指令集并提供標(biāo)準(zhǔn)的軟件兼容環(huán)境。

根據(jù)前幾章節(jié)所述,Xen Hypervisor不負(fù)責(zé)處理網(wǎng)絡(luò)和磁盤請(qǐng)求,因此半虛擬化客戶機(jī)(Domain U PV)必須通過Domain 0 與Xen Hypervisor進(jìn)行通信,從而完成網(wǎng)絡(luò)和磁盤的操作請(qǐng)求。下面以半虛擬化客戶機(jī)(Domain U PV)執(zhí)行向本地磁盤寫入數(shù)據(jù)為例描述Domain 0與Domain U PV的交互過程。

半虛擬化客戶機(jī)(Domain U PV)的PV Block Driver接收到要向本地磁盤寫入數(shù)據(jù)的請(qǐng)求,然后通過Xen Hypervisor將與Domain 0共享的本地內(nèi)存中的數(shù)據(jù)寫入到本地磁盤中。在Domain 0 和半虛擬化Domain U之間存在事件通道,這個(gè)通道允許它們之間通過存在于Xen Hypervisor內(nèi)的異步中斷來進(jìn)行通信。Domain 0將會(huì)接收到一個(gè)來自于Xen Hypervisor的系統(tǒng)中斷,并觸發(fā)Domain 0中的Block Backend驅(qū)動(dòng)程序去訪問本地系統(tǒng)內(nèi)容,并從與半虛擬化客戶機(jī)的共享內(nèi)存中讀取適合的數(shù)據(jù)塊。從共享內(nèi)存中讀取的數(shù)據(jù)隨后被寫入到本地磁盤的指定位置中。

上圖中所顯示的事件通道是直接連接Domain 0 和Domain U PV是為了清晰和簡(jiǎn)單的描述系統(tǒng)是如何運(yùn)行的。但事實(shí)上,事件通道(Event Channel)運(yùn)行于Xen Hypervisor中,并在Xenstored中注冊(cè)特定的系統(tǒng)中斷,以此來讓Domain 0 和Domain U PV能夠通過本地內(nèi)存快速的共享信息。

  Xen在給VM提供CPU的虛擬化時(shí),它采用的也是在Xen hypervisor層啟動(dòng)一個(gè)線程,并將這些線程映射到某個(gè)物理核心上,當(dāng)然通過DomU的配置文件中的cpus可以指定將這些模擬CPU的線程綁定到某幾個(gè)物理核心上;而內(nèi)存的虛擬化則是內(nèi)存頁的映射,將物理內(nèi)存上多個(gè)連續(xù)或不連續(xù)的內(nèi)存頁映射給VM,讓VM看來這就是一個(gè)完整的連續(xù)的內(nèi)存空間。

  當(dāng)啟動(dòng)一個(gè)用戶VM(DomU)時(shí),該VM所需的CPU和內(nèi)存都由Xen Hypervisor提供,而它若需要使用IO設(shè)備時(shí),則向特權(quán)VM(即Dom0)發(fā)起請(qǐng)求,特權(quán)VM會(huì)為該用戶VM創(chuàng)建一個(gè)模擬的硬件設(shè)備線程,并運(yùn)行于特權(quán)VM的用戶空間,當(dāng)用戶VM向該IO硬件發(fā)起調(diào)用時(shí),特權(quán)VM上相應(yīng)的模擬設(shè)備接收請(qǐng)求并將其轉(zhuǎn)化為特權(quán)VM對(duì)IO硬件的操作,交給特權(quán)VM的內(nèi)核來代為完成其操作。這里需注意這些虛擬IO硬件需要由Qemu來模擬,Xen本身并沒有提供相應(yīng)的模擬功能。(注:特權(quán)VM的CPU和內(nèi)存也是有Xen Hypervisor提供)

1)Qemu模擬IO設(shè)備(完全虛擬化方式)

  Qemu模擬IO設(shè)備(完全虛擬化方式):假如用戶VM向特權(quán)VM請(qǐng)求磁盤,特權(quán)VM可以將一個(gè)分區(qū)、文件等,通過Qemu將其模擬成一個(gè)磁盤設(shè)備,就拿文件來說,特權(quán)VM先創(chuàng)建一個(gè)映像文件,再通過Qemu為該文件模擬一個(gè)磁盤控制器芯片;然后,將其映射到用戶VM上,當(dāng)然模擬的這個(gè)磁盤控制器芯片一定是一個(gè)最常見的,用戶VM的Kernel一定支持的,但需注意:模擬的磁盤可能會(huì)與實(shí)際的物理磁盤不同,因?yàn)橐M可能兼容。這樣一來用戶VM假如要寫數(shù)據(jù)到磁盤的過程如下:

  用戶VM-APP—>用戶VM-Kernel調(diào)用虛擬磁盤的驅(qū)動(dòng)進(jìn)行寫數(shù)據(jù)前的準(zhǔn)備(如:數(shù)據(jù)寫入到磁盤中的扇區(qū)位置/數(shù)據(jù)編碼等)—>

  用戶VM-Kernel將編碼后的信息發(fā)給特權(quán)VM的模擬磁盤進(jìn)程—>

  特權(quán)VM的模擬磁盤進(jìn)程再將編號(hào)信息還原后發(fā)給特權(quán)VM-kernel—>

  特權(quán)VM-kernel調(diào)用真實(shí)物理磁盤的驅(qū)動(dòng)對(duì)數(shù)據(jù)進(jìn)行寫前準(zhǔn)備—>最后磁盤驅(qū)動(dòng)調(diào)度磁盤完成寫入

摘錄補(bǔ)充:(

Xen向Domain提供了一個(gè)抽象層,其中包含了管理和虛擬硬件的API。Domain 0內(nèi)部包含了真實(shí)的設(shè)備驅(qū)動(dòng)(原生設(shè)備驅(qū)動(dòng)),可直接訪問物理硬件,Xen 提供的管理 API 可與其交互,并通過用戶模式下的管理工具(如:xm/xend、xl等)來管理 Xen 的虛擬機(jī)環(huán)境。

2)半虛擬化IO設(shè)備

半虛擬化的IO設(shè)備:它與模擬更大不同是DomU知道自己是運(yùn)行在虛擬化環(huán)境中的,并且知道這個(gè)磁盤不是真正的磁盤,它只是Xen模擬的一個(gè)磁盤前端驅(qū)動(dòng)(Disk Frontend),它要寫數(shù)據(jù)時(shí),直接將數(shù)據(jù)交給Disk Frontend,而不再去調(diào)用磁盤驅(qū)動(dòng)進(jìn)行數(shù)據(jù)編碼,當(dāng)特權(quán)VM端的Disk backend收到來自DomU的數(shù)據(jù)時(shí),也是直接轉(zhuǎn)給特權(quán)VM-Kernel,由其直接調(diào)用物理磁盤驅(qū)動(dòng)來對(duì)這些原始數(shù)據(jù)進(jìn)行處理并寫入磁盤。

摘錄補(bǔ)充:(

  Xen2.0之后,引入了分離設(shè)備驅(qū)動(dòng)模式。該模式在每個(gè)用戶域中建立前端(front end)設(shè)備,在特權(quán)域(Dom0)中建立后端(back end)設(shè)備。所有的用戶域操作系統(tǒng)像使用普通設(shè)備一樣向前端設(shè)備發(fā)送請(qǐng)求,而前端設(shè)備通過IO請(qǐng)求描述符(IO descripror ring)和設(shè)備通道(device channel)將這些請(qǐng)求以及用戶域的身份信息發(fā)送到處于特權(quán)域中的后端設(shè)備。這種體系將控制信息傳遞和數(shù)據(jù)傳遞分開處理(類似云計(jì)算中常說的控制面與數(shù)據(jù)面分離設(shè)計(jì))。

  半虛擬化客戶機(jī)(Domain U PV)的PV Block Driver接收到要向本地磁盤寫入數(shù)據(jù)的請(qǐng)求,然后通過Xen Hypervisor將自己與Domain 0共享的本地內(nèi)存中的數(shù)據(jù)寫入到本地磁盤中。在Domain 0 和半虛擬化Domain U之間存在事件通道,這個(gè)通道允許它們之間通過存在于Xen Hypervisor內(nèi)的異步中斷來進(jìn)行通信。Domain 0將會(huì)接收到一個(gè)來自于Xen Hypervisor的系統(tǒng)中斷,并觸發(fā)Domain 0中的Block Backend驅(qū)動(dòng)程序去訪問本地系統(tǒng)內(nèi)容,并從自己與半虛擬化客戶機(jī)的共享內(nèi)存中讀取適合的數(shù)據(jù)塊后,隨即被寫入到本地磁盤的指定位置中。

     但無論采用模擬或半虛擬化最終都是對(duì)物理磁盤的操作,假如當(dāng)前只有一個(gè)物理磁盤,眾多用戶VM都在進(jìn)行大量的讀寫請(qǐng)求,此時(shí),為了避免用戶VM無限制的向特權(quán)VM發(fā)起請(qǐng)求,特權(quán)VM中采用一個(gè)環(huán)狀緩存區(qū),每到一個(gè)IO請(qǐng)求,就先將其塞入這個(gè)環(huán)狀緩沖區(qū)的槽位中,若緩沖區(qū)滿了,就會(huì)告訴用戶VM IO設(shè)備繁忙。當(dāng)然其它各種IO設(shè)備大致都采用這種機(jī)制來控制。

在虛擬化環(huán)境中虛擬網(wǎng)絡(luò)是十分重要但又比較難,需要特別注意;

  在Linux中實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的方法中比較常用的工具有兩個(gè):bridge-utils 和 openvswitch,它們創(chuàng)建的虛擬網(wǎng)絡(luò)設(shè)備是不能相互使用的,比如:bridge-utils創(chuàng)建的橋設(shè)備,openvswitch是無法識(shí)別的。

  用下圖來做簡(jiǎn)單說明:

1)Bridge模式

Xend啟動(dòng)時(shí)流程:

1、創(chuàng)建虛擬網(wǎng)橋 xenbr0;

2、停止物理網(wǎng)卡 eth0;

3、物理網(wǎng)卡 eth0 的 MAC 地址和 IP 地址被復(fù)制到虛擬網(wǎng)卡 veth0;

4、物理網(wǎng)卡 eth0 重命名為 peth0;

5、Veth0 重命名為 eth0;

6、Peth0 的 MAC 地址更改( FE:FF:FF:FF:FF:FF ),ARP 功能關(guān)閉;

7、連接 peth0、vif0.0 到網(wǎng)橋 xenbr0

8、啟動(dòng) peth0、vif0.0、xenbr0

Domain U 啟動(dòng)時(shí)的流程:

1、vif.0 連接到 xenbr0

2、啟動(dòng)vif.0

2)Route 模式

Xend啟動(dòng)時(shí)的流程:

1、開啟Domain 0的IP Forward。

Domain U啟動(dòng)時(shí)的流程:

1、創(chuàng)建 vif.0 ,dom U eth0的IP地址被拷貝到vif。

2、啟動(dòng) vif.0。

3、為domU的配置文件中指向虛擬接口vif.0分配的IP地址增加靜態(tài)路由。

3)NAT模式

NAT 模式會(huì)使用虛擬局域網(wǎng) virbr0

    安裝了Xen的Linux機(jī)器,在Dom 0中能看到以下幾類網(wǎng)卡(網(wǎng)絡(luò)接口設(shè)備 ):

(X ,Y都為數(shù)字)

pethY

ethY

xenbrY

virbrY

vifX.Y(X為DomaiID,Y表示該虛擬網(wǎng)卡是該Domain的第幾塊虛擬網(wǎng)卡)

vethY (一般在Xend啟動(dòng)完成以后就不存在了)

  xend : 這是Xen Hypervisor的Dom0上運(yùn)行的服務(wù),此服務(wù)用來監(jiān)控xm命令發(fā)來的指令,并完成相應(yīng)的動(dòng)作。

  xm : Xen Management,用來管理VM的創(chuàng)建、刪除、啟動(dòng)、快照、刪除、停止等的管理工具。

  xl : 這是一個(gè)基于libxenlight庫的一個(gè)輕量級(jí)VM管理工具,它從Xen4.1開始出現(xiàn),從4.3以后,它被作為主要的VM管理工具,而xm這個(gè)重量級(jí)管理工具開始被提示廢棄.以下為xm、xl的對(duì)比圖:

     xl 和 xm都需要調(diào)用libxenlight,但xl不需要運(yùn)行任何服務(wù),它可直接調(diào)用libxenlight完成相關(guān)操作。

  xe/XAPI,是xend的一個(gè)API管理接口,通常用于Xen Cloud環(huán)境中:Xen Server, XCP

  virsh/ libvirt : 這是Redhat發(fā)起開發(fā)的一套用于管理眾多不同類別的VM的管理工具。

    virsh : 這是一個(gè)命令行工具

    libvirt: 則是一個(gè)lib庫, libvirtd守護(hù)進(jìn)程用于監(jiān)聽virsh命令操作,并調(diào)用lbvirt完成相關(guān)操作.

  10年4月Xen4.0.0發(fā)布,改進(jìn)后Xen的DomU更大可支持虛擬CPU 64顆,Xen主機(jī)可支持1TB內(nèi)存和128顆物理CPU,磁盤可支持快照和克?。籋VM客戶機(jī)支持虛擬內(nèi)存頁共享;

  11年4月發(fā)布的Xen4.1版后,xm/xend開始被提示廢棄,xl這個(gè)更輕量級(jí)的Xen VM管理工具逐漸成為主流。

15年為止已經(jīng)發(fā)布Xen4.5版本,目前yum源可用的最新版Xen是4.6.1版的(

)。

  Linux2.6.37:kernel開始對(duì)Xen進(jìn)行支持,并加其加入到Kernel中。

  Linux3.0:Kernel開始對(duì)Xen的關(guān)鍵部分進(jìn)行優(yōu)化。

  RHEL對(duì)Xen的支持概況:

    Redhat系列對(duì)Xen的支持情況:

    RHEL5.7 ~ 及以前版本:默認(rèn)的企業(yè)虛擬化技術(shù)為Xen。

  但Redhat提供了兩種內(nèi)核:

    kernel-… :這是僅允許RHEL系統(tǒng)的內(nèi)核,不能運(yùn)行在DomU中。

    kernel-xen.. :這是需要部署XenServer時(shí),使用的Kernel版本。

    RHEL6 ~ 及以后版本:默認(rèn)支持KVM(收購自以色列的一款虛擬化工具),并且不在對(duì)Xen做任何支持,但允許自己運(yùn)行在DomU中。

Linux內(nèi)核態(tài)、用戶態(tài)簡(jiǎn)介與IntelCPU特權(quán)級(jí)別–Ring0-3_weixin_的博客-CSDN博客

云計(jì)算技術(shù) — 云計(jì)算技術(shù)發(fā)展編年史_煙云的計(jì)算-CSDN博客_云計(jì)算編年史

虛擬化技術(shù)原理(CPU、內(nèi)存、IO)_joneslee的博客-CSDN博客_虛擬化原理

五種主流的虛擬化技術(shù)_遠(yuǎn)有青山-CSDN博客_虛擬化技術(shù)

Xen原理

Xen原理 – 張朝鋒 – 博客園

Xen虛擬化技術(shù)原理_IT人生活的技術(shù)博客_51CTO博客

Xen虛擬化基本原理詳解

Xen虛擬化基本原理詳解 – stardsd – 博客園

Xen工作原理_為幸福寫歌的博客-CSDN博客_xen原理

Xen_百度百科

關(guān)于linux內(nèi)核是xen的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


分享標(biāo)題:虛擬化的基礎(chǔ)(linux內(nèi)核是xen)
標(biāo)題網(wǎng)址:http://www.5511xx.com/article/cdpppip.html