1. 程式人生 > >KVM虛擬機器安裝、管理

KVM虛擬機器安裝、管理

一、詳解
1、虛擬化產品對比表
KVM虛擬機器安裝、管理
2、KVM簡介
KVM全稱Kernel-based Virtual Machine,翻譯過來是基於核心的虛擬機器,實際它是Linux核心的一個模組。該模組將Linux變為一個Hypervisor,由Quramnet開發,支援x86、s390、Powerpc等CPU。它使用Linux自身的排程器進行管理,所以相對於Xen,其核心原始碼很少。KVM目前已成為學術界的主流VMM之一。
KVM的虛擬化需要硬體支援(如Intel VT技術或者AMD V技術)。是基於硬體的完全虛擬化。而Xen早期則是基於軟體模擬的Para-Virtualization,新版本則是基於硬體支援的完全虛擬化。但Xen本身有自己的程序排程器,儲存管理模組等,所以程式碼較為龐大。廣為流傳的商業系統虛擬化軟體VMware ESX系列是基於軟體模擬的Full-Virtualization。
3、kvm架構
從GUI到Linux核心,包括以下5個元件:
1)virt-manager
用來管理VM的GUI/CUI使用者介面;它使用libvirt API呼叫VM的各項功能
2)libvirt
工具集及介面,作為較通用的伺服器虛擬化軟體,支援xen、vmware vSpher,qemu/KVM。
3)qemu
qemu是KVM核心模組互動的模擬器,處理多種客戶機系統請求的I/O;一個qemu程序對應一個客戶機系統
4)KVM模組
用於處理VM Exits和VM Entry指令
5)Linux核心
處理客戶機系統排程
二、操作
1、安裝準備工作
1)如果在workstation上做實驗,應當將處理的虛擬化功能開啟
KVM虛擬機器安裝、管理


如果真實生產環境應當修改BIOS,開啟虛擬化
KVM虛擬機器安裝、管理
2)你的KVM需要有足夠的記憶體和磁碟空間
KVM虛擬機器安裝、管理
當然具體情況具體對待,磁碟和記憶體根據你的KVM上執行的虛擬機器數量有關,我這裡只是作實驗
3)開機後,執行如下命令可以檢視cpu是否支援虛擬化
KVM虛擬機器安裝、管理
2、部署&在kvm安裝虛擬機器
KVM虛擬機器安裝、管理
通過vnc連線裝機介面
KVM虛擬機器安裝、管理
1)libguestfs-tools包
libguestfs -tools是一組Linux下的C語言的API,用來訪問虛擬機器的磁碟映像檔案。該工具包內包含的工具有virt-cat、virt-df、virt-list、virt-copy-in、virt-copy-out、virt-edit、guestfs、guestmount、virt-list-filesystems、virt-list-partitions等工具。該工具可以在不啟動KVM guest主機的情況下,直接檢視guest主機內的文內容,也可以直接向img映象中寫入檔案和複製檔案到外面的物理機,也可以將guest的映象檔案掛載,功能相當強大。
2)libvirt包
libvirt是用於管理虛擬化平臺的開源的API(libvirt API),後臺程式(libvirtd程序)和管理工具(virsh工具集)。它可以用於管理KVM、Xen、VMware ESX,QEMU和其他虛擬化技術。這些API在雲端計算的解決方案中廣泛使用。libvirtd程序主要實現遠端代理、本地環境初始化、根據環境註冊各種Driver(qemu、xen、storage)的實現。virsh工具集主要用於管理、操作虛擬主機。
3)virt-install包
這個包主要安裝了virt-install、virt-clone和virt-xml命令,分別用於安裝虛擬機器系統、克隆虛擬機器和編輯虛擬機器的xml配置檔案。
3、virsh工具使用
KVM虛擬機器安裝、管理

4、虛擬機器的克隆和快照
KVM虛擬機器安裝、管理
虛擬機器通過以上命令可以克隆,但是不建議這樣做。
我們可以先建立一個虛擬機器的磁碟檔案,然後找到/etc/libvirt/qemu,將其中已經存在的虛擬機器配置檔案(xml結尾)複製一份出來,然後編譯複製出來的檔案,將虛擬機器名、虛擬機器磁碟檔案位置、uuid、mac地址修改一下,最後通過define命令定義虛擬機器,完成複製
KVM虛擬機器安裝、管理
KVM虛擬機器安裝、管理
5、kvm磁碟管理(qemu-img的使用)
1)kvm支援的磁碟型別
raw:這並非是一種真正的磁碟格式,而是代表虛擬機器所使用的原始映象;它並不儲存元資料,因此可以作為保證虛擬機器相容性的候選方案,然而也正因為它不儲存元資料,因此不能支援某些高階特性,比如快照和壓縮等。格式簡單,容易轉換為其他格式;需要檔案系統的支援才能支援sparse file。
qcow2:相對於raw來講,效能較低。但是特點就是支援壓縮、快照、克隆。
2)qcow2盤的支援的磁碟型別
稀疏盤:與實盤相反
差異盤:允許以一個虛擬機器磁碟為底盤,可節省空間,當相應的,I/O效能下降
實盤:分配所有磁碟空間並置零,預分配後的虛擬磁碟屬於厚盤
3)操作
KVM虛擬機器安裝、管理

4)通過差異盤建立虛擬機器
KVM虛擬機器安裝、管理
(和上面的一樣,需要修改複製的xml檔案)
KVM虛擬機器安裝、管理
6、kvm檔案管理
該部分是通過不開啟虛擬機器的情況下,通過libguestfs-tools對虛擬機器的檔案進行操作
KVM虛擬機器安裝、管理