天天看點

kvm虛拟化

檢視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

kvm虛拟化

建立虛拟機

[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虛拟化
kvm虛拟化

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      

繼續閱讀