云計算技術基礎與實踐教學課件(共9章)第3章-KVM虛擬化技術_第1頁
云計算技術基礎與實踐教學課件(共9章)第3章-KVM虛擬化技術_第2頁
云計算技術基礎與實踐教學課件(共9章)第3章-KVM虛擬化技術_第3頁
云計算技術基礎與實踐教學課件(共9章)第3章-KVM虛擬化技術_第4頁
云計算技術基礎與實踐教學課件(共9章)第3章-KVM虛擬化技術_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

云計算技術基礎與實踐

第3章

KVM虛擬化技術學習目標:理解虛擬化及虛擬化技術的概念掌握虛擬化技術的分類,及理解每種技術的區(qū)別理解并掌握KVM架構、CPU、內存、I/O虛擬化及其基本原理區(qū)分KVM遷移與克隆掌握KVM網(wǎng)絡配置模式、存儲方式、及優(yōu)化方法目錄CONTENTS3.1KVM簡介3.2KVM虛擬化技術原理3.3KVM管理工具3.7項目實驗3.4KVM遷移和克隆3.5KVM網(wǎng)絡和存儲3.6KVM優(yōu)化3.1KVM簡介IBMLPARSSunLDOMsKVM你知道哪些虛擬技術?HPvParsIBMPowerVMMicrosoftHyper-V3.1KVM簡介2006年10月,Qumranet完成了虛擬化基本功能、動態(tài)遷移及主要的性能優(yōu)化后,正式對外宣布了KVM的誕生。2008年,紅帽收購Qumranet2011年5月,IBM和紅帽,并聯(lián)合惠普和Intel一起,成立了開放虛擬化聯(lián)盟(OVA),加速KVM投入市場的速度。3.1KVM簡介KVM是一個開源的系統(tǒng)虛擬化模塊,是基于虛擬化擴展(IntelVT或者AMD-V)的x86硬件的開源的Linux原生的全虛擬化解決方案。在KVM中,虛擬機被實現(xiàn)為常規(guī)的Linux進程,由標準Linux調度程序進行調度;虛擬機的每個虛擬CPU被實現(xiàn)為一個常規(guī)的Linux進程,使得KVM能夠使用Linux內核的已有功能。目錄CONTENTS3.1KVM簡介3.2KVM虛擬化技術原理3.3KVM管理工具3.7項目實驗3.4KVM遷移和克隆3.5KVM網(wǎng)絡和存儲3.6KVM優(yōu)化3.2.1定義3.2KVM虛擬化技術原理虛擬化(Virtualization)是指通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機。在一臺計算機上同時運行多個邏輯計算機,每臺邏輯計算機可運行不同的操作系統(tǒng),并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率?!摂M化的定義3.2.1定義3.2KVM虛擬化技術原理虛擬化技術是將計算機的各種物理實體資源,如服務器、網(wǎng)絡、內存及存儲等,予以抽象、轉換成邏輯資源,不受物理實體資源之間的限制,使用戶可以更加靈活地使用這些資源。一般所指的虛擬化資源包括計算資源、存儲資源和網(wǎng)絡資源。——虛擬化技術3.2.1定義3.2KVM虛擬化技術原理——虛擬化技術分類資源虛擬化平臺虛擬化應用程序虛擬化虛擬化技術計算機和操作系統(tǒng)的虛擬化特定的系統(tǒng)資源的虛擬化,如內存、存儲和網(wǎng)絡資源等。包括仿真、模擬、解釋技術等。3.2.1定義3.2KVM虛擬化技術原理虛擬化主要是指平臺虛擬化技術,通過使用控制程序(ControlProgram,也稱為VMM或Hypervisor),隱藏特定計算平臺的實際物理特性,為用戶提供抽象的、統(tǒng)一的、模擬的計算環(huán)境(稱為虛擬機)?!摂M化技術分類3.2.1定義3.2KVM虛擬化技術原理——平臺虛擬化技術全虛擬化(FullVirtualization)超虛擬化(Paravirtualization)硬件輔助虛擬化(Hardware-AssistedVirtualization)部分虛擬化(PartialVirtualization)操作系統(tǒng)級虛擬化(OperatingSystemLevelVirtualization)3.2.1定義3.2KVM虛擬化技術原理——平臺虛擬化技術全虛擬化指虛擬機模擬了完整的底層硬件,包括處理器、物理內存、時鐘、外設等,使得為原始硬件設計的操作系統(tǒng)或其他系統(tǒng)軟件完全不做任何修改就可以在虛擬機中運行。比較著名的全虛擬化VMM有MicrosoftVirtualPC、VMwareWorkstation、SunVirtualBox、ParallelsDesktopforMac和QEMU。3.2.1定義3.2KVM虛擬化技術原理——平臺虛擬化技術超虛擬化是一種修改客戶機操作系統(tǒng)部分訪問特權狀態(tài)的代碼以便直接與VMM交互的技術。比較著名的超虛擬化VMM有Denali、Xen。3.2.1定義3.2KVM虛擬化技術原理——平臺虛擬化技術硬件輔助虛擬化指借助硬件的支持來實現(xiàn)高效的全虛擬化。Intel-VT和AMD-V是目前x86體系結構上典型硬件輔助虛擬化技術。3.2.1定義3.2KVM虛擬化技術原理——平臺虛擬化技術部分虛擬化VMM只模擬部分底層硬件,因此客戶機操作系統(tǒng)不做修改是無法在虛擬機上運行的,其他程序可能也需要進行修改。3.2.1定義3.2KVM虛擬化技術原理——平臺虛擬化技術操作系統(tǒng)級虛擬化是一種在服務器操作系統(tǒng)中使用的輕量級的虛擬化技術,內核通過創(chuàng)建多個虛擬的操作系統(tǒng)實例(內核和庫)來隔離不同的進程,不同實例中的進程完全不了解對方的存在。比較著名的操作系統(tǒng)級虛擬化VMM有SolarisContainer、FreeBSDJail和OpenVZ等。3.2KVM虛擬化技術原理3.2.2KVM架構主機系統(tǒng)由硬件和軟件組成,操作系統(tǒng)是軟件系統(tǒng)的核心,而操作系統(tǒng)又分為內核空間和用戶空間,虛擬機是在用戶空間運行的,KVM作為Hypervisor運行在主機操作系統(tǒng)內核空間。Guest:硬件包括CPU(vCPU)、內存、驅動(Console、網(wǎng)卡、I/O設備驅動等)。KVM:提供CPU和內存的虛級化,以及客戶機的I/O攔截。QEMU:提供硬件I/O虛擬化,通過IOCTL/dev/kvm設備與KVM交互。3.2KVM虛擬化技術原理3.2.3KVMCPU虛擬化Ring是指CPU的運行級別,分別是Ring0、Ring1、Ring2、Ring3,Ring0是最高級別,Ring3級別最低?!獮槭裁葱枰狢PU虛擬化操作系統(tǒng)(內核)需要直接訪問硬件和內存,因此它的代碼需要運行在Ring0上,這樣,可以使用特權指令,控制中斷、修改頁表、訪問設備等。應用程序的代碼做受控操作,則需要用戶態(tài)和內核態(tài)的切換??蛻魴C操作系統(tǒng)和主機操作系統(tǒng)均有自己的內核,都需要運行在Ring0上,這樣就沖突了,VMM需要解決運行沖突的問題。3.2KVM虛擬化技術原理3.2.3KVMCPU虛擬化VMXRootoperation和VMXNon-RootOperation兩種操作模式可以互相轉換?!狵VM的CPU虛擬化KVM采用硬件輔助虛擬化。Intel引入了Intel-VT(VirtualizationTechnology)技術。這種CPU有VMXRootoperation和VMXNon-RootOperation兩種模式,兩種模式都支持Ring0~Ring3共4個運行級別。VMM可以運行在VMXRootOperation模式下,客戶機操作系統(tǒng)運行在VMXNon-RootOperation模式下。3.2KVM虛擬化技術原理3.2.4內存虛擬化——為什么需要內存虛擬化在虛擬化模式下,虛擬機處于非Root模式,無法直接訪問Root模式下的主機上的內存。VMM的介入,截獲虛擬機的內存訪問指令,模擬主機上的內存,相當于VMM在虛擬機的虛擬地址空間和主機的虛擬地址空間中間增加了一層虛擬機的物理地址空間。內存軟件虛擬化的目標就是要將虛擬機的虛擬地址(GVA)轉化為主機的物理地址HPA),中間要經過虛擬機的物理地址(GPA)和主機的虛擬地址(HVA)的轉化,即GVA->GPA->HVA->HPA。Intel采用EPT,AMD采用NPT實現(xiàn)硬件輔助內存虛擬化。3.2KVM虛擬化技術原理3.2.4內存虛擬化EPT基本原理圖——KVM的內存虛擬化EPT在原有CR3頁表地址映射的基礎上,引入了EPT頁表來實現(xiàn)另一層映射,這樣,GVA->GPA->HPA的兩次地址轉換都由硬件來完成。3.2KVM虛擬化技術原理3.2.5KVM的I/O虛擬化從處理器的角度看,外設是通過一組I/O資源來進行訪問的,所以,設備的相關虛擬化被稱為I/O虛擬化。全虛擬化方式半虛擬化方式硬件輔助虛擬化方式3.2KVM虛擬化技術原理3.2.5KVM的I/O虛擬化——qemu全虛擬化方式虛擬機的設備驅動發(fā)起I/O請求KVM捕獲I/O請求,將I/O請求放入KVM和qemu的共享內存頁通知用戶空間的qemu進程qemu進程從內核中讀取I/O請求,由硬件模擬模塊模擬這個I/O操作qemu的硬件模擬模塊與不同的真實物理設備驅動進行交互,完成真正的I/O操作(如通過物理網(wǎng)卡訪問外部網(wǎng)絡),將結果放回共享內存頁中,通知KVM的I/O處理模塊。KVM的I/O處理模塊讀取處理結果并返回給客戶機設備驅動。特點:不用修改客戶機操作系統(tǒng),就可以實現(xiàn)模擬設備在客戶機中正常工作,但每次I/O操作的路徑比較長,有較多的VMEntry、VMExit發(fā)生,需要多次上下文切換(contextswitch),也需要多次數(shù)據(jù)復制,所以性能較差。3.2KVM虛擬化技術原理3.2.5KVM的I/O虛擬化——virtio半虛擬化方式virtio在部署時由前端、后端和virt-queue組成。virtio架構可以分為4層,包括前端虛擬機中各種驅動程序模塊,后端Hypervisor上的處理程序模塊,中間用于前后端通信的virtio層和virtio-ring層,可以將virtio和virtio-ring看成一層,virtio屬于控制層,負責前后端之間的通知機制(kick,notify)和控制流程,而virtio-vring則負責具體數(shù)據(jù)流轉發(fā)。特點:可以獲得很好的I/O性能,其性能幾乎可以達到和native差不多的I/O性能,但它必須要客戶機安裝特定的Virtio驅動使其知道是運行在虛擬化環(huán)境中,且按照Virtio的規(guī)定格式進行數(shù)據(jù)傳輸。不過主流Windows系統(tǒng)都有對應的virtio驅動程序可供下載使用。3.2KVM虛擬化技術原理3.2.5KVM的I/O虛擬化——硬件輔助虛擬化方式直接將物理設備分配給客戶機操作系統(tǒng),由客戶機操作系統(tǒng)直接訪問目標設備。這種情況下不存在設備模擬,硬件本身支持虛擬化,可以向不同的虛擬機提供獨立的硬件支持,設備本身支持多個虛擬機同時訪問。特點:客戶機通過原有的驅動操作真實硬件,從性能上說是最優(yōu)的,但這種方式需要比較多的硬件資源。比較典型的是IntelVT-D和SR-IOV技術。目錄CONTENTS3.1KVM簡介3.2KVM虛擬化技術原理3.3KVM管理工具3.7項目實驗3.4KVM遷移和克隆3.5KVM網(wǎng)絡和存儲3.6KVM優(yōu)化3.3KVM管理工具命令行管理工具,功能強大,能完成幾乎所有虛擬機管理任務。包括在線遷移、虛擬機快照、創(chuàng)建和轉換虛擬機磁盤文件格式等,適合以腳本的形式自動管理虛擬機。以Web的方式,實現(xiàn)大部分的管理方式,并且可以隨時訪問虛擬機狀態(tài),獲取虛擬機監(jiān)視器界面。使虛擬機的管理跨越地域的限制,在任何有網(wǎng)絡的地方都可以管理虛擬機。以桌面應用的方式,提供了方便與性能兼具的高效率管理,支持多節(jié)點管理,以完全一樣的方式,管理多個節(jié)點。思考題1、云計算的基石是什么?2、什么是虛擬化3、常用的虛擬機管理工具有哪些?目錄CONTENTS3.1KVM簡介3.2KVM虛擬化技術原理3.3KVM管理工具3.7項目實驗3.4KVM遷移和克隆3.5KVM網(wǎng)絡和存儲3.6KVM優(yōu)化3.4KVM遷移和克隆——KVM虛擬機遷移KVM虛擬機的遷移是在不同主機之間進行的,可以分為熱遷移和冷遷移。KVM遷移熱遷移冷遷移也稱為靜態(tài)遷移、常規(guī)遷移、離線遷移。是在虛擬機關機或暫停的情況下從一臺主機遷移到另一臺主機。也稱為動態(tài)遷移,在線遷移。是在保證虛擬機上服務正常運行的同時,將一個虛擬機系統(tǒng)從一臺主機移動到另一臺主機的過程。3.4KVM遷移和克隆熱遷移:不會對最終用戶造成明顯的影響,管理員在不影響用戶正常使用的情況下,對主機進行離線維修或者升級。為了保證遷移過程中虛擬機服務的可用,遷移過程僅有非常短暫的停機時間。在遷移的前面階段,服務在源主機的虛擬機上運行,當遷移進行到一定階段,目的主機已經具備了運行虛擬機系統(tǒng)的必須資源,經過一個非常短暫的切換,源主機將控制權轉移到目的主機,虛擬機系統(tǒng)在目的主機上繼續(xù)運行。由于切換的時間非常短暫,用戶感覺不到服務的中斷,因而遷移過程對用戶是透明的。適用于對虛擬機服務可用性要求很高的場合?!狵VM虛擬機遷移3.4KVM遷移和克隆冷遷移:因為虛擬機的文件系統(tǒng)建立在虛擬機鏡像上面,所以在虛擬機關機的情況下,只需要簡單的遷移虛擬機鏡像和相應的配置文件到另外一臺主機上即可。若需要保存虛擬機遷移之前的狀態(tài),則在遷移之前將虛擬機暫停,然后復制當前狀態(tài)至目的主機,最后在目的主機重建虛擬機狀態(tài),恢復執(zhí)行。這種方式的遷移過程需要顯式的停止虛擬機的運行。從用戶角度看,有明確的一段停機時間,虛擬機上的服務不可用。這種遷移方式簡單易行。適用于對服務可用性要求不嚴格的場合。——KVM虛擬機遷移3.4KVM遷移和克隆虛擬機的克?。壕褪歉鶕?jù)源虛擬機復制一臺新的虛擬機,兩臺虛擬機是完全一樣的。KVM虛擬機的克隆一般采用虛擬機直接克隆或者復制配置文件與磁盤文件的方式進行克隆?!狵VM虛擬機克隆目錄CONTENTS3.1KVM簡介3.2KVM虛擬化技術原理3.3KVM管理工具3.7項目實驗3.4KVM遷移和克隆3.5KVM網(wǎng)絡和存儲3.6KVM優(yōu)化3.5KVM網(wǎng)絡和存儲——KVM網(wǎng)絡KVM網(wǎng)絡配置有Bridge和NAT模式。KVM網(wǎng)絡Bridge模式NAT模式虛擬機不需要配置自己的IP,虛擬機隱藏在宿主機后面,虛擬機能通過主機訪問外網(wǎng),但局域網(wǎng)中的其他主機訪問不到虛擬機。虛擬機需要配置自己的IP,虛擬出一個網(wǎng)卡,與主機的網(wǎng)卡一起掛載到一個虛擬網(wǎng)橋上(類似于交換機)來訪問外部網(wǎng)絡,此模式下,虛擬機擁有獨立的IP,虛擬機與主機一樣,局域網(wǎng)中其他主機能直接通過IP與其通信。3.5KVM網(wǎng)絡和存儲——KVM存儲KVM存儲選項有多種,包括虛擬磁盤文件、基于文件系統(tǒng)的存儲和基于設備的存儲。KVM存儲當系統(tǒng)創(chuàng)建KVM虛擬機時,默認使用虛擬磁盤文件作為后端存儲。對于文件系統(tǒng)的KVM存儲(dir、fs、netfs),在安裝KVM宿主機時,可選文件系統(tǒng)為dir或fs作為初始KVM存儲格式。默認選項為dir,用戶指定本地文件系統(tǒng)中的一個目錄用于創(chuàng)建磁盤鏡像文件。fs選項允許用戶指定某個格式化文件系統(tǒng)的名稱,把它作為專用的磁盤鏡像文件存儲。(兩種KVM存儲選項之間最主要的區(qū)別在于:fs文件系統(tǒng)不需要掛載到某個特定的分區(qū)。)對于設備的KVM存儲(disk、iscsi、logical),共支持4種不同的物理存儲:磁盤、iSCSI、SCSI和lvm邏輯盤。目錄CONTENTS3.1KVM簡介3.2KVM虛擬化技術原理3.3KVM管理工具3.7項目實驗3.4KVM遷移和克隆3.5KVM網(wǎng)絡和存儲3.6KVM優(yōu)化3.6KVM優(yōu)化——KVM優(yōu)化KVM性能優(yōu)化主要在CPU、內存、I/O這三方面,根據(jù)不同的場景,采取不同場景優(yōu)化方向。KVM性能優(yōu)化CPUI/O內存3.6KVM優(yōu)化——KVM優(yōu)化CPU的優(yōu)化Intel的CPU運行級別,Ring3為用戶態(tài),Ring0為內核態(tài),上下文切換,會導致性能出現(xiàn)問題,采用VT-x技術,在CPU硬件上實現(xiàn)了加速轉換。采用CPU緩存綁定,L1是靜態(tài)緩存,造價高,L2、L3是動態(tài)緩存,通過脈沖的方式寫入0和1,造價較低。若CPU調度器把進程隨便調度到其他CPU上,而不是當前L1、L2、L3的緩存CPU上,緩存就不生效了,就會產生丟失,為了減少Cache丟失,需要把KVM進程綁定到固定的CPU上??梢允褂胻askset命令把某一個進程綁定在某一個CPU上,例如:taskset-cp125718(1指的是CPU1,也可以綁定到多個CPU上,25718是指pid)。CPU綁定的優(yōu)點:提高性能20%以上;CPU綁定的缺點:不方便遷移,靈活性差。3.6KVM優(yōu)化——KVM優(yōu)化內存的優(yōu)化Intel處理器上集成了EPT技術,GVA->GPA->HPA的兩次地址轉換都由硬件來完成,提高了性能。采用KSM(KernelSamepageMerging)相同頁合并(可以通過cat/sys/kernel/mm/ksm/run命令可以查看是否開啟)。將主機內容相同的內存合并,以節(jié)省內存的使用。采用大頁后端內存(可以用cat/proc/meminfo查看)。在邏輯地址向物理地址轉換時,CPU保持一個翻譯后備緩沖器TLB,用來緩沖轉換結果,而TLB容量很小,所以若Page很小,則TLB很容易就被充滿,這樣就容易導致Cache丟失;相反若Page變大,則TLB需要保存的緩存項就變少,就會減少Cache丟失,通過為客戶端提供大頁后端內存,就能減少客戶機消耗的內存并提高TLB的命中率,從而提高KVM性能。對使用的內存進行限制(可以通過virshmemtune命令實現(xiàn))。3.6KVM優(yōu)化——KVM優(yōu)化I/O的優(yōu)化為了防止某臺虛擬機過度消耗磁盤資源而對其他的虛擬機造成影響,需要每臺虛擬機對磁盤資源的消耗是都可控的,如多個虛擬機向硬盤中寫數(shù)據(jù),誰可以優(yōu)先寫,可以調整I/O的權重,權重越高寫入磁盤的優(yōu)先級越高(可以通過virshblkiotune命令查看和設置某臺虛擬機的具體權重優(yōu)先級。)。目錄CONTENTS3.1KVM簡介3.2KVM虛擬化技術原理3.3KVM管理工具3.7項目實驗3.4KVM遷移和克隆3.5KVM網(wǎng)絡和存儲3.6KVM優(yōu)化3.7項目實驗-安裝和配置KVM步驟1:安裝KVM準備工作。安裝KVM工作的前提:系統(tǒng)是x86、x64架構并且虛擬化VT-x(對于Intel系列)打開。(1)檢測系統(tǒng)架構。adminroot@ubuntu-server20:~$uname-mx86_64(2)檢查CPU支持硬件虛擬化,命令執(zhí)行后顯示數(shù)字非0即可。adminroot@ubuntu-server20:~$egrep-c'(vmx|svm)'/proc/cpuinfo4(3)檢查支持KVM虛擬化。adminroot@ubuntu-server20:~$sudokvm-okINFO:/dev/kvmexistsKVMaccelerationcanbeused第1部分:安裝和配置KVM組件。3.7項目實驗-安裝和配置KVM步驟2:安裝KVM組件。先對源更新,然后執(zhí)行安裝命令。adminroot@ubuntu-server20:~$sudoaptupdateadminroot@ubuntu-server20:~$sudoapt-getinstallqemu-kvmlibvirt-daemon-systemlibvirt-clientsbridge-utilsvirtinst安裝完成后進行校驗,采用virshlist--all命令,正常執(zhí)行說明安裝完成。adminroot@ubuntu-server20:~$sudovirshlist--allIdNameState第1部分:安裝和配置KVM組件。3.7項目實驗-安裝和配置KVM步驟1:配置KVM網(wǎng)絡。從Ubuntu18.04開始,網(wǎng)絡配置通過命令netplan實現(xiàn),更改配置文件

/etc/netplan/50-cloud-init.yaml。(1)查看系統(tǒng)網(wǎng)絡信息。adminroot@ubuntu-server20:~$ipashowens322:ens32:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscfq_codelstateUPgroupdefaultqlen1000link/ether00:0c:29:0a:2a:32brdff:ff:ff:ff:ff:ffinet29/24brd55scopeglobalens32valid_lftforeverpreferred_lftforeverinet6fe80::20c:29ff:fe0a:2a32/64scopelinkvalid_lftforeverpreferred_lftforever可以看到ens32的IP地址和mac地址。第2部分:安裝和測試虛擬機。3.7項目實驗-安裝和配置KVM(2)編輯00-installer-config.yaml文件。新建br0并與ens32綁定一起,并指定IP地址為29/24,nameservers指定為DNS服務器。adminroot@ubuntu-server20:~$sudovi/etc/netplan/00-installer-config.yamlbridges:br0:interfaces:[enp7s0]dhcp4:noaddresses:[29/24]gateway4:nameservers:addresses:[66]修改完后,通過sudonetplanapply重啟網(wǎng)絡服務生效。第2部分:安裝和測試虛擬機。3.7項目實驗-安裝和配置KVM(3)查看地址信息和橋接信息。通過使用命令ipa查看IP信息。adminroot@ubuntu-server20:~$ipa2:ens32:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscfq_codelmasterbr0stateUPgroupdefaultqlen1000link/ether00:0c:29:0a:2a:32brdff:ff:ff:ff:ff:ff6:br0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscnoqueuestateUPgroupdefaultqlen1000link/ether00:0c:29:0a:2a:32brdff:ff:ff:ff:ff:ffinet29/24brd55scopeglobalbr0第2部分:安裝和測試虛擬機。3.7項目實驗-安裝和配置KVM查看橋接信息。adminroot@ubuntu-server20:~$brctlshowbridgenamebridgeidSTPenabledinterfacesbr08000.000c290a2a32noens32步驟2:下載鏡像。下載一個ubuntu測試鏡像,存放在/var/lib/libvirt/images目錄中。adminroot@ubuntu-server20:~$cd/var/lib/libvirt/imagesadminroot@ubuntu-server20:/var/lib/libvirt/images$sudowget/0.4.0/cirros-0.4.0-x86_64-disk.imgadminroot@ubuntu-server20:/var/lib/libvirt/images$sudolscirros-0.4.0-x86_64-disk.img第2部分:安裝和測試虛擬機。3.7項目實驗-安裝和配置KVM步驟3:安裝虛擬機。在/var/lib/libvirt/images目錄創(chuàng)建test-vm文件夾存放硬盤文件,將已有鏡像復制為cirros虛擬機鏡像cirros-vm1.img文件,生成cirros虛擬機xml配置文件。(1)創(chuàng)建test-vm目錄。root@ubuntu-server20:/var/lib/libvirt/images#mkdirtest-vm(2)復制鏡像文件。root@ubuntu-server20:/var/lib/libvirt/images#cpcirros-0.4.0-x86_64-disk.img./test-vm/cirros-vm1.img(3)生成虛擬機和配置文件。root@ubuntu-server20:/var/lib/libvirt/images#virt-install-n"cirros"-r512--vcpus=1--diskpath=/var/lib/libvirt/images/test-vm/cirros-vm1.img--networkbridge=br0--importroot@ubuntu-server20:/var/lib/libvirt/images#cd/etc/libvirt/qemu/root@ubuntu-server20:/etc/libvirt/qemu#lscirros.xmlnetworks第2部分:安裝和測試虛擬機。3.7項目實驗-安裝和配置KVM步驟4:查看和測試虛擬機。(1)查看虛擬機。使用virshlist命令查看cirros虛擬機。root@ubuntu-server20:/etc/libvirt/qemu#virshlistIdNameState1cirrosrunning(2)連接虛擬機控制臺。用virshconsole連接cirros虛擬機控制臺。root@ubuntu-server20:/etc/libvirt/qemu#virshconsolecirrosConnectedtodomaincirros(3)登錄cirros虛擬機。cirroslogin:cirrosPassword:第2部分:安裝和測試虛擬機。3.7項目實驗-安裝和配置KVM(4)查看虛擬機網(wǎng)絡信息。查看網(wǎng)絡信息,可以看到cirros虛擬機的IP地址是30/24,查看完畢后,用組合鍵“Ctrl+]”退出cirros虛擬機控制臺。$ipa1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueueqlen1link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet/8scopehostlovalid_lftforeverpreferred_lftforeverinet6::1/128scopehostvalid_lftforeverpreferred_lftforever2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_fastqlen1000link/ether52:54:00:bc:57:0ebrdff:ff:ff:ff:ff:ffinet30/24brd55scopeglobaleth0valid_lftforeverpreferred_lftforeverinet6fe80::5054:ff:febc:570e/64scopelinkvalid_lftforeverpreferred_lftforever第2部分:安裝和測試虛擬機。3.7項目實驗-安裝和配置KVM(5)用終端軟件連接并測試cirros虛擬機。查看網(wǎng)絡信息并測試網(wǎng)絡連通性,如下圖所示。第2部分:安裝和測試虛擬機。3.7項目實驗-利用KVM管理工具管理實例步驟1:虛擬機信息查看。安裝KVM工作的前提是系統(tǒng)為x86、x64架構并且虛擬化VT-x(對于Intel系列)打開。(1)查看當前主機列表。用virshlist命令可以查看當前運行的虛擬機的ID、名稱和狀態(tài)信息。root@ubuntu-server20:~#virshlistIdNameState1cirrosrunning第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例(2)虛擬機信息。用virshdominfocirros可以查看某臺虛擬機詳細信息,如ID、名稱、狀態(tài)、CPU、內存等信息。root@ubuntu-server20:~#virshdominfocirrosId:1Name:cirrosUUID:e5421675-b279-4b78-b498-def54eeba22cOSType:hvmState:runningCPU(s):1CPUtime:48.2sMaxmemory:524288KiBUsedmemory:524288KiBPersistent:yesAutostart:disableManagedsave:noSecuritymodel:apparmorSecurityDOI:0Securitylabel:libvirt-e5421675-b279-4b78-b498-def54eeba22c(enforcing)第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例(3)查看虛擬機磁盤信息。root@ubuntu-server20:~#virshdomblklistcirrosTargetSourcehda/var/lib/libvirt/images/test-vm/cirros-vm1.imghad

是虛擬機磁盤的設備名稱,/var/lib/libvirt/images/test-vm/cirros-vm1.img是磁盤文件路徑。第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例(4)查看虛擬網(wǎng)卡信息。顯示宿主機接口信息。root@ubuntu-server20:~#virshiface-list--allNameStateMACAddressbr0active00:0c:29:0a:2a:32ens35inactive00:0c:29:0a:2a:3cloinactive00:00:00:00:00:00virbr0inactive52:54:00:54:2a:2e顯示虛擬機接口信息。root@ubuntu-server20:~#virshdomiflistcirrosInterfaceTypeSourceModelMACvnet0bridgebr0e100052:54:00:bc:57:0eVnet0是虛擬機網(wǎng)卡接口,該接口通過橋接模式掛接在br0上,可以認為br0是虛擬交換機,可以連接多臺計算機。第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例(5)查看網(wǎng)絡信息。通過查看網(wǎng)絡列表,進一步可以查看網(wǎng)絡詳細信息。root@ubuntu-server20:~#virshnet-listNameStateAutostartPersistentdefaultactiveyesyesroot@ubuntu-server20:~#virshnet-infodefaultName: defaultUUID: 4aec3105-2338-4278-a695-677f436cccfbActive: yesPersistent: yesAutostart: yesBridge: virbr0第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例(6)查看虛擬機CPU綁定信息。用virshvcpuinfo命令可以查看的綁定關系,下面命令說明vCPU0和物理CPU3綁定。root@ubuntu-server20:~#virshvcpuinfocirrosVCPU: 0CPU: 3State: runningCPUtime: 39.1sCPUAffinity: yyyy第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例步驟2:虛擬機基本管理。(1)掛起和恢復虛擬機。先用命令virshdomstate查看虛擬機的狀態(tài),處于運行狀態(tài),然后執(zhí)行掛起操作,可以發(fā)現(xiàn)虛擬機被掛起,然后恢復虛擬機,虛擬機又處于運行狀態(tài)。root@ubuntu-server20:~#virshdomstatecirrosrunningroot@ubuntu-server20:~#virshsuspendcirrosDomaincirrossuspendedroot@ubuntu-server20:~#virshdomstatecirrospausedroot@ubuntu-server20:~#virshresumecirrosDomaincirrosresumedroot@ubuntu-server20:~#virshdomstatecirros第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例(2)關閉和啟動虛擬機。先用命令virshdomstate查看虛擬機的狀態(tài),處于運行狀態(tài),然后執(zhí)行關閉操作,可以發(fā)現(xiàn)虛擬機被關機,然后啟動虛擬機,虛擬機又處于運行狀態(tài)。root@ubuntu-server20:~#virshdomstatecirrosrunningroot@ubuntu-server20:~#virshshutdowncirrosDomaincirrosisbeingshutdownroot@ubuntu-server20:~#virshdomstatecirrosshutoffroot@ubuntu-server20:~#virshstartcirrosDomaincirrosstartedroot@ubuntu-server20:~#virshdomstatecirrosrunning第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例(3)設置自動啟動虛擬機。可以使用以下命令將虛擬機設置在宿主機啟動時自動啟動。root@ubuntu-server20:~#virshautostartcirrosDomaincirrosmarkedasautostarted(4)創(chuàng)建快照和恢復虛擬機。下面操作過程首先查看虛擬機列表,然后用snapshot-create-asing命令將cirros虛擬機創(chuàng)建快照為cirros_bak,用snapshot-list命令查看快照列表,最后用snapshot-revert命令還原快照。root@ubuntu-server20:~#virshlistIdNameState2cirrosrunningroot@ubuntu-server20:~#virshsnapshot-create-ascirroscirros_bakDomainsnapshotcirros_bakcreatedroot@ubuntu-server20:~#virshsnapshot-listcirrosNameCreationTimeStatecirros_bak2021-05-1213:26:59+0000runningroot@ubuntu-server20:~#virshsnapshot-revertcirroscirros_bak第1部分:虛擬機基本管理。3.7項目實驗-利用KVM管理工具管理實例步驟1:虛擬機網(wǎng)卡管理。用attach-interface命令添加一塊網(wǎng)卡,綁定在virbr0上,然后用domiflistcirros命令可以看到添加后的結果。root@ubuntu-server20:~#virshattach-interfacecirros--typebridge--sourcevirbr0--live--configInterfaceattachedsuccessfullyroot@ubuntu-server20:~#virshdomiflistcirrosInterfaceTypeSourceModelMACvnet0bridgebr0e100052:54:00:bc:57:0evnet1bridgevirbr0rtl813952:54:00:6b:05:80第2部分:虛擬機硬件管理。3.7項目實驗-利用KVM管理工具管理實例步驟2:虛擬機硬盤管理。下面用qemu-img命令創(chuàng)建磁盤文件,然后通過attach-disk命令掛載到虛擬機上,用domblklist命令查看,可以看到新增加的硬盤vdb。root@ubuntu-server20:~#qemu-imgcreate-fqcow2/var/lib/libvirt/images/test-vm/share-device.qcow2-osize=1G,preallocation=metadataFormatting'/var/lib/libvirt/images/test-vm/share-device.qcow2',fmt=qcow2size=1073741824cluster_size=65536preallocation=metadatalazy_refcounts=offrefcount_bits=16root@ubuntu-server20:~#virshattach-diskcirros/var/lib/libvirt/images/test-vm/share-device.qcow2vdb--live

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論