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
ONBOOT=yes
NM_CONTROLLED=no
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
inet6 addr: fe80::20c:29ff:febb:ca36/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
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 被掛起
[root@localhost ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
2 Centos6.5 暫停
4.8 回覆掛起
[root@localhost ~]# virsh resume Centos6.5
域 Centos6.5 被重新恢復
[root@localhost ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
2 Centos6.5 running
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 shutdown Centos6.5
[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配置文件
[root@localhost qemu]# virsh edit Centos6.5
...省略
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)查看虛擬機的狀態:
[root@localhost ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
1 Centos6.5 running
----------------------------------------------------
[root@localhost ~]# virsh shutdown Centos6.5
域 Centos6.5 被關閉
----------------------------------------------------
[root@localhost ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
- 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 再查看虛擬機的狀態
[root@localhost ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
- Centos6.5 關閉
- test 關閉
6.4 啓動虛擬機
[root@localhost ~]# virsh start test
域 test 已開始
[root@localhost ~]# virsh list --all
Id 名稱 狀態
----------------------------------------------------
2 test running
- Centos6.5 關閉
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 創建新快照
[root@localhost ~]# virsh snapshot-create Centos6.5
Domain snapshot 1420637149 created
[root@localhost ~]# virsh snapshot-list Centos6.5
名稱 Creation Time 狀態
------------------------------------------------------------
1420636959 2015-01-07 21:22:39 +0800 shutoff
1420637149 2015-01-07 21:25:49 +0800 shutoff
----------------------------------------------------------------
7.5 恢復快照狀態至1420636959
[root@localhost ~]# virsh snapshot-revert Centos6.5 1420636959
[root@localhost ~]# virsh snapshot-current Centos6.5
1420636959
shutoff
7.6 刪除快照
[root@localhost ~]# virsh snapshot-list Centos6.5
名稱 Creation Time 狀態
------------------------------------------------------------
1420636959 2015-01-07 21:22:39 +0800 shutoff
1420637149 2015-01-07 21:25:49 +0800 shutoff
[root@localhost ~]# virsh snapshot-delete Centos6.5 1420637149
Domain snapshot 1420637149 deleted
[root@localhost ~]# virsh snapshot-list Centos6.5
名稱 Creation Time 狀態