溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

centos7部署KVM虛擬化平臺(tái)詳解

發(fā)布時(shí)間:2020-07-27 19:35:31 來源:網(wǎng)絡(luò) 閱讀:1123 作者:warrent 欄目:云計(jì)算

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)圖如下:

centos7部署KVM虛擬化平臺(tái)詳解

話不多說,開始搭建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)以下界面

centos7部署KVM虛擬化平臺(tái)詳解

創(chuàng)建存儲(chǔ)池:
centos7部署KVM虛擬化平臺(tái)詳解

centos7部署KVM虛擬化平臺(tái)詳解centos7部署KVM虛擬化平臺(tái)詳解

再以同樣的操作創(chuàng)建一個(gè)iso鏡像存儲(chǔ)池,完成后如下:

centos7部署KVM虛擬化平臺(tái)詳解

創(chuàng)建存儲(chǔ)卷:
centos7部署KVM虛擬化平臺(tái)詳解

完成后,如下點(diǎn)擊來創(chuàng)建虛擬機(jī):
[root@localhost ~]# cp /dev/cdrom /kvm/iso/centos7.iso #先復(fù)制光盤鏡像到指定目錄下

centos7部署KVM虛擬化平臺(tái)詳解

centos7部署KVM虛擬化平臺(tái)詳解
centos7部署KVM虛擬化平臺(tái)詳解
centos7部署KVM虛擬化平臺(tái)詳解

根據(jù)需求給硬件資源:

centos7部署KVM虛擬化平臺(tái)詳解

創(chuàng)建自定義存儲(chǔ):

centos7部署KVM虛擬化平臺(tái)詳解

centos7部署KVM虛擬化平臺(tái)詳解

定義虛擬機(jī)名稱,并單擊“完成”:
centos7部署KVM虛擬化平臺(tái)詳解

單擊“完成”后,會(huì)自動(dòng)彈出該虛擬機(jī)的窗口,安裝系統(tǒng)吧,這里和平時(shí)安裝系統(tǒng)一樣,就省略了:

centos7部署KVM虛擬化平臺(tái)詳解

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                   #刪除快照
向AI問一下細(xì)節(jié)

免責(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)容。

AI