kvm虛擬化技術應用實戰

分類:IT技術 時間:2016-10-10

本文根據上課筆記整理,大家都知道雲計算的基礎就是虛擬化,而開源的虛擬化基本以kvm技術為主導,因此kvm技術已成為運維工程師必備的技術,也是雲時代必不可少的技術

在介紹kvm之前 我們先來了解一下vnc這個軟件,後面安裝kvm需要vnc來支持

1、vnc的安裝及使用

# yum -y install tigervnc-server
首次啟動
# vncserver :1
會提示輸入兩次密碼
然後編輯/root/.vnc/xstartup,將最後一行twm替換為gnome-session或者startkde
懶人可以直接用以下語句直接替換(執行任意一條即可,建議選擇第一條穩定,但是占用內存較多)
sed -i 's/twm/gnome-session/g' /root/.vnc/xstartup
sed -i 's/twm/startkde/g' /root/.vnc/xstartup
重啟vncserver
# vncserver
客戶端連接
vncclient裏輸入 vncserver-IP:1

2、查看是否 支持虛擬化


確定服務器是否支持虛擬化,如果沒有查到,在bios裏面開啟

vmx屬於inter處理器,svm屬於amd處理器  egrep 'vmx|svm' /proc/cpuinfo

wKiom1eE3V2id8RlAABKfNMu_vU335.png-wh_50

3、安裝kvm軟件包

yum  groupinstall "DevelopmentTools"
yum  groupinstall "Virtualization" "Virtualization Client""Virtualization Platform"
virtualization //提供虛擬機的環境,主要包含qumu-kvm
virtualization-client//管理和安裝虛擬機實例的客戶端,主要有python-virtinst,virt-manager,virt-viewer
virtualization-platform//提供訪問和控制虛擬客戶端的接口,主要有libvirt,libvirt-client

4、檢查安裝後是否加載相關模塊

wKiom1eE3dewftzbAAASDZNJ1I8356.png-wh_50

5、kvm虛擬機的安裝

安裝虛擬機有兩種方式,一種是通過vnc連接到宿主機圖形界面內,然後通過virt-manager命令打開虛擬機創建圖形界面創建即可。這裏我們簡單截圖說明,首先通過vncview連接服務端

wKiom1eE3rSALxXuAACZ34Reisw509.png-wh_50wKioL1eE3sejzLaXAACZ34Reisw766.png-wh_50

點擊new

wKiom1eE3xLTfyYOAAEysRqt9sY287.png-wh_50

之後一步一步根據提示安裝完成即可,如果這裏需要詳細說明,我們下次再介紹

另一種是通過命令行方式進行安裝,步驟如下:
1. 上傳ISO文件,這裏采用centos6.5
2. 開始安裝centos6.5
# virt-install --name=vigor --ram 2048 --vcpus=1 --disk path=/var/lib/libvirt/images/iiveylinux4.img,size=30,bus=virtio --accelerate --cdrom /iso/CentOS-6.5-x86_64-bin-DVD1.iso --vnc --vncport=5911 --vnclisten=0.0.0.0 --Network bridge=br0,model=virtio --noautoconsole
說明:在linux系統安裝開始就要註意添加提高性能的一些參數,後面就不需要做一些調整了。
kvm虛擬化學習筆記(五)之Windows虛擬機性能調整,這篇文章介紹windows配置virtio的驅動還有些麻煩,最好是在開始安裝時註意加入這些參數。
參數說明:
--name 指定虛擬機名稱
--ram 分配內存大小。
--vcpus分配CPU核心數,最大與實體機CPU核心數相同
--disk 指定虛擬機鏡像,size 指定分配大小單位為G。
--network 網絡類型,此處用的是默認,一般用的應該是 bridge 橋接。
--accelerate 加速
--cdrom指定安裝鏡像iso
--vnc啟用VNC遠程管理,一般安裝系統都要啟用。
--vncport指定VNC 監控端口,默認端口為5900,端口不能重復。
--vnclisten指定VNC 綁定IP,默認綁定127.0.0.1,這裏改為 0.0.0.0

6、網絡配置

kvm的網絡設置我們在博客中詳細說明,這裏簡單說明下
kvm虛擬機網絡問為三種:a)虛擬網絡'default':NAT (默認方式,支持虛擬機上網但不支持互訪) b)主機設備 vnet0(根據使勁情況而定):macvtap(支持互訪) c)主機設備 vent0 (橋接'br0') (bridge方式,可以使用虛擬機成為網絡中具有獨立IP的主機)bridge方式介紹:1、建立橋接器在/etc/sysconfig/network-scripts目錄下,創建一個ifcfg-br0 橋接器,內容如下:[root@hadoop network-scripts]# more ifcfg-br0 DEVICE="br0"BOOTPROTO="static"ONBOOT="yes"IPADDR=172.16.212.232NETMASK=255.255.255.0TYPE="Bridge"2、更改物理設備,這裏選擇 eth0 ,內容如下:[root@hadoop network-scripts]# more ifcfg-eth0DEVICE="eth0"BOOTPROTO="none"ONBOOT="yes"TYPE="Ethernet"BRIDGE="br0"UUID="d931154d-d2c9-4977-ab78-4a9efa971f39"3、重啟網絡服務:service network restart

7、虛擬機的克隆


kvm虛擬機的克隆分為兩種情況,本文也就通過以下兩種情況進行克隆。(1) KVM主機本機虛擬機直接克隆。(2) 通過復制配置文件與磁盤文件的虛擬機復制克隆(適用於異機的靜態遷移)。1. 本機虛擬機直接克隆
(1) 查看虛擬機配置文件[root@node1 ~]# cat /etc/libvirt/qemu/oeltest01.xml虛擬機磁盤文件: /data/test01.img虛擬機名稱:oeltest01(2) 開始克隆# virt-clone -o oeltest01 -n oeltest02 -f /data/test02.img說明:以oeltest01做為源,克隆oeltest01虛擬機,並創建名稱為oeltest02虛擬機,使用磁盤文件/data/test02.img(3) 啟動虛擬機並配置主機名,IP地址等。

# vi /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 test02localhost.localdomainlocalhost
::1 localhost6.localdomain6 localhost6
# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=test02
GATEWAY=192.168.233.2
修改IP地址
# vi /etc/sysconfig/network-script/ifcfg-eth0
# Virtio Network Device
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=52:54:00:56:bd:2b
IPADDR=192.168.233.142
NETMASK=255.255.255.0
[root@test01 ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]

8、進入虛擬控制臺

kvm虛擬機能否像xen虛擬機一樣通過virsh console 一樣采用字符界面進行linux虛擬機控制臺呢,答案是肯定的,默認情況下該命令是不起作用的,需要修改KVM虛擬機(非宿主機)相關文件才能實現。
這裏我們先看下效果,以後再詳細說明

wKioL1eE4Snj-BTjAACuQBgfID0629.png-wh_50

wKioL1eE4WPCxzpvAACOqIYQYPM304.png-wh_50

可以看到 我們能看到完整的啟動的過程,這樣的好處是我們不在需要依靠第三方軟件vnc登陸

,效果等同於我們拿著console線直接插入到交換機的管理口一樣,即可直接在物理主機上面對虛擬機進行控制

9、kvm虛擬化常用管理命令

1、查看KVM虛擬機配置文件及運行狀態
(1) KVM虛擬機默認配置文件位置: /etc/libvirt/qemu/
autostart目錄是配置kvm虛擬機開機自啟動目錄。
(2) virsh命令幫助
# virsh -help
或直接virsh命令和,再執行子命令。如下所示。
[root@node1 ~]# virsh
歡迎使用virsh,虛擬化的交互式終端。
輸入:'help' 來獲得命令的幫助信息
'quit' 退出
virsh # help
(3) 查看kvm虛擬機狀態
顯示虛擬機列表:
virsh # list --all
 2. KVM虛擬機開機
啟動虛擬機:
virsh # start [name]
3. KVM虛擬機關機或斷電
(1) 關機
默認情況下virsh工具不能對linux虛擬機進行關機操作,linux操作系統需要開啟與啟動acpid服務。在安裝KVM linux虛擬機必須配置此服務。
# chkconfigacpid on
# serviceacpid restart
關閉虛擬機:
virsh # shutdown [name]
(2) 強制關閉電源
# virsh destroy wintest01
(3)重啟虛擬機
重啟虛擬機:
virsh # reboot [name]
(4)查看kvm虛擬機配置文件
virsh # dumpxml [name]
4. 通過配置文件啟動虛擬機
# virsh create /etc/libvirt/qemu/wintest01.xml
5. 配置開機自啟動虛擬機
# virshautostart oeltest01
autostart目錄是kvm虛擬機開機自啟動目錄,可以看到該目錄中有KVM配置文件鏈接。
6. 導出KVM虛擬機配置文件
# virshdumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml
KVM虛擬機配置文件可以通過這種方式進行備份。
7. 添加與刪除KVM虛擬機
(1) 刪除kvm虛擬機
# virshundefine wintest01
說明:該命令只是刪除wintest01的配置文件,並不刪除虛擬磁盤文件。
(2) 重新定義虛擬機配置文件
通過導出備份的配置文件恢復原KVM虛擬機的定義,並重新定義虛擬機。
# mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
# virsh define /etc/libvirt/qemu/wintest01.xml
8. 編輯KVM虛擬機配置文件
# virsh edit wintest01
virsh edit將調用vi命令編輯/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通過vi命令進行編輯,修改,保存。
可以但不建議直接通過vi編輯。
9. virsh console 控制臺管理linux虛擬機
[root@node1 data]# virsh console oeltest02
10. 其它virsh命令
(1) 掛起服務器
# virsh suspend oeltest01
(2) 恢復服務器
# virsh resume oeltest01

本文出自 “martin” 博客,謝絕轉載!


Tags: 雲計算 處理器 服務器 虛擬機 工程師

文章來源:


ads
ads

相關文章
ads

相關文章

ad