檢視cpu是否支援虛拟化
#如果回顯有vmx或者svm,說明硬體支援虛拟化
grep -E '(svm|vmx)' /proc/cpuinfo
kvm部署與使用
本次系統環境,戴爾R330,Centos7.6
[root@kvm-188 shell]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@kvm-188 shell]# uname -r
3.10.0-957.el7.x86_64
[root@kvm-188 shell]# getenforce
Enforcing
[root@kvm-188 shell]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
6月 14 16:56:18 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
6月 14 16:56:19 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
6月 14 17:00:25 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
6月 14 17:00:26 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@kvm-188 shell]# hostname -I
192.168.122.1 10.17.9.188
安裝kvm
安裝依賴包
yum install libvirt* virt-* qemu-kvm* -y
安裝軟體說明内容:
libvirt # 虛拟機管理
virt # 虛拟機安裝克隆
qemu-kvm # 管理虛拟機磁盤
啟動服務
[root@kvm ~]# systemctl start libvirtd.service
[root@kvm ~]# systemctl status libvirtd.servic
安裝VNC軟體,連接配接kvm虛拟機,安裝系統使用:
下載下傳vnc軟體方法,tightvnc官網:http://www.tightvnc.com

建立虛拟機
[root@kvm-188 shell]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name dev01_201 --memory 16384 --vcpus 4 --disk /data/dev01_201.raw,format=raw,size=500 --cdrom /data/CentOS-7-x86_64-DVD-1810.iso --network network=default --graphics vnc,listen=0.0.0.0,port=5901 --noautoconsole
開始安裝......
正在配置設定 'dev01_201.raw' | 500 GB 00:00:00
域安裝仍在進行。您可以重新連接配接
到控制台以便完成安裝程序。
參數說明:
--name 虛拟機名字
--memory 虛拟機記憶體大小
--vcpus cpu個數
--disk 磁盤檔案
--cdrom 鏡像檔案
--graphics vnc,listen=0.0.0.0,port=5901 啟動監聽位址和端口,vns連接配接使用
在啟動的同時使用vnc連接配接,進入系統安裝
KVM虛拟機管理操作
virsh指令常用參數總結
基礎操作:
list 檢視虛拟機清單,列出域
list --all 檢視所有
start 啟動虛拟機
shutdown 關閉虛拟機
配置管理操作:
dumpxml 導出主機配置資訊
undefine 删除主機
define 導入主機配置
domrename 對虛拟機進行重命名
開機自啟動管理
autostart 虛拟機開機啟動
autostart --disable 取消虛拟機開機啟動
KVM虛拟機配置檔案位置
[root@kvm ~]# ll /etc/libvirt/qemu/centos7.xml
修改KVM虛拟機配置的方法
[root@kvm ~]# virsh edit centos7
CentOS 7.X 版本console登入
在KVM(虛拟機)下開機啟動并啟動服務
systemctl enable [email protected]
systemctl start [email protected]
在主控端通路
virsh console centos7 ## CentOS7是虛拟機名稱
提示:進去之後回車多次即可通過賬号密碼登入,退出執行Ctrl+]
kvm虛拟機網絡管理
1. 橋接網卡,主控端執行:
[root@kvm-188 ~]# virsh iface-bridge em1 br0
使用附加裝置 br0 生成橋接 eth0 失敗
已啟動橋接接口 br0
執行成功後,檢視網卡配置:
[root@kvm-188 shell]# cat /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
ONBOOT=yes
BRIDGE="br0"
[root@kvm-188 shell]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="10.17.9.188"
NETMASK="255.255.255.0"
GATEWAY="10.17.9.254"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
DHCPV6C="no"
STP="on"
DELAY="0"
2. 修改虛拟機網絡配置
[root@kvm-188 ~]# virsh edit centos7(虛拟機名字)
修改前:
<interface type='network'>
<mac address='52:54:00:42:bf:bc'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
修改後:
<interface type='bridge'>
<mac address='52:54:00:42:bf:bc'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
3. 虛拟機中執行:
修改kvm虛拟機網卡配置檔案和主控端網關一樣
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=IP位址
NETMASK=子網路遮罩
GATEWAY=網關
DNS1=dns伺服器
4. 修改完後重新開機虛拟機
virsh shutdown centos7 關機
virsh start centos7 啟動
克隆虛拟機
1. 檢視虛拟機狀态,必須是關閉狀态(克隆db01_202)
[root@kvm-123 ~]# virsh list --all
Id 名稱 狀态
----------------------------------------------------
1 dev01_201 running
- db01_202 關閉
2. 開始克隆,執行virsh-clone指令
[root@kvm-123 ~]# virt-clone --original db01_202 --name db01_203 --file /data/db01_203.raw
WARNING 設定圖形裝置端口為自動端口,以避免互相沖突。
正在配置設定 'db01_203.raw' | 200 GB 00:04:40
成功克隆 'db01_203'。
--name 新克隆虛拟機的名字
--file 新克隆虛拟機的磁盤檔案
3. 啟動虛拟機,修改IP
[root@kvm-123 ~]# virsh start db01_203
域 db01_203 已開始
[root@kvm-123 ~]# virsh console db01_203
連接配接到域 db01_203
換碼符為 ^] # 會卡在這裡,按回車登陸
删除虛拟機
檢視所有虛拟機
[root@kvm-123 ~]# virsh list --all
Id 名稱 狀态
----------------------------------------------------
1 db01_203 running
2 db01_202 running
3 dev01_201 running
- git_201 關閉
- moban_200 關閉
删除git_201,隻是删除了虛拟機的配置檔案
虛拟機運作中,可以強制停止
[root@kvm-123 ~]# virsh destroy git_201
域 git_201 被删除
# 删除虛拟機配置檔案
[root@kvm-123 ~]# virsh undefine git_201
域 git_201 已經被取消定義
[root@kvm-123 ~]# virsh list --all
Id 名稱 狀态
----------------------------------------------------
1 db01_203 running
2 db01_202 running
3 dev01_201 running
- moban_200 關閉
删除磁盤檔案,和日志檔案
# 查找所有相關檔案
find / -name "*git_200*" -type f
# 删除磁盤檔案和日志檔案
rm /data/git_200.raw -f
rm /var/log/libvirt/qemu/git_200.log -f
調整磁盤大小
[root@kvm-233 data]# ll -h
總用量 813G
-rwxr-xr-x. 1 qemu qemu 4.3G 6月 14 17:20 CentOS-7-x86_64-DVD-1810.iso
-rw-------. 1 qemu qemu 200G 11月 4 22:01 db01_202.raw
-rw-------. 1 qemu qemu 200G 11月 4 22:01 db01_203.raw
-rw-------. 1 qemu qemu 500G 11月 4 22:01 dev01_201.raw
-rw------- 1 qemu qemu 500G 11月 4 22:01 git_201.raw
drwxr-xr-x 5 root root 46 10月 31 11:44 logs
-rw------- 1 root root 400G 11月 4 22:01 moban.raw
drwxr-xr-x 7 root uploadcdn 80 10月 24 21:21 webroot
-rw------- 1 qemu qemu 500G 11月 4 22:01 wiki_205.raw
# 調整磁盤大小
[root@kvm-233 data]# qemu-img resize moban.raw -100G
Image resized.
[root@kvm-233 data]# qemu-img resize moban.raw -100G
Image resized.
[root@kvm-233 data]# ll -h
總用量 812G
-rwxr-xr-x. 1 qemu qemu 4.3G 6月 14 17:20 CentOS-7-x86_64-DVD-1810.iso
-rw-------. 1 qemu qemu 200G 11月 4 22:01 db01_202.raw
-rw-------. 1 qemu qemu 200G 11月 4 22:01 db01_203.raw
-rw-------. 1 qemu qemu 500G 11月 4 22:02 dev01_201.raw
-rw------- 1 qemu qemu 500G 11月 4 22:02 git_201.raw
drwxr-xr-x 5 root root 46 10月 31 11:44 logs
-rw------- 1 root root 200G 11月 4 22:02 moban.raw
drwxr-xr-x 7 root uploadcdn 80 10月 24 21:21 webroot
-rw------- 1 qemu qemu 500G 11月 4 22:02 wiki_205.raw