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