經過案例部署KVM虛擬化平臺

經過案例  搭建KVM虛擬化平臺python

 

注意:1實驗要開啓VMWare中對應CentOS6.5虛擬機的虛擬化功能--在虛擬機設置--處理器--虛擬化引擎--勾選虛擬化Intel VT-x/EPT 或 AMD-V/RVI(V)shell

2.KVMKernel Virtual Machine的縮寫,目前RedHat 只支持在64位的系統上運行KVM , 同時硬件要支持VT技術。vim

案例環境:採用的是CentOS6.5x86_64,開啓虛擬化支持安全

1、安裝方式服務器

圖形化安裝CentOS6.5--採用最小化安裝系統--選擇桌面安裝--選擇虛擬化選項網絡

 

2、在已有系統基礎上,安裝KVM所需軟件dom

yum -y groupinstall "Desktop"ide

yum -y install qemu-kvm.x86_64 qemu-kvm-tools.x86_64 python-virtinst.noarch qemu-img.x86_64 bridge-utils.x86_64 libvirt virt-manager工具

 

3、驗證--安裝好以上RPM包後,最好重啓一下系統,再查看CPU是否支持虛擬化性能

1)查看如下兩種類型CPU支持虛擬化的相關信息

A.Intel

cat /proc/cpuinfo | grep vmx

B.AMD

CAT /proc/cpuinfo | grep smv

wKioL1ZJVICiH8bHAAE4Mu85bV0675.png 

2)查看KVM模塊是否成功安裝

lsmod | grep kvm

 

4、設置KVM網絡

libvirt中運行KVM網絡有兩種:用戶模式-NAT和橋接模式-Bridge,默認是NAT模式

,根據實際的需求咱們採用橋接模式。

vim /etc/sysconfig/network-scripts/ifcfg-eth0(修改配置文件ifcfg-eth0)

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=none

HWADDR=00:0c:29:25:6a:6e

BRIDGE="br0"

 

vim /etc/sysconfig/network-scripts/ifcfg-br0(新建配置文件ifcfg-br0)

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.1.100

NETMASK=255.255.255.0

 

重啓network服務

[root@localhost ~]# service network restart

正在關閉接口 br0:                                         [肯定]

正在關閉接口 eth0:                                        [肯定]

關閉環回接口:                                             [肯定]

彈出環回接口:                                             [肯定]

彈出界面 eth0:                                            [肯定]

彈出界面 br0: Determining if ip address 192.168.1.100 is already in use for device br0...

 

確認IP地址信息:                                                          [肯定]

[root@localhost ~]# ifconfig

wKioL1ZJVKHTG9JqAAEqe4PSIOU235.png 

 

輸出以上信息,說明網卡橋接成功了!

 

5KVM管理

virt-manager是基於libvirt的圖形化虛擬機管理軟件,該軟件不一樣的版本,圖形界面和操做方法也可能不一樣,在Shell環境下,以root身份輸入命令:virt-manager 便可調出虛擬化管理器。

[root@localhost ~]# virt-manager

Xlib:  extension "RANDR" missing on display "localhost:10.0".

wKiom1ZJVHXwoX-4AAGlsNS8HTg383.png 

 

6、虛擬化管理的步驟以下:

1)建立存儲池

雙擊localhost(QEMU)--選擇「儲存」選項卡--單擊「+」新建儲存池:名稱「bdqn;目錄「/data_kvm/store--單擊「完成」。

 

2)再建立一個鏡像儲存池

雙擊localhost(QEMU)--選擇「儲存」選項卡--單擊「+」新建儲存池:名稱「bdqn_iso;目錄「/data_kvm/iso--單擊「完成」。

 

上傳iso鏡像文件

可用mount -o 或別的方法把鏡像上傳到服務器目錄/data_kvm/iso

3)建立存儲卷

單擊剛建立好的「bdqn」存儲池--單擊對話框右下角「新建卷」按鈕創建一個儲存卷:名稱:「benet_kvm;設置存儲卷的最大容量和分配容量「10240MB--單擊「完成」。wKiom1ZJVKehQwdGAAHYtsuQJAY931.png

 

4)建立虛擬機

虛擬系統管理器--右擊「Localhost(QEMU)--單擊「新建」選項--虛擬機名稱「CentOS6.5--打擊「前進」按鈕--分配內存和CPU資源--單擊「前進」按鈕--勾選「當即分配整個磁盤」,點選「管理的或者其餘現有存儲」,單擊「瀏覽」按鈕選擇文件--單擊「前進」按鈕--勾選「在安裝前自定義配置」--單擊「完成」。在「Overview」視圖,定位到「機器設置」-時鐘偏移-改成「localtime,單擊應用;定位到「Boot Option,勾選「主機引導時啓動虛擬機」複選框-單擊應用;在「顯示VNC」中,將Keymap設置爲「Copy Local Keymap」。

wKioL1ZJVTTxP5kzAAE-6Xem0RE735.png 

 

 

wKioL1ZJVZ7y9HefAAFhraFVG2k020.png 

wKioL1ZJVbPjWqSOAAFEJEE2-ks112.png 

wKioL1ZJVgDydnG0AAFEK8uWQxE181.png


 wKiom1ZJVeCTUIdPAAGuuB4oXOM362.png

 

設置完畢後,單擊「Begin Installation」按鈕便可,整個虛擬機配置過程完成。下面就是一步一步安裝系統了。

wKiom1ZJVl3D3WEGAAIDIHfkGb4339.png

 

第二部分 使用KVM命令集管理虛擬機

1、安裝Linux虛擬機

虛擬機192.168.1.100宿主機(看成物理機)已安裝,使用Xshell遠程控制該宿主機或在本機上操做。

 

2KVM基本功能管理

1)查看命令幫助

wKioL1ZJVsrCXjDHAAD1nIzw1_s908.png 

[root@localhost ~]# ls /etc/libvirt/qemu

autostart  CentOS6.5.xml  networks

 

2)查看KVM的配置文件存放目錄(CentOS6.5.xml是虛擬機系統實例的配置文件)

ls /etc/libvirt/qemu

 

3)查看虛擬機狀態

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 3     CentOS6.5                      running

 

4)虛擬機關機與開機

注意:首先要確認acpid服務已安裝並運行

 

[root@localhost ~]# rpm -qa acpid

acpid-1.0.10-2.1.el6.x86_64

 

[root@localhost ~]# /etc/rc.d/init.d/acpid start

啓動 acpi 守護進程:                                       [肯定]

 

[root@localhost ~]# virsh shutdown CentOS6.5

域 CentOS6.5 被關閉

 

[root@localhost ~]# virsh start CentOS6.5

域 CentOS6.5 已開始

 

5)強制實例系統關閉電源

[root@localhost ~]# virsh destroy CentOS6.5

域 CentOS6.5 被刪除

 

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 -     CentOS6.5                      關閉

wKiom1ZJVpjwTsiWAADnm6BLBiM591.png 

 

 

6)經過配置文件啓動虛擬機系統實例

[root@localhost ~]# virsh create /etc/libvirt/qemu/CentOS6.5.xml

域 CentOS6.5 被建立(從 /etc/libvirt/qemu/CentOS6.5.xml

 

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 5     CentOS6.5                      running

 

7)掛起虛擬機

[root@localhost ~]# virsh suspend CentOS6.5

域 CentOS6.5 被掛起

 

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 5     CentOS6.5                      暫停

 

8)恢復虛擬機

[root@localhost ~]# virsh resume CentOS6.5

域 CentOS6.5 被從新恢復

 

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 5     CentOS6.5                      running

 

9)配置虛擬機實例伴隨宿主機自動啓動

[root@localhost ~]# virsh autostart CentOS6.5

域 CentOS6.5標記爲自動開始

 

該目錄內容爲開機自動啓動的系統

[root@localhost ~]# ls -hl /etc/libvirt/qemu/autostart/

總用量 0

lrwxrwxrwx 1 root root 31 9月  24 17:18 CentOS6.5.xml -> /etc/libvirt/qemu/CentOS6.5.xml

 

10)導出虛擬機配置

virsh dumpxml CentOS6.5 >/etc/libvirt/qemu/test02.xml

 

[root@localhost ~]# ls /etc/libvirt/qemu

autostart  CentOS6.5.xml  networks  test02.xml

 

11)虛擬機的刪除和添加

[root@localhost ~]# virsh shutdown CentOS6.5

域 CentOS6.5 被關閉

 

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 -     CentOS6.5                      關閉

 

[root@localhost ~]# virsh undefine CentOS6.5

域 CentOS6.5 已經被取消定義

wKioL1ZJVwax0HAEAADnUCItdmE375.png 

 

[root@localhost ~]# ls /etc/libvirt/qemu

autostart  networks  test02.xml

 

注意:CentOS6.5的配置文件被刪除,可是磁盤文件不會被刪除

 

經過virsh list --all 查看不到CentOS6.5的信息,說明此虛擬機被刪除。

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 

經過備份配置文件從新定義虛擬機

cd /etc/libvirt/qemu

mv test02.xml CentOS6.5.xml

[root@localhost qemu]# virsh define CentOS6.5.xml 

定義域 CentOS6.5(從 CentOS6.5.xml

 

[root@localhost ~] virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 -     CentOS6.5                      關閉

 

12)修改虛擬機的配置信息(可修改系統內存大小、磁盤文件等信息)

vim /etc/libvirt/qemu/CentOS6.5.xml

 

經過virsh命令修改

virsh edit CentOS6.5

 

第三部分 KVM文件的管理

 

注意:首先安裝文件格式轉換的命令行工具

[root@localhost Packages]# yum -y install libguestfs-tools

 

1、轉換raw格式磁盤文件至qcow2格式

查看當前磁盤文件格式

[root@localhost ~] qemu-img info /data_kvm/store/benet_kvm.img 

p_w_picpath: /data_kvm/store/benet_kvm.img

file format: raw

virtual size: 10G (10737418240 bytes)

disk size: 10G

 wKiom1ZJVvvDSDftAACVYC3Qr68019.png

 

 

關閉虛擬機CentOS6.5

[root@localhost qemu]# virsh shutdown CentOS6.5

域 CentOS6.5 被關閉

 

轉換磁盤文件格式

qemu-img convert -f raw -O qcow2 /data_kvm/store/benet_kvm.img /data_kvm/store/benet_kvm.qcow2

 

2、修改CentOS6.5xml配置文件

[root@localhost ~]# virsh edit CentOS6.5

<disk type='file' device='disk'>

      <driver name='qemu' type='qcow2' cache='none'/>

      <source file='/data_kvm/store/benet_kvm.qcow2'/>

      <target dev='vda' bus='virtio'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>

</disk>

wKioL1ZJV6WC4wOeAAEOzPgvXc0808.png 

 

編輯了域 CentOS6.5 XML 配置。

 

3virt-cat命令,相似於cat命令

virt-cat -a /data_kvm/store/benet_kvm.qcow2 /etc/sysconfig/network

 

4virt-edit命令,用於編輯文件,用法與vim基本一致。

virt-edit -a /data_kvm/store/benet_kvm.qcow2 /etc/resolv.conf

 

5virt-df命令查看虛擬磁盤信息

virt-df -h

[root@localhost ~]# virt-df -h CentOS6.5

Filesystem                                Size       Used  Available  Use%

CentOS6.5:/dev/sda1                      1008M        57M       900M    6%

 

第四部分 虛擬機的克隆

1、查看虛擬機的狀態

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 -     CentOS6.5                      關閉

 

2、從CentOS6.5克隆test01

virt-clone -o CentOS6.5 -n test01 -f /data_kvm/store/benet_kvm.qcow2

[root@localhost ~]# virt-clone -o CentOS6.5 -n test01 -f /data_kvm/store/test01.qcow2 

正在分配 'test01.qcow2'                                          |  10 GB     00:05     

 

Clone 'test01' created successfully.

 

3、查看虛擬機狀態

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 -     CentOS6.5                      關閉

 -     test01                         關閉

 

4、啓動虛擬機

[root@localhost ~]# virsh start test01

域 test01 已開始

 

[root@localhost ~]# virsh list --all

 Id    名稱                         狀態

----------------------------------------------------

 7     test01                         running

 -     CentOS6.5                      關閉

 

第五部分 虛擬機快照

 

KVM虛擬機要使用鏡像功能,磁盤格式必須爲qcow2.

[root@localhost ~]# qemu-img info /data_kvm/store/test01.qcow2 

p_w_picpath: /data_kvm/store/test01.qcow2

file format: qcow2

virtual size: 10G (10737418240 bytes)

disk size: 607M

cluster_size: 65536

wKioL1ZJV8rjtHY7AAFTq2QKkik767.png 

 

KVM虛擬機快照備份過程以下:

1)對CentOS6.5建立快照

[root@localhost ~]virsh snapshot-create CentOS6.5

 

2)查看虛擬機快照版本信息

[root@localhost ~]virsh snapshot-current CentOS6.5

 

3)查看快照信息

[root@localhost ~]virsh snapshot-list CentOS6.5

 

4)建立新快照

[root@localhost ~]virsh snapshot-create CentOS6.5

 

5)查看快照信息

[root@localhost ~]virsh snapshot-list CentOS6.5

 

6)恢復虛擬機至某個快照狀態

[root@localhost ~]virsh snapshot-revert CentOS6.5 1282572963

 

7)查看虛擬機快照版本信息

[root@localhost ~]virsh snapshot-current CentOS6.5 

 

8)刪除快照

[root@localhost ~]virsh snapshot-delete CentOS6.5 1282572963

 

總結:KVM虛擬化平臺,現做爲Linux內核模塊之一,它依託CPU虛擬化指令集(如Intel-VT,AMD-V)實現高性能的安全穩定的虛擬化支持。

       KVM對硬件的要求,必須是64位操做系統,其CPU支持lntelAMD虛擬化,能夠分別經過cat /proc/cpuinfo |grep vmx cat /proc/cpuinfo |grep smv 來查看。

      KVM 可經過命令集管理,但寵大的命令集很難清楚明瞭,因此一般都是在桌面環境下經過圖形界面管理,直觀方便。

相關文章
相關標籤/搜索