命令行模式下部署KVM

最近应公司业务需求,在一个配置比较高的虚拟机上部署KVM,分一些虚拟机出来。怕过一些坑,记录一下。之前我只在CENTOS桌面环境下用过,鼠标点点。现在在虚拟机上部署,找了不少资料

1部署KVM

yum install qemu-kvm qemu-img \
virt-manager libvirt libvirt-python virt-manager \
libvirt-client virt-install virt-viewer -y

systemctl start libvirtd

查看命令virsh list --all可以使用了

2宿主机网桥设置,不设置的话,会随机生成一个网桥,导致虚拟网卡被错误绑定到其他网桥上

在有真实IP的网卡上配置,去掉IP以及最后指定网桥即可

TYPE="Ethernet"
BOOTPROTO="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="eth0"
DEVICE="eth0"
ONBOOT="yes"
BRIDGE=br0

[root@dmstest network-scripts]# cat ifcfg-br0
TYPE=Bridge
#PROXY_METHOD=none
#BROWSER_ONLY=no
BOOTPROTO=static
#DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
#NAME=em4
#UUID=6602252d-b8b5-46d2-b997-f840c8041215
DEVICE=br0
ONBOOT=yes
IPADDR=172.20.69.199
NETMASK=255.255.255.0
GATEWAY=172.20.69.1
DNS1=10.0.12.210
DNS2=172.20.70.100

 

systemctl restart network

 

3新建虚拟机

centos

qemu-img create -f qcow2 vm1-disk1.qcow2 10G 

virt-install \
--name=vm2 \
--disk path=/home/vm2-disk1.qcow2 \
--vcpus=4 --ram=8096 \
--cdrom=/root/CentOS-7-x86_64-Minimal-2003.iso \
--network network=default \
--graphics vnc,listen=0.0.0.0,,port=5910 \
--os-type=linux \
--os-variant=rhel7

 

windows2008 R2

qemu-img create -f qcow2 vm1-disk1.qcow2 150G

virt-install \
--name=vm1 \
--disk path=/home/vm1-disk1.qcow2 \
--vcpus=4 --ram=8096 \
--cdrom=/root/cn_windows_server_2008_r2_standard_enterprise_datacenter_web_x64_dvd_x15-50360.iso \
--network network=default \
--graphics vnc,listen=0.0.0.0,,port=5911 \
--os-type=windows

 

4虚拟机初始化配置IP以及系统,找了不少方案,适合我的就是使用VNC VIEWER,百度下载即可,桌面环境下按需要点击

5宿主机上绑定网卡

brctl delif  virbr0 vnet4

brctl addif  br0 vnet2
虚拟网卡添加到网桥所在br0

brctl show 

 

 

 

 

最后遇到了2个问题,其中是1个是虚拟机创建时没有权限

坑1
virt-install \
> --name=vm1 \
> --disk path=/home/vm1-disk1.qcow2 \
> --vcpus=1 --ram=1024 \
> --cdrom=/root/CentOS-7-x86_64-Minimal-2003.iso \
> --network network=default \
> --graphics vnc,listen=0.0.0.0 \
> --os-type=linux \
> --os-variant=rhel7

WARNING Graphics requested but DISPLAY is not set. Not running virt-viewer.
WARNING No console to launch for the guest, defaulting to --wait -1

Starting install...
ERROR internal error: qemu unexpectedly closed the monitor: 2021-11-26T00:58:07.017728Z qemu-kvm: -drive file=/root/CentOS-7-x86_64-Minimal-2003.iso,format=raw,if=none,id=drive-ide0-0-0,readonly=on: could not open disk image /root/CentOS-7-x86_64-Minimal-2003.iso: Could not open '/root/CentOS-7-x86_64-Minimal-2003.iso': Permission denied
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start vm1
otherwise, please restart your installation.

 

引用了这个大佬的解决方法处理https://blog.csdn.net/alwaysbefine/article/details/106891390

坑2就是虚拟机创建了网关不通,找了一圈基本都是网桥没有绑定

第二步配置了网桥之后

brctl addif brx vnety
虚拟网卡添加到网桥所在br0即可

如果虚拟网卡已经绑定了其他网桥使用brctl delif brx vnety即可

 

kvm虚拟机管理命令

关闭虚拟机

 virsh destroy  master

 

删除虚拟机

[root@dmstest ~]# virsh undefine master --storage /home/master.qcow2
Domain master has been undefined
Volume 'vda'(/home/master.qcow2) removed.

[root@dmstest ~]# virsh list --all
Id Name State
----------------------------------------------------
5 vm2 running
7 vm1 running

 .快照管理

[root@dmstest ~]# virsh snapshot-create master
Domain snapshot 1665624877 created
[root@dmstest ~]# virsh snapshot-list master
Name Creation Time State
------------------------------------------------------------
1665624877 2022-10-13 09:34:37 +0800 running

[root@dmstest ~]# virsh snapshot-delete master 1665624877
Domain snapshot 1665624877 deleted

virsh snapshot-list master
Name Creation Time State
-----------------------------------------------------------

<name>1665625588</name>
[root@dmstest ~]# virsh snapshot-list master
Name Creation Time State
------------------------------------------------------------
1665625588 2022-10-13 09:46:28 +0800 running
1665625710 2022-10-13 09:48:30 +0800 running

快照还原

[root@dmstest ~]# virsh snapshot-revert master 1665625588

[root@dmstest ~]# virsh snapshot-current master|head -5
<domainsnapshot>
<name>1665625588</name>
<state>running</state>
<creationTime>1665625588</creationTime>
<memory snapshot='internal'/>

 

posted @ 2021-11-26 14:10  不敲代码  阅读(629)  评论(0)    收藏  举报