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