天天看點

kvm虛拟化

1、介紹部署虛拟化環境。

2、建立虛拟機執行個體。

3、虛拟機的基本管理。

KVM 2.6.20 之後 CPU虛拟化指令集(Intel-VT | AMD-V)

=============================================================

Centos 6.5 X86_64 :

40G硬碟

CPU支援虛拟化指令集(Intel-VT | AMD-V)

4G記憶體

在虛拟機中必須勾選兩項:虛拟哈 Intel VT-x/EPT或AMD-V/RVI(V)

Virtualise CPU ...

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

setup1:

setup1.1: 在已有系統基礎上,安裝KVM所需軟體

[root@localhost 桌面]# 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

1.2 驗證。重新啟動系統,檢視CPU是否支援虛拟化

[root@localhost 桌面]# cat /proc/cpuinfo |grep vmx

flags  : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep

檢查KVM子產品是否安裝:

[root@localhost 桌面]# lsmod |grep kvm

kvm_intel              54285  0

kvm                   333172  1 kvm_intel

============================================================

Setup2:

2.1

在libvirt中運作KVM網絡有兩種方法:NAT和bridge,預設是NAT.

将以bridge(橋接模式)為例。

[root@localhost 桌面]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:BB:CA:36

TYPE=Ethernet

UUID=5697689c-b71a-47b9-8a4b-de1c3d4c0a03

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=none

BRIDGE="br0"

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

[root@localhost 桌面]# vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=Bridge

BOOTPROTO=static

IPADDR=192.168.10.1

NETMASK=255.255.255.0

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

[root@localhost 桌面]# service network restart

關閉環回接口:                                             [确定]

彈出環回接口:                                             [确定]

彈出界面 eth0:                                            [确定]

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

                                                          [确定]

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

确定IP位址資訊

[root@localhost 桌面]# ifconfig

br0       Link encap:Ethernet  HWaddr 00:0C:29:BB:CA:36  

         inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0

         inet6 addr: fe80::20c:29ff:febb:ca36/64 Scope:Link

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

         RX packets:33 errors:0 dropped:0 overruns:0 frame:0

         TX packets:10 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:0

         RX bytes:1772 (1.7 KiB)  TX bytes:636 (636.0 b)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:BB:CA:36  

         RX packets:3091 errors:0 dropped:0 overruns:0 frame:0

         TX packets:17 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:1000

         RX bytes:797555 (778.8 KiB)  TX bytes:1182 (1.1 KiB)

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

Setup3 :KVM管理

[root@localhost 桌面]# virt-manager (在執行該指令後,彈出圖形管理器界面報錯,需重新開機

系統,問題自然解決)

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

[root@localhost 桌面]# mkdir -p /data_kvm/{store,iso}

1、建立存儲池:輕按兩下localhost(QEMU)

2、建立鏡像存儲池:

3、建立存儲卷:

4、建立虛拟機,将虛拟機名稱命名為Centos6.5

===============================================================

Setup4:使用KVM指令集管理虛拟機

4.1 檢視指令幫助

[root@localhost ~]# virsh -h

4.2 檢視KVM的配置檔案存放目錄

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

autostart  Centos6.5.xml  networks

4.3 檢視虛拟機狀态

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

Id    名稱                         狀态

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

2     Centos6.5                      running

4.4 虛拟機的關機與開機

首先需要确認acpid服務安裝并運作

[root@localhost ~]# service acpid status

acpid (pid  1625) 正在運作...

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

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

4.5 強制執行個體系統關閉電源

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

4.6 通過配置檔案啟動虛拟機系統執行個體

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

4.7 挂起虛拟機

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

域 Centos6.5 被挂起

2     Centos6.5                      暫停

4.8 回複挂起

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

域 Centos6.5 被重新恢複

 4.9 配置虛拟機執行個體伴随主控端自動啟動。

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

域 Centos6.5标記為自動開始

4.10 導出虛拟機配置

[root@localhost ~]# virsh dumpxml Centos6.5 > /etc/libvirt/qemu/Centos6.5_bak.xml

 4.11 虛拟機的删除與添加

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

 4.12 修改虛拟機的配置資訊

[root@localhost qemu]# virsh edit Centos6.5

[root@localhost qemu]# vim /etc/libvirt/qemu/Centos6.5.xml (效果同上)

Setup5:KVM檔案管理

 虛拟機磁盤檔案有raw與qcow2格式,KVM 預設格式是:raw;

raw:好處:性能好,速度最快。缺點:不支援一些新的功能。如:鏡像、Zlib磁盤壓縮,AES加密等。

libgestfs-tools

 5.1 轉換raw格式磁盤至qcow2的格式

檢視目前磁盤格式

[root@localhost qemu]# qemu-img info /data_kvm/store/xinwen_kvm.img

p_w_picpath: /data_kvm/store/xinwen_kvm.img

file format: raw

virtual size: 10G (10737418240 bytes)

disk size: 10G

關閉虛拟機:

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

域 Centos6.5 被關閉

 轉換磁盤檔案格式:

[root@localhost qemu]# qemu-img convert -f raw -O qcow2 /data_kvm/store/xinwen_kvm.img /data_kvm/store/xinwen_kvm.qcow2

 5.2 修改Centos6.5的xml配置檔案

...省略

23

24

5.3 virt-cat指令,類似于cat

[root@localhost qemu]# virt-cat -a /data_kvm/store/xinwen_kvm.qcow2 /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=localhost.localdomain

 5.4 virt-edit指令,用于編輯檔案,用法與vim基本相同

[root@localhost qemu]# virt-edit -a /data_kvm/store/xinwen_kvm.qcow2 /etc/resolv.conf

 5.5 virt-df 指令用檢視虛拟機磁盤資訊

[root@localhost qemu]# virt-df -h Centos6.5

Filesystem                                Size       Used  Available  Use%

Centos6.5:/dev/sda1                       484M        34M       425M    8%

Centos6.5:/dev/VolGroup/lv_root           8.4G       3.3G       4.6G   40%

======================================================================================

6 虛拟機克隆

6.1)檢視虛拟機的狀态:

1     Centos6.5                      running

-     Centos6.5                      關閉

6.2 從Centos6.5 克隆為 test

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

正在配置設定 'test.qcow2'                                        |  10 GB     00:00    

Clone 'test' created successfully.

 6.3 再檢視虛拟機的狀态

-     test                           關閉

6.4 啟動虛拟機

[root@localhost ~]# virsh start test

域 test 已開始

2     test                           running

7 虛拟機的快照

KVM虛拟機要使用鏡像功能,磁盤的格式必須為qcow2

 7.1 對Centos6.5建立快照

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

Domain snapshot 1420636959 created

7.2 檢視虛拟機快照版本資訊

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

1420636959//快照的版本号

shutoff

.........

 7.3 檢視快照資訊

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

名稱               Creation Time             狀态

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

1420636959           2015-01-07 21:22:39 +0800 shutoff

 7.4 建立新快照

Domain snapshot 1420637149 created

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

1420637149           2015-01-07 21:25:49 +0800 shutoff

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

7.5 恢複快照狀态至1420636959

[root@localhost ~]# virsh snapshot-revert Centos6.5 1420636959

1420636959

 7.6 删除快照

 1420636959           2015-01-07 21:22:39 +0800 shutoff

 [root@localhost ~]# virsh snapshot-delete Centos6.5 1420637149

Domain snapshot 1420637149 deleted

繼續閱讀