『壹』 如何設置硬體虛擬化
如果要採用虛擬化,那伺服器的硬體配置應該如何計算?例如每個虛擬機需要1個CPU,2G內存,100G硬碟,100Mbps的網路帶寬,數量為200個虛擬機等。
1. 處理器:Hyper-V R2最多能利用到主機的64個Logical Processor,同時一個Logical Processor能支持運行8個虛擬Processor,即如果是一台一個CPU的單核處理器主機,最多運行8個虛擬機。在Hyper-V R2中考慮到性能因素,我們在一台宿主機上最多能運行384個虛擬機(假設每個虛擬機只有一個虛擬Processor)。例如,如果我們要在一台宿主機上運行200個Win 7,宿主機最少得擁有25核(25*8=200),折算成2的冪,就是32核。這當然是建立在每個Win 7隻分配一個虛擬CPU的前提上。如果每個Win 7需要2 CPU,那200*2=400,就超過384的上限了,就不能全部在一台宿主機上運行了。
比如需要運行的虛擬機有16個,每個虛擬機分配2個虛擬CPU,那麼總共需要的虛擬CPU數量為16*2=32個,最少需要32/8=4個邏輯處理器,如果採用的是雙核CPU,那麼最少需要2顆雙核CPU。
2. 處理器:緩存越大越好,尤其在虛擬處理器和物理處理器間的比值很高的時候。
3. 內存:Host RAM = (VMRamRequirementMB x #ofVMs) + (#of VMs x 32MBVMOverhead ) + (512MBHost)。按我舉的例子來講,宿主機內存=2G*200+200*32MB+512MB=406.75 GB,當然我們可以做一些冗餘,取512GB(企業版和數據中心版能支持到2TB的內存)
4. 網路:如果網路數據傳輸量很大,可以安裝多塊網卡,在一塊網卡上綁定多個虛擬機。例如每個虛擬機需要100Mbps,那主機有可能需要20塊1000Mbps的網卡,每個網卡綁定10個虛機。
5. 存儲:推薦使用固定尺寸的VHD文件作為虛擬機的硬碟文件,推薦後台連接一個SAN作存儲資源,例如總存儲容量需要100G*200。
我是從IT號外知道的。
『貳』 【重識雲原生】第2.3節——主流虛擬化技術之Xen
Xen知識地圖:
Xen是由劍橋大學計算機實驗室開發的一個開源項目,是一個開源的可直接運行於硬體層之上的虛擬化軟體,它屬於type-I型虛擬化系統,支持萬貫虛擬化和超虛擬化,以高性能、佔用資源少著稱,贏得了IBM、AMD、HP、Red Hat和Novell等眾多世界級軟硬體廠商的高度認可和大力支持,已被國內外眾多企事業用戶用來搭建高性能的虛擬化平台。
Xen僅對CPU和Memory直接接管,而其它IO硬體驅動則由其上運行的第一個虛擬機來提供支持,它能夠在計算機硬體上並發的運行多個客戶操作系統(Guest OS)。支持x86、x86-64、安騰( Itanium)、Power PC和ARM多種處理器,因此Xen可以在大量的計算設備上運行,目前Xen支持linux、NetBSD、FreeBSD、Solaris、 Windows和其他常用的操作系統作為客戶操作系統在其管理程序上運行。
Xen默認認為自己是直接運行於硬體層之上的虛擬化軟體(即Xen Hypervisor層),並且可以直接驅動CPU和內存,需注意CPU和內存是所有想要運行的操作系統必須能直接支持的,但Xen為保證自身的小巧,它並沒有提供虛擬機的管理介面,因此它採用了一種獨特的方式,先運行一台特權虛擬機(即Domain 0),且這台VM必須支持Kernel的修改,因此選擇開源的Linux做為特權VM是最合適的,這樣也可方便採用Linux所支持的方式來開發虛擬機管理介面,實現與Xen Hypervisor層直接交互來完成為VM分配CPU和內存資源及創建、刪除、停止、啟動VM的管理介面。通常這台特權虛擬機一定會採用當前比較流行的Linux發行版,因為它能支持更多IO硬體設備,如:網卡,磁碟,顯卡,音效卡等;到目前為止,NetBSD,GNU/Linux,FreeBSD和Plan 9,OpenSolaris等系統已經支持已半虛擬化方式運行在Xen的DomU中。目前Xen已經支持x86、x86_64和ARM等平台,並正在向IA64、PPC移植。移植到其他平台從技術上是可行的,未來有可能會實現。
Xen虛擬機支持在不停止的情況下在多個物理主機之間實時遷移。在操作過程中,虛擬機在沒有停止工作的情況下內存被反復地復制到目標機器。虛擬機在最終目的地開始執行之前,會有一次60-300毫秒的非常短暫的暫停以執行最終的同步化,給人無縫遷移的感覺。類似的技術被用來暫停一台正在運行的虛擬機到磁碟,並切換到另外一台,第一台虛擬機在以後可以恢復。
如上圖所示,Xen虛擬環境由三部分組件組成:
XEN Hypervisor
Xen Hypervisor 是介於操作系統和硬體之間的一個軟體抽象層。它負責在各個虛擬機之間進行CPU調度和內存分配。Xen Hypervisor不僅抽象出虛擬機的硬體,同時還控制著各個虛擬機的執行。Xen Hypervisor不會處理網路、存儲設備、視頻以及其他 I/O。
Domain 0 Guest
Domain 0是特權域,是一個修改過的Linux kernel,是唯一運行在 Xen Hypervisor之上的虛擬機,它擁有訪問物理 I/O 資源的許可權,同時和系統上運行的其他虛擬機(Domain U: PV and HVM Guest)進行交互。Domain 0需要在其它Domain啟動之前啟動。
Domain 0 中有兩個驅動 Network Backend Driver 和 Block Backend Driver,它們分別用來處理來自 Domain U 的網路和本地磁碟請求。 Network Backend Driver與本地網路硬體直接通信,以此來處理來自於Domain U所有虛擬機訪問網路設備的請求;Block Backend Drive與本地存儲設備進行通信,以此來處理來自於Domain U的磁碟數據讀寫的請求。
Domain U Guest(Dom U)
Domain U沒有直接訪問物理硬體的許可權(Domain U的"U"是來自於英文單詞 unprivileged,是指沒有許可權的),但Domain 0有。
運行在 Xen Hypervisor 上的所有半虛擬化(paravirtualized)虛擬機被稱為「Domain U PV Guests」,其上運行著被修改過內核的操作系統,如 Linux、Solaris、FreeBSD 等其它 UNIX 操作系統。
所有的全虛擬化虛擬機被稱為「Domain U HVM Guests」,其上運行著不用修改內核的操作系統,如 Windows 等。
Domain U PV Guest 中也包括兩個驅動「PV Network Driver」和「PV Block Driver」,它們分別也是用來處理發送網路和本地磁碟請求用的,這與 Domain 0 中的兩個驅動是相對應的。
Xen對虛擬機的虛擬化分為兩大類,半虛擬化(Para virtualization)和完全虛擬化(Hardware VirtualMachine)。
半虛擬化(Paravirtualization)有些資料稱為「超虛擬化」,簡稱為PV,是Xen主導的虛擬化技術。這種技術允許虛擬機操作系統感知到自己運行在Xen Hypervisor上而不是直接運行在硬體上,同時也可以識別出其他運行在相同環境中的客戶虛擬機。
在Xen Hypervisor上運行的半虛擬化的操作系統,為了調用系統管理程序(Xen Hypervisor),要有選擇地修改操作系統,然而卻不需要修改操作系統上運行的應用程序。由於 Xen 需要修改操作系統內核,所以您不能直接讓當前的 Linux 內核在 Xen 系統管理程序中運行,除非它已經移植到了Xen 架構。不過,如果當前系統可以使用新的已經移植到 Xen 架構的Linux 內核,那麼您就可以不加修改地運行現有的系統。
完全虛擬化(Hardware Virtual Machine)又稱「硬體虛擬化」,簡稱HVM,是指運行在虛擬環境上的虛擬機在運行過程中始終感覺自己是直接運行在硬體之上的,並且感知不到在相同硬體環境下運行著其他虛擬機的虛擬技術。此種虛擬化需要藉助於Intel的VT-x 或 AMD的AMD-v 等硬體輔助虛擬化技術(詳細技術原理參見1.5.1節)及Qemu的IO硬體模擬技術,才能支持GuestOS的kernel不修改,就可直接被DomU支持。
在Xen Hypervisor運行的完全虛擬化虛擬機,所運行的操作系統都是標準的操作系統,即:無需任何修改的操作系統版本。同時也需要提供特殊的硬體設備。
值的注意的是,在Xen上虛擬的Windows虛擬機必須採用完全虛擬化技術。
為了提高性能,完全虛擬化的Guests可以使用特殊的半虛擬設備驅動程序(PVHVM或PV-on-HVM驅動)。這些驅動程序在HVM環境下優化你的 PV驅動,模擬的磁碟和網路IO旁路運行,從而讓你的PV在HVM中有更好的性能。這意味著你在用戶窗口操作方面可以得到最佳的性能。
注意,Xen項目PV(半虛擬化)的Guest自動使用PV驅動,因此不需要這些驅動程序,因為你已經自動使用優化的驅動程序。PVHVM只會在HVM(全虛擬化)guest虛擬機中需要。
Xen 的 VMM ( Xen Hypervisor ) 位於操作系統和硬體之間,負責為上層運行的操作系統內核提供虛擬化的硬體資源,負責管理和分配這些資源,並確保上層虛擬機(稱為域 Domain)之間的相互隔離。Xen採用混合模式,因而設定了一個特權域用以輔助Xen管理其他的域,並提供虛擬的資源服務,該特權域稱為Domain 0,而其餘的域則稱為Domain U。
Xen向Domain提供了一個抽象層,其中包含了管理和虛擬硬體的API。Domain 0內部包含了真實的設備驅動(原生設備驅動),可直接訪問物理硬體,負責與 Xen 提供的管理 API 交互,並通過用戶模式下的管理工具來管理 Xen 的虛擬機環境。
Xen2.0之後,引入了分離設備驅動模式。該模式在每個用戶域中建立前端(front end)設備,在特權域(Dom0)中建立後端(back end)設備。所有的用戶域操作系統像使用普通設備一樣向前端設備發送請求,而前端設備通過IO請求描述符(IO descripror ring)和設備通道(device channel)將這些請求以及用戶域的身份信息發送到處於特權域中的後端設備。這種體系將控制信息傳遞和數據傳遞分開處理。
在Xen體系結構設計中,後端設備運行的特權域被賦予一個特有的名字---隔離設備域(Isolation Device Domain, IDD),而在實際設計中,IDD 就處在Dom0中。所有的真實硬體訪問都由特權域的後端設備調用本地設備驅動 (native device driver)發起。前端設備的設計十分簡單,只需要完成數據的轉發操作,由於它們不是真實的設備驅動程序,所以也不用進行請求調度操作。而運行在IDD中的後端設備,可以利用Linux的現有設備驅動來完成硬體訪問,需要增加的只是IO請求的橋接功能---能完成任務的分發和回送。
1)半虛擬化技術實現原理
採用半虛擬化技術的虛擬機操作系統能夠識別到自己是運行在Xen Hypervisor而非直接運行於硬體之上,並且也可以識別到在相同的機器上運行的其他虛擬機系統。而且運行的操作系統都需要進行相應的修改。
半虛擬化客戶機(Domain U PV Guests)包含兩個用於操作網路和磁碟的驅動程序,PV Network Driver 和PV Block Driver。
PV Network Driver負責為Domain U提供網路訪問功能。PV Block Driver負責為Domain U提供磁碟操作功能。
2)完全虛擬化技術實現原理
完全虛擬化客戶機(Domain U HVM Guests)運行的是標准版本的操作系統,因此其操作系統中不存在半虛擬化驅動程序(PV Driver),但是在每個完全虛擬化客戶機都會在Domain 0中存在一個特殊的精靈程序,稱作:Qemu-DM,Qemu-DM幫助完全虛擬化客戶機(Domain U HVM Guest)獲取網路和磁碟的訪問操作。
完全虛擬化客戶機必須和在普通硬體環境下一樣進行初始化,所以需要在其中加入一個特殊的軟體Xen virtual firmware,來模擬操作系統啟動時所需要的BIOS。
開源社區中將一系列的Linux精靈程序分類為「管理」和「控制」兩大類。這些服務支撐著整個虛擬環境的管理和控制操作,並且存在於Domain 0虛擬機中。
下面將對直接服務進行詳細的描述。
註:為了清晰的描述Xen的運行流程,畫圖時將精靈程序放在Domain 0外部來描述,但事實上所有精靈程序都存在於Domain 0 之中。
1)Xend
Xend精靈線程是一個Python應用程序,它作為Xen環境的系統管理員。它利用Libxenctrl類庫向Xen Hypervisor發出請求。
所有Xend處理的請求都是由XM工具使用XML RPC介面發送過來的。
2)Xm
用於將用戶輸入通過XML RPC介面傳遞到Xend中的命令行工具。
3)Xenstored
Xenstored精靈程序用於維護注冊信息,這些信息包括內存和在連接Domain 0和所有其他Domain U之間的事件通道。Domain 0虛擬機利用這些注冊信息來與系統中其他虛擬機建立設備通道,即幫助Domain U虛擬機訪問硬體資源。
4)Libxenctrl
Libxenctrl是C程序類庫,用於讓Xend具有通過Domain 0與Xen Hypervisor進行交互的能力。在Domain 0中存在一個特殊的驅動程序稱作privcmd,它將請求發送給Hypervisor。
5)Qemu-DM
在Xen環境下,每個完全虛擬化虛擬機都需要擁有自己的Qemu精靈程序。Qemu-DM處理在Xen環境下完全虛擬化客戶機所能允許執行的所有關於網路 和磁碟請求和操作。Qemu程序必須存在於Hypervisor之外同時又需要訪問網路和I/O,所以Qemu-DM必須存在於Domain 0 中(參見前面章節對Domain 0 的描述)。
未來版本的Xen中,一種新的工具Stub-DM將會提供一系列對所有完全虛擬化客戶機都可用的服務,以此來替代需要在每個虛擬機上都生成一個Qemu的邏輯。
6)Xen Virtual Firmware
Xen Virtual Firmware是被嵌入到所有完全虛擬化客戶機中的虛擬BIOS系統,來確保所有客戶操作系統在正常啟動操作中接收到標準的啟動指令集並提供標準的軟體兼容環境。
根據前幾章節所述,Xen Hypervisor不負責處理網路和磁碟請求,因此半虛擬化客戶機(Domain U PV)必須通過Domain 0 與Xen Hypervisor進行通信,從而完成網路和磁碟的操作請求。下面以半虛擬化客戶機(Domain U PV)執行向本地磁碟寫入數據為例描述Domain 0與Domain U PV的交互過程。
半虛擬化客戶機(Domain U PV)的PV Block Driver接收到要向本地磁碟寫入數據的請求,然後通過Xen Hypervisor將與Domain 0共享的本地內存中的數據寫入到本地磁碟中。在Domain 0 和半虛擬化Domain U之間存在事件通道,這個通道允許它們之間通過存在於Xen Hypervisor內的非同步中斷來進行通信。Domain 0將會接收到一個來自於Xen Hypervisor的系統中斷,並觸發Domain 0中的Block Backend驅動程序去訪問本地系統內容,並從與半虛擬化客戶機的共享內存中讀取適合的數據塊。從共享內存中讀取的數據隨後被寫入到本地磁碟的指定位置中。
上圖中所顯示的事件通道是直接連接Domain 0 和Domain U PV是為了清晰和簡單的描述系統是如何運行的。但事實上,事件通道(Event Channel)運行於Xen Hypervisor中,並在Xenstored中注冊特定的系統中斷,以此來讓Domain 0 和Domain U PV能夠通過本地內存快速的共享信息。
Xen在給VM提供CPU的虛擬化時,它採用的也是在Xen hypervisor層啟動一個線程,並將這些線程映射到某個物理核心上,當然通過DomU的配置文件中的cpus可以指定將這些模擬CPU的線程綁定到某幾個物理核心上;而內存的虛擬化則是內存頁的映射,將物理內存上多個連續或不連續的內存頁映射給VM,讓VM看來這就是一個完整的連續的內存空間。
當啟動一個用戶VM(DomU)時,該VM所需的CPU和內存都由Xen Hypervisor提供,而它若需要使用IO設備時,則向特權VM(即Dom0)發起請求,特權VM會為該用戶VM創建一個模擬的硬體設備線程,並運行於特權VM的用戶空間,當用戶VM向該IO硬體發起調用時,特權VM上相應的模擬設備接收請求並將其轉化為特權VM對IO硬體的操作,交給特權VM的內核來代為完成其操作。這里需注意這些虛擬IO硬體需要由Qemu來模擬,Xen本身並沒有提供相應的模擬功能。(註:特權VM的CPU和內存也是有Xen Hypervisor提供)
1)Qemu模擬IO設備(完全虛擬化方式)
Qemu模擬IO設備(完全虛擬化方式):假如用戶VM向特權VM請求磁碟,特權VM可以將一個分區、文件等,通過Qemu將其模擬成一個磁碟設備,就拿文件來說,特權VM先創建一個映像文件,再通過Qemu為該文件模擬一個磁碟控制器晶元;然後,將其映射到用戶VM上,當然模擬的這個磁碟控制器晶元一定是一個最常見的,用戶VM的Kernel一定支持的,但需注意:模擬的磁碟可能會與實際的物理磁碟不同,因為要盡可能兼容。這樣一來用戶VM假如要寫數據到磁碟的過程如下:
用戶VM-APP--->用戶VM-Kernel調用虛擬磁碟的驅動進行寫數據前的准備(如:數據寫入到磁碟中的扇區位置/數據編碼等)--->
用戶VM-Kernel將編碼後的信息發給特權VM的模擬磁碟進程--->
特權VM的模擬磁碟進程再將編號信息還原後發給特權VM-kernel--->
特權VM-kernel調用真實物理磁碟的驅動對數據進行寫前准備--->最後磁碟驅動調度磁碟完成寫入
摘錄補充:( http://my.oschina.net/davehe/blog/94039?fromerr=mOuCyx6W )
Xen向Domain提供了一個抽象層,其中包含了管理和虛擬硬體的API。Domain 0內部包含了真實的設備驅動(原生設備驅動),可直接訪問物理硬體,Xen 提供的管理 API 可與其交互,並通過用戶模式下的管理工具(如:xm/xend、xl等)來管理 Xen 的虛擬機環境。
2)半虛擬化IO設備
半虛擬化的IO設備:它與模擬最大不同是DomU知道自己是運行在虛擬化環境中的,並且知道這個磁碟不是真正的磁碟,它只是Xen模擬的一個磁碟前端驅動(Disk Frontend),它要寫數據時,直接將數據交給Disk Frontend,而不再去調用磁碟驅動進行數據編碼,當特權VM端的Disk backend收到來自DomU的數據時,也是直接轉給特權VM-Kernel,由其直接調用物理磁碟驅動來對這些原始數據進行處理並寫入磁碟。
摘錄補充:( http://my.oschina.net/davehe/blog/94039?fromerr=mOuCyx6W )
Xen2.0之後,引入了分離設備驅動模式。該模式在每個用戶域中建立前端(front end)設備,在特權域(Dom0)中建立後端(back end)設備。所有的用戶域操作系統像使用普通設備一樣向前端設備發送請求,而前端設備通過IO請求描述符(IO descripror ring)和設備通道(device channel)將這些請求以及用戶域的身份信息發送到處於特權域中的後端設備。這種體系將控制信息傳遞和數據傳遞分開處理(類似雲計算中常說的控制面與數據面分離設計)。
半虛擬化客戶機(Domain U PV)的PV Block Driver接收到要向本地磁碟寫入數據的請求,然後通過Xen Hypervisor將自己與Domain 0共享的本地內存中的數據寫入到本地磁碟中。在Domain 0 和半虛擬化Domain U之間存在事件通道,這個通道允許它們之間通過存在於Xen Hypervisor內的非同步中斷來進行通信。Domain 0將會接收到一個來自於Xen Hypervisor的系統中斷,並觸發Domain 0中的Block Backend驅動程序去訪問本地系統內容,並從自己與半虛擬化客戶機的共享內存中讀取適合的數據塊後,隨即被寫入到本地磁碟的指定位置中。
但無論採用模擬或半虛擬化最終都是對物理磁碟的操作,假如當前只有一個物理磁碟,眾多用戶VM都在進行大量的讀寫請求,此時,為了避免用戶VM無限制的向特權VM發起請求,特權VM中採用一個環狀緩存區,每到一個IO請求,就先將其塞入這個環狀緩沖區的槽位中,若緩沖區滿了,就會告訴用戶VM IO設備繁忙。當然其它各種IO設備大致都採用這種機制來控制。
在虛擬化環境中虛擬網路是十分重要但又比較難,需要特別注意;
在Linux中實現虛擬網路的方法中比較常用的工具有兩個:bridge-utils 和 openvswitch,它們創建的虛擬網路設備是不能相互使用的,比如:bridge-utils創建的橋設備,openvswitch是無法識別的。
用下圖來做簡單說明:
1)Bridge模式
Xend啟動時流程:
1、創建虛擬網橋 xenbr0;
2、停止物理網卡 eth0;
3、物理網卡 eth0 的 MAC 地址和 IP 地址被復制到虛擬網卡 veth0;
4、物理網卡 eth0 重命名為 peth0;
5、Veth0 重命名為 eth0;
6、Peth0 的 MAC 地址更改( FE:FF:FF:FF:FF:FF ),ARP 功能關閉;
7、連接 peth0、vif0.0 到網橋 xenbr0
8、啟動 peth0、vif0.0、xenbr0
Domain U 啟動時的流程:
1、vif<domainID>.0 連接到 xenbr0
2、啟動vif<domainID>.0
2)Route 模式
Xend啟動時的流程:
1、開啟Domain 0的IP Forward。
Domain U啟動時的流程:
1、創建 vif<domainID>.0 ,dom U eth0的IP地址被拷貝到vif<domainID>。
2、啟動 vif<domainID>.0。
3、為domU的配置文件中指向虛擬介面vif.0分配的IP地址增加靜態路由。
3)NAT模式
NAT 模式會使用虛擬區域網 virbr0
安裝了Xen的Linux機器,在Dom 0中能看到以下幾類網卡(網路介面設備 ):
(X ,Y都為數字)
pethY
ethY
xenbrY
virbrY
vifX.Y(X為DomaiID,Y表示該虛擬網卡是該Domain的第幾塊虛擬網卡)
vethY (一般在Xend啟動完成以後就不存在了)
xend : 這是Xen Hypervisor的Dom0上運行的服務,此服務用來監控xm命令發來的指令,並完成相應的動作。
xm : Xen Management,用來管理VM的創建、刪除、啟動、快照、刪除、停止等的管理工具。
xl : 這是一個基於libxenlight庫的一個輕量級VM管理工具,它從Xen4.1開始出現,從4.3以後,它被作為主要的VM管理工具,而xm這個重量級管理工具開始被提示廢棄.以下為xm、xl的對比圖:
xl 和 xm都需要調用libxenlight,但xl不需要運行任何服務,它可直接調用libxenlight完成相關操作。
xe/XAPI,是xend的一個API管理介面,通常用於Xen Cloud環境中:Xen Server, XCP
virsh/ libvirt : 這是Redhat發起開發的一套用於管理眾多不同類別的VM的管理工具。
virsh : 這是一個命令行工具
libvirt: 則是一個lib庫, libvirtd守護進程用於監聽virsh命令操作,並調用lbvirt完成相關操作.
10年4月Xen4.0.0發布,改進後Xen的DomU最大可支持虛擬CPU 64顆,Xen主機可支持1TB內存和128顆物理CPU,磁碟可支持快照和克隆;HVM客戶機支持虛擬內存頁共享;
11年4月發布的Xen4.1版後,xm/xend開始被提示廢棄,xl這個更輕量級的Xen VM管理工具逐漸成為主流。
15年為止已經發布Xen4.5版本,目前yum源可用的最新版Xen是4.6.1版的(http://mirrors.skyshe.cn/centos/6.7/virt/x86_64/xen-46/)。
Linux2.6.37:kernel開始對Xen進行支持,並加其加入到Kernel中。
Linux3.0:Kernel開始對Xen的關鍵部分進行優化。
RHEL對Xen的支持概況:
Redhat系列對Xen的支持情況:
RHEL5.7 ~ 及以前版本:默認的企業虛擬化技術為Xen。
但Redhat提供了兩種內核:
kernel-... :這是僅允許RHEL系統的內核,不能運行在DomU中。
kernel-xen.. :這是需要部署XenServer時,使用的Kernel版本。
RHEL6 ~ 及以後版本:默認支持KVM(收購自以色列的一款虛擬化工具),並且不在對Xen做任何支持,但允許自己運行在DomU中。
Linux內核態、用戶態簡介與IntelCPU特權級別--Ring0-3_weixin_30784501的博客-CSDN博客
雲計算技術 — 雲計算技術發展編年史_煙雲的計算-CSDN博客_雲計算編年史
虛擬化技術原理(CPU、內存、IO)_joneslee的博客-CSDN博客_虛擬化原理
五種主流的虛擬化技術_遠有青山-CSDN博客_虛擬化技術
Xen原理
Xen原理 - 張朝鋒 - 博客園
Xen虛擬化技術原理_IT人生活的技術博客_51CTO博客
Xen虛擬化基本原理詳解
Xen虛擬化基本原理詳解 - stardsd - 博客園
Xen工作原理_為幸福寫歌的博客-CSDN博客_xen原理
Xen_網路
『叄』 伺服器虛擬化的概念是什麼
任何一個主流的虛擬解決方案都會提供某種P2V(物理伺服器到虛擬伺服器)的遷移工具。P2V工具可以為現有的物理伺服器提供一套虛擬的硬體驅動,並對驅動堆棧進行必要的調 整,然後該伺服器重新啟動後,就會作為一個虛擬伺服器運行。這種做法的好處在於你不需要重新建立伺服器,並手工地配置它——通過使用工具,你可以對它進行完整的遷移。
所以如果你有一個數據中心,到處都是使用了多年的伺服器,這些伺服器軟體都安裝在低於1 GHz的物理伺服器上,這種情況就非常適合使用P2V工具進行遷移。你甚至不需要擔心 許可證費用,因為你已經支付過了這部分費用。你可以分布在128個低於1 GHz的舊伺服器上的伺服器軟體部署在8個雙socket、4核、雙吉比特乙太網的伺服器上,並使用兩個獨立 的iSCSI磁碟陣列,並將所有的設備通過吉比特乙太網交換器連接在一起。這些舊伺服器硬體一年的維護費用就足夠購買所有的新硬體了!想像一下,遷移實現了之後,你的機房會 變得多麼干凈整潔!所有的新設備可以放在一個機架上,因此機房裡會多出很多空餘的空間供你以後使用。
虛擬的另一個優點是,你擁有了一個災難恢復計劃,因為虛擬鏡像能夠快速恢復你所有的伺服器。問問你自己,如果你的舊伺服器壞了會出現什麼情況?你是否還記得重建並重新 配置所有的伺服器?(我猜想你現在一定感到畏縮了。)使用虛擬技術,你能夠使用P2V工具鏡像恢復虛擬伺服器。例如,你可以在一個小時之內恢復動態目錄和Exchange Server 。
我是從IT號外知道的。
『肆』 雲計算虛擬化四個表現方式
一、全虛擬化,主要是在客戶操作系統和硬體之間捕捉和處理那些對虛擬化敏感的特權指令,使客戶操作系統無需修改就能運行,速度會根據不同的實現而不同,但大致能滿足用戶的需求。
二、半虛擬化,它與完全虛擬化有一些類似,它也利用Hypervisor來實現對底層硬體的共享訪問,但是由於在Hypervisor上面運行的Guest OS已經集成與半虛擬化有關的代碼,使得Guest OS能夠非常好地配合Hyperivosr來實現虛擬化。
三、硬體輔助虛擬化,Intel/AMD等硬體廠商通過對部分全虛擬化和半虛擬化使用到的軟體技術進行硬體化來提高性能。硬體輔助虛擬化技術常用於優化全虛擬化和半虛擬化產品,而不是獨創一派。
四、操作系統級虛擬化,這種技術通過對伺服器操作系統進行簡單地隔離來實現虛擬化,主要用於VPS。主要的技術有Parallels Virtuozzo Containers,Unix-like系統上的chroot和Solaris上的Zone等。
產生背景
互聯網自1960年開始興起,主要用於軍方、大型企業等之間的純文字電子郵件或新聞集群組服務。直到1990年才開始進入普通家庭,隨著web網站與電子商務的發展,網路已經成為了目前人們離不開的生活必需品之一。
以上內容參考網路-雲計算
『伍』 伺服器虛擬化的概念是什麼
高可用,高冗餘,高便捷。這基本就是伺服器虛擬化的主要優勢。
『陸』 基於VMware虛擬化的系統需要安裝驅動嗎
unix的驅動一般是自帶的 虛機也要驅動 但一般現在 主流的windows
linux 等等都是集成了虛機的驅動 蘋果系統是unix系統 但安裝蘋果系統的時候驅動是自選的 如果選錯的話 則安裝失敗 你的系統沒玩過
『柒』 雲計算基礎-虛擬化軟體介紹
KVM全稱Kernel-based Virtual Machine(基於內核的虛擬機),寄居在linux kernel中(寄居架構),這樣就直接使系統內核成為一個虛擬機管理程序(VMM)。它使用Linux自身的調度器進行管理。
KVM是基於硬體的全虛擬化,需要硬體技術支持(如Intel VT技術或者AMD V技術)。
KVM在當前只能運行在Linux操作系統中。
主要包括桌面版的 VMware workstation、VMware server和VMware esx/esxi
VMware esx/esxi 是全虛擬化軟體,把底層物理硬體的驅動程序整合到Hypervisor(vmm)管理層中,整個軟體是一個操作系統,直接安裝在裸機上,不需要其他的OS做底層系統。整合了很多功能,例如取消了內存復制等。
VMware Server 需要有底層操作系統支持,可安裝在linux或者windows操作系統上來管理資源,性能不錯,多用於企業生產環境。
VMware workstation是軟體虛擬化,需要有底層操作系統支持,多用於測試。
VMware vCenter 用來管理VMware esx/esxi
XenServer是思傑公司(Citrix) 推出的一款伺服器虛擬化系統
XenServer是一個操作系統,不需要依賴底層的其它操作系統。
Xen在不使用Intel VT或AMD的VT技術的時候屬於半虛擬化
Xen在使用Intel VT或AMD的VT技術(硬體輔助虛擬化)屬於全虛擬化
在windows的server版中,使用的全虛擬化技術,直接運行在硬體上,這樣使操作系統直接成為慮擬機管理器。
VirtualBox需要底層操作系統支持,是個半虛擬化軟體,現在屬於oralce公司,可以運行在大多數的操作系統上,使用人數較少
『捌』 雲計算伺服器有哪些要求
那麼雲計算有哪些特點呢?
1、超大規模 「雲」具有相當的規模,Google雲計算已經擁有100多萬台伺服器,亞馬遜、IBM、微軟和Yahoo等公司的「雲」均擁有幾十萬台伺服器。「雲」能賦予用戶前所未有的計算能力。
2、虛擬化 雲計算支持用戶在任意位置使用各種終端獲取服務。所請求的資源來自「雲」,而不是固定的有形的實體。應用在「雲」中某處運行,但實際上用戶無需了解應用運行的具體位置,只需要一台筆記本或一個PDA,就可以通過網路服務來獲取各種能力超強的服務。
3、高可靠性 「雲」使用了數據多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,使用雲計算比使用本地計算機更加可靠。
4、通用性 雲計算不針對特定的應用,在「雲」的支撐下可以構造出於變萬化的應用,同一片「雲」可以同時支撐不同的應用運行。
5、高可伸縮性 「雲」的規模可以動態伸縮,滿足應用和用戶規模增長的需要。
6、按需服務 「雲」是一個龐大的資源池,用戶按需購買,像自來水、電和煤氣那樣計費。
7、極其廉價 「雲」的特殊容錯措施使得可以採用極其廉價的節點來構成雲;「雲」的自動化管理使數據中心管理成本大幅降低;「雲」的公用性和通用性使資源的利用率大幅提升;「雲」設施可以建在電力資源豐富的地區,從而大幅降低能源成本。
雲計算對伺服器的要求
在了解了雲計算之後,我們再說回雲計算伺服器,現在對於雲計算伺服器沒有一個明確的定義,也沒有一個統一的標准。與傳統伺服器相比,傳統伺服器中,包含處理器摸塊、存儲模塊、網路模塊、電源、風扇等設備。
雲伺服器關注的是高性能吞吐量計算能力,關注的是在一段時間內的工作最總和。因此,雲伺服器在架構上和傳統的伺服器有著很大的區別。
架構上,雲伺服器體系架構包含雲處理器模塊、網路處理模塊、存儲處理模塊與系統件理模塊等。這種架構的優勢使得雲伺服器可以大大提高了利用率,採用多個雲處理器完成系統設計,引入低功耗管理理念完成對系統的集中冗餘管理,同時在系統中省去了很多重復的硬體。
雲伺服器一般包括線程、核、處理器、網路、加速器等功能單元全部計算的總和。因此,雲計算一般都有著龐大的數據輸入量或海量的工作集。那麼伺服器應該具備哪些能力呢,我們詳細的來說一說。
高密度
高密度低成本基本上已經是雲伺服器的基本要求了,按照雲計算中心本身的特點,雲伺服器應該和雲計算中心高密度、低功耗、低成本的特點相符,即主要面向大規模部署的雲應用。高密度伺服器能夠減少延遲、提高反應速度。目前高密度伺服器主要分為多路機架和刀片伺服器。
虛擬化
伺服器虛擬化的能力,可以說直接影響雲計算的效果。由於伺服器虛擬化技術實現了將高負載節點中的某些虛擬機實時遷移到低負載的節點,把多個低負載的虛擬機合並到一個物理節點,並將多餘的空閑物理節點關閉,以提高資源的使用效率,使負載達到均衡,從而使上層應用的性能得到了保障,同時還達到了減少能耗的目的。
因此雲計算利用伺服器虛擬化技術可實現對虛擬機的部署和配置,通過對虛擬機的快速部署和實時遷移能大大提高系統的效能,還可通過對虛擬機資源的調整來實現軟體系統的可伸縮性,確保系統能迅速從故障中恢復並繼續提供服務,提高了系統的可靠性與穩定性。所以在購買雲伺服器的時候,伺服器硬體虛擬化的支持程度是考量伺服器的一個重要因素。
橫向擴展
根據雲計算的第一個特點「超大規模」來說,雲計算伺服器的橫向擴展能力就變得至關重要,目前英特爾已經推出了橫向擴展的存儲解決方案,結合英特爾的硬體,可以對這種大量的文件訪問提供更高資料庫和更好的可擴展性,而英特爾萬兆網卡可以結合英特爾虛擬化技術,為整個雲計算的中心提供更高效、更安全以及更簡化的方式,保證了雲數據中心的靈活性。
並行計算
雲計算在某種形式上來說就是分布式計算、並行計算、網格計算等一脈相傳的技術路線,從概念上來說,可以把雲計算看成是「存儲雲」+「計算雲」的有機結合,而計算雲就是指並行計算,因此,雲計算的基礎架構首先是要確保能實現並行計算。
總結:
綜上所述雲計算對於伺服器本身的性能要求不是很高,但對於伺服器的結構靈活性上來說有一定的要求,另一方面就是對於伺服器的計算密度、虛擬化能力、以及是否能夠實現並行計算的能力這幾方面要注重的去考慮,所以我們再去挑選伺服器的時候,結合上述的四點要求去做,以做到事半功倍的效果。
『玖』 虛擬機的顯卡及驅動是使用虛擬機的顯卡驅動環境還是直接用物理機的顯卡驅動環境
虛擬機中系統的顯卡驅動是虛擬機內虛擬出的。運行時是通過物理機的顯卡環境的。
『拾』 虛擬機的硬體配置要求及功能
要求:
1,CPU必須支持虛擬化。
2,主板必須已開啟CPU的虛擬化功能。
3,RAM至少有2GB或更多。
4,ROM至少有20GB。
5,系統最好是XP或更高。
註:如果是游戲工作室多開游戲,那麼硬體要求要更上一層。
功能:
虛擬機,這個虛擬出來的電腦和真實的電腦幾乎完全一樣,所不同的是他的硬碟是在一個文件中虛擬出來的,所以你可以隨意修改虛擬機的設置,而不用擔心對自己的電腦造成損失。
因此可以用來做試驗什麼的, 現在說一下虛擬機的軟體,主要是兩中,Virtual PC和VMware。
(10)雲虛擬化伺服器的硬體驅動擴展閱讀:
虛擬機(Virtual Machine)指通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整計算機系統。
虛擬系統通過生成現有操作系統的全新虛擬鏡像,它具有真實windows系統完全一樣的功能,進入虛擬系統後,所有操作都是在這個全新的獨立的虛擬系統裡面進行。
可以獨立安裝運行軟體,保存數據,擁有自己的獨立桌面,不會對真正的系統產生任何影響 。而且具有能夠在現有系統與虛擬鏡像之間靈活切換的一類操作系統。
虛擬系統和傳統的虛擬機(Parallels Desktop,Vmware,VirtualBox,Virtual pc)不同在於:虛擬系統不會降低電腦的性能,啟動虛擬系統不需要像啟動windows系統那樣耗費時間,運行程序更加方便快捷。
虛擬系統只能模擬和現有操作系統相同的環境,而虛擬機則可以模擬出其他種類的操作系統;而且虛擬機需要模擬底層的硬體指令,所以在應用程序運行速度上比虛擬系統慢得多。