您好,登錄后才能下訂單哦!
KVM自Linux 2.6.20版本后就直接整合到Linux內核,它依托CPU虛擬化指令集實現高性能的虛擬化支持。它與Linux內核高度整合,因此在性能、安全性、兼容性、穩定性上都有很好的表現。
在KVM環境中運行的每個虛擬化操作系統都將表現為單個獨立的系統進程。因此它可以很方便地與Linux系統中的安全模塊進行整合(SELinux),可以靈活的實現硬件資源的管理和分配,KVM虛擬化的架構圖如下:
話不多說,開始搭建KVM虛擬化平臺:
1、安裝:
[root@localhost media]# yum -y groupinstall "GNOME Desktop" #安裝GNOME桌面環境
[root@localhost media]# yum -y install qemu-kvm #KVM模塊
[root@localhost media]# yum -y install qemu-kvm-tools #KVM調試工具,可不安裝
[root@localhost media]# yum -y install virt-install #構建虛擬機的命令行工具
[root@localhost media]# yum -y install qemu-img #qemu組件,創建磁盤、啟動虛擬機等
[root@localhost media]# yum -y install bridge-utils #網絡支持工具
[root@localhost media]# yum -y install libvirt #虛擬機管理工具
[root@localhost media]# yum -y install virt-manager #圖形界面管理虛擬機
[root@localhost media]# yum -y install libguestfs-tools #用來管理虛擬機磁盤格式
[root@localhost ~]# ls -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
#將系統默認運行的target更改為graphical.target,若不執行該命令,重啟時可能會報錯。
2、安裝完畢后,需重啟系統,執行下面命令對系統進行檢查:
[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 #啟動libvirtd服務
[root@localhost ~]# systemctl enable libvirtd
3、設置KVM網絡:
在libvirt中運行KVM網絡有兩種方法:NAT和Bridge,默認是NAT。
關于兩種模式的說明如下:
(1)NAT模式:也是用戶模式,數據包由NAT方式通過主機的接口進行傳送,可以訪問外網,但是無法從外部訪問虛擬機網絡,所以一般不會用到。
(2)Bridge:也就是橋接模式,這種模式允許虛擬機像一臺獨立的主機一樣擁有網絡,外部的機器可以直接訪問到虛擬機內部,但需要網卡支持,一般有線網卡都支持。
我這里以Bridge(橋接模式)為例:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none #將這項改為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的配置項,建議刪除。
#將網卡ens33的文件復制一份改名為br0
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge #將type改為Bridge
BOOTPROTO=static #這里根據實際情況改為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將為宿主機的IP地址
GATEWAY=192.168.1.254
[root@localhost ~]# systemctl restart network #重啟網絡服務
[root@localhost ~]# ifconfig #確認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 #打開圖形管理軟件,執行該命令后出現以下界面
創建存儲池:
再以同樣的操作創建一個iso鏡像存儲池,完成后如下:
創建存儲卷:
完成后,如下點擊來創建虛擬機:[root@localhost ~]# cp /dev/cdrom /kvm/iso/centos7.iso #先復制光盤鏡像到指定目錄下
根據需求給硬件資源:
創建自定義存儲:
定義虛擬機名稱,并單擊“完成”:
單擊“完成”后,會自動彈出該虛擬機的窗口,安裝系統吧,這里和平時安裝系統一樣,就省略了:
KVM虛擬化平臺至此已部署完成,下面附加一些常用的管理命令:
[root@localhost ~]# virsh -h #查看命令幫助
[root@localhost ~]# ls /etc/libvirt/qemu #查看KVM的配置文件存放目錄
(test01.xml是虛擬機系統實例的配置文件)
networks test01.xml
[root@localhost ~]# virsh list --all #查看虛擬機狀態
Id 名稱 狀態
----------------------------------------------------
2 test01 running
[root@localhost ~]# virsh shutdown test01 #關閉虛擬機
[root@localhost ~]# virsh start test01 #開啟虛擬機
[root@localhost ~]# virsh destroy test01 #強制關機
[root@localhost ~]# virsh create /etc/libvirt/qemu/test01.xml #通過配置文件啟動虛擬機
[root@localhost ~]# virsh suspend test01 #掛起虛擬機
[root@localhost ~]# virsh resume test01 #從掛起狀態恢復運行虛擬機
[root@localhost ~]# virsh autostart test01 #設置虛擬機伴隨宿主機自動啟動
#虛擬機的刪除與添加:
[root@localhost ~]# virsh dumpxml test01 > /etc/libvirt/qemu/test02.xml #導出虛擬機配置
#刪除虛擬機:
[root@localhost ~]# virsh shutdown test01
[root@localhost ~]# virsh undefine test01
[root@localhost ~]# virsh list --all #查看虛擬機是否被刪除
Id 名稱 狀態
----------------------------------------------------
#通過備份的配置文件重新定義虛擬機:
[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# mv test02.xml test01.xml
[root@localhost qemu]# virsh define test01.xml
#修改虛擬機配置(內存大小等)信息:
[root@localhost qemu]# vim /etc/libvirt/qemu/test01.xml
[root@localhost qemu]# virt-df -h test01 #在宿主機上查看虛擬機磁盤信息
克隆虛擬機:
[root@localhost qemu]# virt-clone -o test01 -n test02 -f /kvm/store/test02.qcow2
#將test01克隆為test02
[root@localhost qemu]# virsh list --all #查看現有虛擬機
Id 名稱 狀態
----------------------------------------------------
- test01 關閉
- test02 關閉
虛擬機創建快照:
KVM虛擬機要使用快照功能,磁盤格式必須為qcow2
[root@localhost qemu]# virsh snapshot-create test01 #對虛擬機test01創建快照
[root@localhost qemu]# virsh snapshot-list test01 #查看快照信息
名稱 生成時間 狀態
------------------------------------------------------------
1560191837 2019-06-11 02:37:17 +0800 shutoff
[root@localhost qemu]# virsh snapshot-revert test01 1560191837
#恢復虛擬機狀態至1560191837
[root@localhost qemu]# virsh snapshot-delete test01 1560191837 #刪除快照
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。