您好,登錄后才能下訂單哦!
KVM自Linux 2.6.20版本后就直接整合到Linux內(nèi)核,它依托CPU虛擬化指令集實(shí)現(xiàn)高性能的虛擬化支持。它與Linux內(nèi)核高度整合,因此在性能、安全性、兼容性、穩(wěn)定性上都有很好的表現(xiàn)。
在KVM環(huán)境中運(yùn)行的每個(gè)虛擬化操作系統(tǒng)都將表現(xiàn)為單個(gè)獨(dú)立的系統(tǒng)進(jìn)程。因此它可以很方便地與Linux系統(tǒng)中的安全模塊進(jìn)行整合(SELinux),可以靈活的實(shí)現(xiàn)硬件資源的管理和分配,KVM虛擬化的架構(gòu)圖如下:
話不多說,開始搭建KVM虛擬化平臺(tái):
1、安裝:
[root@localhost media]# yum -y groupinstall "GNOME Desktop" #安裝GNOME桌面環(huán)境
[root@localhost media]# yum -y install qemu-kvm #KVM模塊
[root@localhost media]# yum -y install qemu-kvm-tools #KVM調(diào)試工具,可不安裝
[root@localhost media]# yum -y install virt-install #構(gòu)建虛擬機(jī)的命令行工具
[root@localhost media]# yum -y install qemu-img #qemu組件,創(chuàng)建磁盤、啟動(dòng)虛擬機(jī)等
[root@localhost media]# yum -y install bridge-utils #網(wǎng)絡(luò)支持工具
[root@localhost media]# yum -y install libvirt #虛擬機(jī)管理工具
[root@localhost media]# yum -y install virt-manager #圖形界面管理虛擬機(jī)
[root@localhost media]# yum -y install libguestfs-tools #用來管理虛擬機(jī)磁盤格式
[root@localhost ~]# ls -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
#將系統(tǒng)默認(rèn)運(yùn)行的target更改為graphical.target,若不執(zhí)行該命令,重啟時(shí)可能會(huì)報(bào)錯(cuò)。
2、安裝完畢后,需重啟系統(tǒng),執(zhí)行下面命令對系統(tǒng)進(jìn)行檢查:
[root@localhost ~]# cat /proc/cpuinfo | grep vmx
#查看Intel的CPU是否支持虛擬化,若是AMD的CPU,需 “cat /proc/cpuinfo | grep smv”
[root@localhost ~]# lsmod | grep kvm #檢查KVM模塊是否安裝
kvm_intel 170181 0
kvm 554609 1 kvm_intel
irqbypass 13503 1 kvm
[root@localhost ~]# systemctl start libvirtd #啟動(dòng)libvirtd服務(wù)
[root@localhost ~]# systemctl enable libvirtd
3、設(shè)置KVM網(wǎng)絡(luò):
在libvirt中運(yùn)行KVM網(wǎng)絡(luò)有兩種方法:NAT和Bridge,默認(rèn)是NAT。
關(guān)于兩種模式的說明如下:
(1)NAT模式:也是用戶模式,數(shù)據(jù)包由NAT方式通過主機(jī)的接口進(jìn)行傳送,可以訪問外網(wǎng),但是無法從外部訪問虛擬機(jī)網(wǎng)絡(luò),所以一般不會(huì)用到。
(2)Bridge:也就是橋接模式,這種模式允許虛擬機(jī)像一臺(tái)獨(dú)立的主機(jī)一樣擁有網(wǎng)絡(luò),外部的機(jī)器可以直接訪問到虛擬機(jī)內(nèi)部,但需要網(wǎng)卡支持,一般有線網(wǎng)卡都支持。
我這里以Bridge(橋接模式)為例:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none #將這項(xiàng)改為none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0 #添加該行,若有UUID的配置項(xiàng),建議刪除。
#將網(wǎng)卡ens33的文件復(fù)制一份改名為br0
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge #將type改為Bridge
BOOTPROTO=static #這里根據(jù)實(shí)際情況改為static或dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0 #改名字
DEVICE=br0 #改名字
ONBOOT=yes
IPADDR=192.168.1.1 #該ip將為宿主機(jī)的IP地址
GATEWAY=192.168.1.254
[root@localhost ~]# systemctl restart network #重啟網(wǎng)絡(luò)服務(wù)
[root@localhost ~]# ifconfig #確認(rèn)IP地址信息
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::db0f:ab79:54a1:241b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1a:e0:46 txqueuelen 1000 (Ethernet)
RX packets 50 bytes 4155 (4.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 7046 (6.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:1a:e0:46 txqueuelen 1000 (Ethernet)
RX packets 1062 bytes 95264 (93.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 688 bytes 81579 (79.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4、管理KVM:
[root@localhost /]# virt-manager #打開圖形管理軟件,執(zhí)行該命令后出現(xiàn)以下界面
創(chuàng)建存儲(chǔ)池:
再以同樣的操作創(chuàng)建一個(gè)iso鏡像存儲(chǔ)池,完成后如下:
創(chuàng)建存儲(chǔ)卷:
完成后,如下點(diǎn)擊來創(chuàng)建虛擬機(jī):[root@localhost ~]# cp /dev/cdrom /kvm/iso/centos7.iso #先復(fù)制光盤鏡像到指定目錄下
根據(jù)需求給硬件資源:
創(chuàng)建自定義存儲(chǔ):
定義虛擬機(jī)名稱,并單擊“完成”:
單擊“完成”后,會(huì)自動(dòng)彈出該虛擬機(jī)的窗口,安裝系統(tǒng)吧,這里和平時(shí)安裝系統(tǒng)一樣,就省略了:
KVM虛擬化平臺(tái)至此已部署完成,下面附加一些常用的管理命令:
[root@localhost ~]# virsh -h #查看命令幫助
[root@localhost ~]# ls /etc/libvirt/qemu #查看KVM的配置文件存放目錄
(test01.xml是虛擬機(jī)系統(tǒng)實(shí)例的配置文件)
networks test01.xml
[root@localhost ~]# virsh list --all #查看虛擬機(jī)狀態(tài)
Id 名稱 狀態(tài)
----------------------------------------------------
2 test01 running
[root@localhost ~]# virsh shutdown test01 #關(guān)閉虛擬機(jī)
[root@localhost ~]# virsh start test01 #開啟虛擬機(jī)
[root@localhost ~]# virsh destroy test01 #強(qiáng)制關(guān)機(jī)
[root@localhost ~]# virsh create /etc/libvirt/qemu/test01.xml #通過配置文件啟動(dòng)虛擬機(jī)
[root@localhost ~]# virsh suspend test01 #掛起虛擬機(jī)
[root@localhost ~]# virsh resume test01 #從掛起狀態(tài)恢復(fù)運(yùn)行虛擬機(jī)
[root@localhost ~]# virsh autostart test01 #設(shè)置虛擬機(jī)伴隨宿主機(jī)自動(dòng)啟動(dòng)
#虛擬機(jī)的刪除與添加:
[root@localhost ~]# virsh dumpxml test01 > /etc/libvirt/qemu/test02.xml #導(dǎo)出虛擬機(jī)配置
#刪除虛擬機(jī):
[root@localhost ~]# virsh shutdown test01
[root@localhost ~]# virsh undefine test01
[root@localhost ~]# virsh list --all #查看虛擬機(jī)是否被刪除
Id 名稱 狀態(tài)
----------------------------------------------------
#通過備份的配置文件重新定義虛擬機(jī):
[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# mv test02.xml test01.xml
[root@localhost qemu]# virsh define test01.xml
#修改虛擬機(jī)配置(內(nèi)存大小等)信息:
[root@localhost qemu]# vim /etc/libvirt/qemu/test01.xml
[root@localhost qemu]# virt-df -h test01 #在宿主機(jī)上查看虛擬機(jī)磁盤信息
克隆虛擬機(jī):
[root@localhost qemu]# virt-clone -o test01 -n test02 -f /kvm/store/test02.qcow2
#將test01克隆為test02
[root@localhost qemu]# virsh list --all #查看現(xiàn)有虛擬機(jī)
Id 名稱 狀態(tài)
----------------------------------------------------
- test01 關(guān)閉
- test02 關(guān)閉
虛擬機(jī)創(chuàng)建快照:
KVM虛擬機(jī)要使用快照功能,磁盤格式必須為qcow2
[root@localhost qemu]# virsh snapshot-create test01 #對虛擬機(jī)test01創(chuàng)建快照
[root@localhost qemu]# virsh snapshot-list test01 #查看快照信息
名稱 生成時(shí)間 狀態(tài)
------------------------------------------------------------
1560191837 2019-06-11 02:37:17 +0800 shutoff
[root@localhost qemu]# virsh snapshot-revert test01 1560191837
#恢復(fù)虛擬機(jī)狀態(tài)至1560191837
[root@localhost qemu]# virsh snapshot-delete test01 1560191837 #刪除快照
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。