虛擬機(jī)基礎(chǔ)知識
虛擬機(jī)基礎(chǔ)知識
虛擬機(jī)指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。那么你對虛擬機(jī)了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于虛擬機(jī)基礎(chǔ)知識的內(nèi)容,希望大家喜歡!
虛擬機(jī)模擬環(huán)境
即使Virtual PC的兼容性很高,但不是所有軟件都能在Virtual PC中正常地運(yùn)行,因?yàn)槟切┸浖赡苁褂靡恍┪垂_的硬件或使用一些不支援的指令。一些人或組織借此貶低他,比如,在VirtualPC 2004 SP1中,如果有打印機(jī)使用LPT1端口,則虛擬機(jī)不能識別。這個(gè)漏洞在Virtual PC 2007中得到改善。
蘋果麥金塔電腦版本的Virtual PC用動態(tài)重新編譯轉(zhuǎn)換x86的機(jī)械碼至相等的PowerPC機(jī)械碼,使Mac可以執(zhí)行標(biāo)準(zhǔn)pc的程序。
微軟Windows版本的Virtual PC也是用動態(tài)重新編譯,因?yàn)樵揪湍軋?zhí)行使用者模式和virtual 8086 mode的x86機(jī)械碼,所以就只是轉(zhuǎn)換核心模式和真實(shí)模式到使用者模式的x86機(jī)械碼。
通常還提供一些客戶端的呼叫函式庫(特別是使用某些客戶端的延伸功能),來加速模擬或提供更多的功能像整合原執(zhí)行主機(jī)環(huán)境變量。
Virtual PC 可以在你的電腦上能同時(shí)模擬多臺電腦,虛擬的電腦使用起來與一臺真實(shí)的電腦一樣,可以進(jìn)行bios設(shè)定,可以給它的硬盤進(jìn)行分區(qū),格式化,操作系統(tǒng)你可以安裝 DOS,Windows 95, Windows 98,Windows ME,Windows 2000,Windows XP,Windows Server 2003,UNIX,LINUX等等,你可以在你的 Windows XP 里運(yùn)行 Linux。
基于Intel的蘋果機(jī)支持
微軟宣布在2006 年8月7 日, 真正個(gè)人計(jì)算機(jī)認(rèn)為Mac不會被端起對英特爾Mac 平臺。微軟陳述了 “可選擇的解決方案由蘋果計(jì)算機(jī)公司和其它販賣者提供, 與窗口的一個(gè)充分地被包裝的零售拷貝被結(jié)合, 將滿足這需要。”
蘋果計(jì)算機(jī)公司宣布了和早先運(yùn)輸了新兵訓(xùn)練所預(yù)覽發(fā)行。根據(jù)蘋果計(jì)算機(jī)公司, 新兵訓(xùn)練所的一個(gè)完成的版本將運(yùn)輸以Mac OS x 10.5 "Leopard." 新兵訓(xùn)練所將允許Windows XP 被安裝在新基于英特爾的橡皮防水布硬盤的另外分開。這允許用戶解雇入或Mac OS x 或窗口, 雖然不同時(shí)。一的包括對連續(xù)窗口根據(jù)應(yīng)用的解決辦法在Macintosh 硬件減少需要對于真正個(gè)人計(jì)算機(jī)的英特爾版本。
有并且只能選其中之一的產(chǎn)品從Parallels, Inc. 告訴的Parallels Desktop 為Mac 。這種應(yīng)用被設(shè)計(jì)利用Intel's 新技術(shù)叫做是新英特爾核心處理器的一部分多數(shù)Apple's 最新的計(jì)算機(jī)使用的英特爾Virtualization 技術(shù)。由使用I-VT, 它增加客人操作系統(tǒng)的表現(xiàn), 使它更加實(shí)用至于規(guī)則使用。平行桌面并且看齊更新的硬件比微軟真正個(gè)人計(jì)算機(jī)。VMware 和VirtualBox 并且宣布, 他們發(fā)布他們的軟件的Mac OS x 版本。
虛擬機(jī)資源分配
虛擬機(jī)資源涉及多個(gè)方面:CPU、內(nèi)存、網(wǎng)絡(luò)以及磁盤。在規(guī)劃虛擬機(jī)時(shí)應(yīng)該考慮這些資源之間的關(guān)系,否則,分配的資源不合理將導(dǎo)致虛擬機(jī)內(nèi)的應(yīng)用程序性能表現(xiàn)不佳。
CPU
虛擬機(jī)每個(gè)vCPU只運(yùn)行在一個(gè)物理核心之上,因此CPU頻率越高虛擬機(jī)的運(yùn)行速度也就越高,vCPU數(shù)量越多有助于提升應(yīng)用的性能表現(xiàn)。一個(gè)比較復(fù)雜的因素就是在ESXi服務(wù)器內(nèi),所有的虛擬機(jī)共享使用物理CPU。ESXi服務(wù)器的核心數(shù)越多,每個(gè)vCPU獲得的核心份額也就越大,因此多核心的性能表現(xiàn)要強(qiáng)于核心頻率高但數(shù)量少的情況。
如果虛擬機(jī)需要占用大量的CPU時(shí)間,那么可以考慮為虛擬機(jī)分配第二個(gè)vCPU,但是,為虛擬機(jī)分配兩個(gè)以上vCPU并不一定讓應(yīng)用運(yùn)行的更快,因?yàn)橹挥卸嗑€程應(yīng)用才能有效地使用多個(gè)vCPU。
RAM
ESXi服務(wù)器內(nèi)RAM資源通常有限,因此在給虛擬機(jī)分配RAM時(shí)需要格外小心。VMkernel在處理RAM時(shí)非常巧妙;允許虛擬機(jī)使用ESXi服務(wù)器所有的物理內(nèi)存而且會盡量避免占用物理內(nèi)存卻沒有真正使用的情況。
物理內(nèi)存被完全用完后,VMkernel必須確定哪些虛擬機(jī)能夠保留物理內(nèi)存,哪些虛擬機(jī)要釋放物理內(nèi)存。這稱之為“內(nèi)存回收”。當(dāng)虛擬機(jī)占用的物理內(nèi)存被回收后,存在的一個(gè)風(fēng)險(xiǎn)就是會對虛擬機(jī)的性能造成影響。虛擬機(jī)被回收的內(nèi)存越多,相應(yīng)的風(fēng)險(xiǎn)也就越大。
最明智的是只為虛擬機(jī)分配完成工作所需要的內(nèi)存。分配額外的內(nèi)存將會增加回收風(fēng)險(xiǎn)。另一方面,當(dāng)虛擬機(jī)操作系統(tǒng)將未被使用的內(nèi)存用作磁盤緩存時(shí),將會顯著降低對磁盤系統(tǒng)的性能要求,所以這里有一個(gè)折衷問題。
對于數(shù)據(jù)庫服務(wù)器以及VDI桌面來說,為虛擬機(jī)分配更多的內(nèi)存往往更劃算—在一臺ESXi服務(wù)器上運(yùn)行更少的虛擬機(jī)—而不是購買高性能的磁盤陣列。關(guān)鍵在于針對虛擬機(jī)的負(fù)載分配足夠多內(nèi)存而且沒有浪費(fèi)。
網(wǎng)絡(luò)帶寬
網(wǎng)絡(luò)帶寬包括兩個(gè)方面:一是虛擬機(jī)和虛擬交換機(jī)之間的帶寬,二是虛擬交換機(jī)與外部網(wǎng)絡(luò)之間的帶寬。如果希望虛擬機(jī)獲得最大帶寬那么應(yīng)該使用VMXNET3網(wǎng)絡(luò)適配器,VMXNET3在最小的CPU開銷下提供了最好的吞吐量。如果情況允許,所有的虛擬機(jī)都應(yīng)該使用VMXNET3網(wǎng)絡(luò)適配器。
對于與外部物理網(wǎng)絡(luò)的連接,一定要確保ESXi主機(jī)具備速度最快的物理網(wǎng)卡;10Gb是一個(gè)不錯(cuò)的選擇,即使物理網(wǎng)卡的數(shù)量很少,但10Gb能夠允許虛擬機(jī)承受突發(fā)的網(wǎng)絡(luò)流量。
請記住,進(jìn)行大量網(wǎng)絡(luò)傳輸?shù)奶摂M機(jī),虛擬機(jī)以及數(shù)據(jù)包的傳輸都會消耗CPU時(shí)間。因此,運(yùn)行在CPU受限的ESXi服務(wù)器之上的虛擬機(jī)由于CPU無法快速響應(yīng)請求可能會面臨網(wǎng)絡(luò)吞吐量不高的情況。
磁盤性能
磁盤性能往往是無聲的性能殺手。虛擬機(jī)磁盤性能受陣列磁盤數(shù)量、類型以及運(yùn)行在其上的虛擬機(jī)的數(shù)量的限制。因?yàn)榧械毓蚕泶鎯軜?gòu)將導(dǎo)致通過同一位置訪問所有的虛擬機(jī)磁盤,陣列的存儲控制器以及磁盤過載情況很容易出現(xiàn),只剩下虛擬機(jī)在等待存儲的響應(yīng)。
虛擬機(jī)等待磁盤IO、虛擬機(jī)CPU空閑對性能的影響有很大不同。等待IO的虛擬機(jī)無法做其他工作,因此高I/O等待時(shí)間意味著性能肯定會下降。進(jìn)行周密的存儲設(shè)計(jì)以避免上述情況的發(fā)生至關(guān)重要。[3]
合理選擇磁盤 提升虛擬機(jī)性能
在虛擬化中,hypervisor將工作負(fù)載從運(yùn)行在底層的物理硬件中抽象出來,允許快速分配并共享計(jì)算資源,遷移工作負(fù)載。盡管hypervisor以及與虛擬化兼容的處理器性能開銷很小,但是虛擬化層的存在卻對性能有影響。
當(dāng)磁盤性能對工作負(fù)載至關(guān)重要時(shí),某些管理員可能會選擇以直通模式配置LUN,允許虛擬機(jī)的操作系統(tǒng)繞過hypervisor與直接LUN進(jìn)行通信。例如,Windows服務(wù)器虛擬機(jī)可能使用直通模式繞過Hyper-V直接訪問磁盤,這對SQL Server數(shù)據(jù)庫的性能有些許提升。然而,由于客戶操作系統(tǒng)(采用直通模式)以及hypervisor試圖同時(shí)訪問磁盤,那么hypervisor必須被配置為忽略直通LUN。
直通模式存在的問題是其不被某些重要的虛擬化功能比如虛擬機(jī)快照或者集群所支持。因此,虛擬機(jī)在實(shí)際上可能會受益于虛擬化提供的各種功能特性而非采用直通模式所帶來的處于邊緣地位的性能提升。管理員需要評估虛擬機(jī)的需求并確定直通模式的適宜性。
除直通模式外,Hyper-V以及其他hypervisor還提供了其他磁盤存儲選項(xiàng)。例如,當(dāng).VHD文件被創(chuàng)建時(shí),大小固定的磁盤將分配所有的數(shù)據(jù)塊。一旦被創(chuàng)建,大小固定的磁盤就不能夠進(jìn)行調(diào)整了。然而,動態(tài)擴(kuò)展磁盤從一開始創(chuàng)建的就是沒有數(shù)據(jù)塊的.VHD文件,當(dāng)數(shù)據(jù)寫入到.VHD文件中后磁盤空間才會被分配出去。這和精簡配置類似,盡管在邏輯上創(chuàng)建了一塊磁盤,但實(shí)際的磁盤空間只有數(shù)據(jù)寫入時(shí)才會被用到。
差分磁盤是一種特殊的動態(tài)擴(kuò)展磁盤類型。其設(shè)計(jì)思路是父磁盤擁有固定的鏡像而且差分磁盤與父磁盤相關(guān)聯(lián),因此寫入到磁盤的數(shù)據(jù)被存放在差分磁盤而非.VHD文件中。讀請求首先檢查差分磁盤的.VHD文件,如果沒有更改,就會讀父.VHD文件。當(dāng)需要標(biāo)準(zhǔn)化的磁盤鏡像而且回滾功能很重要時(shí),差分是一個(gè)不錯(cuò)的主意,但是管理員在維護(hù)父子磁盤配置時(shí)可能會面臨挑戰(zhàn)。
看過“虛擬機(jī)基礎(chǔ)知識“的人還看了: