乌班图22安装KVM
1.安装KVM
sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager virtinst
sudo adduser `id -un` libvirt
sudo adduser `id -un` kvm
sudo apt install virtinst qemu-efi
sudo systemctl enable --now libvirtd
sudo systemctl start libvirtd
sudo systemctl status libvirtd
=============================================================
注意:id -un的命令是获取当前用户的用户名。
验证是否安装成功
sudo virsh list --all
成功输出
========================================
Id Name State
--------------------
========================================
2.删除网桥
1 删除网桥 -- 备用 无用参考
ifconfig <网桥名> down --停用网桥
删除网桥的命令
brctl delbr <网桥名>
将网卡eno1移出网桥
brctl delif br0 eno1
2 清空网络服务状态
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
3.为KVM配置网桥
对于Ubuntu系统而言,进入/etc/netplan目录下,可以看到配置文件,一般为“50-cloud-init.yaml” or “01-netcfg.yaml”,我的为01-network-manager-all.yaml。
在配置网桥之前需把kvm默认创建的网桥删除掉,删除方法详见上方
========================================================
network:
version: 2
#renderer: NetworkManager
ethernets:
enp3s0:
dhcp4: no
optional: no
bridges:
br0:
interfaces: [enp3s0]
addresses: [192.168.22.238/5] #这里是当前服务器的ip
macaddress: 60:02:92:6d:a5:d0 #这里是当前服务器的mac地址
optional: true
#gateway4: 192.168.22.1 #乌班图22版本已将gateway4废弃
routes:
- to: default #默认的gateway
via: 192.168.22.1
mtu: 1500
nameservers:
addresses: [192.168.22.240]
dhcp4: no
dhcp6: no
parameters:
stp: true #是否开启stp
====================================================
刷新配置
sudo netplan apply
查看网桥是否配置成功
root@cnki-H81-M1:/home/cnki# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.6002926da5d0 no enp3s0
docker0 8000.0242cd46e37d no
4.启动 KVM 虚拟机管理器
当 KVM 安装完成后,你可以使用图形管理工具 virt-manager 创建虚拟机。你可以在 GNOME 搜索工具中搜索 Virtual Machine Manager 以启动。
点击搜索出来的图标即可:
虚拟机管理器界面如下所示:
你可以点击 “文件(File)” 并选择 “新建虚拟机(New Virtual Machine)”。你也可以点击下图所示的图标:
本次安装的镜像为centros7
在弹出的虚拟机安装向导将看到如下四个选项:
- 本地安装介质(ISO 镜像或 CDROM)
- 网络安装(HTTP、HTTPS 和 FTP)
- 导入现有磁盘镜像
- 手动安装
本文使用已下载的 ISO 镜像,你可以选择自己的 ISO 镜像,选择第一个选项,并点击 “向前(Forward)”。
下一步中,点击 “浏览(Browse)” 选择 ISO 镜像位置。
当 ISO 镜像选择后,点击 “向前(Forward)” 进入下一步。
接着定义虚拟机所用内存大小以及 CPU 核心数,并点击 “向前(Forward)” 。
下一步中,输入虚拟机磁盘空间,并点击 “向前(Forward)” 继续。
如你需要将虚拟机网卡连接至网桥,点击 “选择网络(Network selection)” 并选择 br0 网桥。
最后,点击 “完成(Finish)” 按钮结束设置虚拟机。
稍等片刻,虚拟机的创建过程将开始
这部完事就开始安装虚拟机
如果需要远程控制其他宿主机上的虚拟机请安装ssh pass:
sudo apt-get install sshpass
5.修改kvm中centos7虚拟机的网络配置
在宿主主机上查看mac地址
修改centos7上的网络配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=d890d6e6-01f6-4063-bf70-cd4e1787d0a8
HWADDR=fe:54:00:b3:b6:f8 #这里原文件没有,手动添加上去
DEVICE=eth0
ONBOOT=yes
IPADDR=IP
IPADDR=192.168.22.240
NETMASK=255.255.255.0
GATEWAY=192.168..22.1
重启服务
systemctl restart network
在同一网段的服务器就可以互通了,
注:如果宿主机重启后连不上网,请把br0网桥删除重新创建
并关闭NUMA
vi /etc/default/grub
GRUB_CMDLINE_LINUX="numa=off transparent_hugepage=never elevator=deadline "
update-grub
关闭防火墙
ufw disable
6.远程其他服务器上的KVM
如果想远程其他服务器上的KVM请安装以下依赖
sudo apt-get install virt-manager ssh-askpass-gnome --no-install-recommends
1.添加连接
即可向上面步骤创建虚拟机
2.但是在下面步骤需要进行安装设置,要不有可能访问不了安装界面
3.然后在安装选项修改显示协议->【我这里是安装成功后的界面显示,正在安装界面与这个类似】
4.检查是否有键盘-鼠标设置,如果没有需要添加,要不然在安装过程中容易出现,键盘-鼠标失效不识别
如果没有请在【添加硬件】button中添加-本人在安装过程中出现过这个问题
7.命令安装–不全
sudo virt-install \
--virt-type kvm \
--os-type=linux \
--os-variant almalinux8 \
--name nfs4 \
--ram=4000 \
--vcpus=2 \
--network bridge:br0 \
--graphics vnc,listen=0.0.0.0 \
--disk path=/opt/vms/nfs4.img,bus=virtio,size=30 \
--cdrom /opt/NFSChina-Server-4.0-DVD-x86_64-2021091701.iso
=====================================================================
报错如下解决方法需找正确的os-variant,
ERROR
--os-variant/--osinfo OS name is required, but no value was
set or detected.
查询如下:
virt-install --osinfo list