kvm是一款虚拟化软件,本文详细给出了安装步骤,并记录安装过程中的常见错误以及解决方法
本文演示环境系统为 Rocky9.4
,该环境是通过笔者之前写的这篇( 教程:零门槛安装rockylinux 9.4 系统 ) 教程来搭建的。
正文开始
打开Vmware的虚拟机配置
开机
模块"HV"启动失败
原因分析:可能是本地有开启其他虚拟化功能,执行如下操作后重启电脑
hypervisorlaunchtype
参数为 off
bcdedit /set hypervisorlaunchtype off
lscpu | grep Virtualization
显示如下表示前面设置的嵌套虚拟化是配置成功的
sudo dnf install -y qemu-kvm libvirt virt-manager virt-install
sudo dnf install epel-release -y
sudo dnf -y install bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer
检查内核模块是否已加载
lsmod | grep kvm
启动服务
systemctl enable libvirtd && systemctl start libvirtd # 设置开机自启和启动服务
systemctl status libvirtd # 查看服务启动状态
添加权限
sudo usermod -aG libvirt $USER
newgrp libvirt
配置网络
[root@gentlewok ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 62a56592-d248-30eb-bc30-3a44b9f430bf ethernet ens33
lo 06564219-c2e3-4e70-81ee-fa32a00b319e loopback lo
virbr0 43c5570a-a837-4215-81d2-ed1ced98e70e bridge virbr0
配置变量
BR_NAME="br0"
BR_INT="ens33"
SUBNET_IP="192.168.97.10/24"
GW="192.168.97.10"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
声明一个网桥
将ip、网关和dns配置到上面声明的网桥
配置前面识别的网桥作为从设备
nmcli connection delete ${BR_INT}
验证下配置
nmcli connection show
启动网桥并验证
nmcli connection up br0
执行后会导致远程连接断开,需要在虚拟机外部进行网络配置
这里通过Vmware VNC查看 ,新网桥的地址是 192.168.97.10
添加一个网络适配器 VMnet7
添加一个刚刚新增的网路适配器 VMnet7
VMware 界面查看从wifi新获取的ip 192.168.0.104
默认网关走ens36,ens36又连了wifi,理论是可以通过这个ip ssh进入
有问题,网络不通。。。
重启下虚拟机,重启后查看网络信息,ens36 没获取到ip
手动设置下ens36 的ip,避免获取不到或者获取到的ip是变化的
nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.0.111/24 ipv4.method manual
nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.97.10
nmcli connection modify "Wired connection 1" ipv4.dns 8.8.8.8
+ipv4.dns 114.114.114.114
再连
还是连不上。。。
继续检查下路由,默认路由是br0
要设置成ens36才行, wifi的默认网关是 192.168.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 dev ens36
route del
default gw 192.168.0.1
再连下虚拟机,还是不行。。。
一顿搜索排查
原来是桥接wifi选得有问题,应该选择 INTEL(R)Wi-fI6EAX211160MHZ
连上了
echo "allow all"
>
/etc/qemu-kvm/bridge.conf
systemctl restart libvirtd
virt-install \
--name gentlewok-Rocky9.4 \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/gentlewok-Rocky9.4.img,size=10 \
--os-variant centos-stream9 \
--os-type linux \
--network bridge=br0,model=virtio \
--graphics vnc,listen=0.0.0.0 \
--console pty,target_type=serial \
--location /tmp/Rocky-9.4-x86_64-minimal.iso
停用防火墙,打开外部vnc软件进入安装虚拟机的vnc地址
systemctl stop firewalld
安装完成
nmcli connection modify "enp1s0" ipv4.addresses 192.168.97.2/24 ipv4.method manual
nmcli connection modify "enp1s0" ipv4.gateway 192.168.97.10
nmcli connection modify "enp1s0" ipv4.dns 8.8.8.8
+ipv4.dns 114.114.114.114
在宿主机连一下,连接成功,创建完成
上面命令创建略微有点不直观,下面介绍kvm图形界面创建虚拟机
先安装图形界面的包
dnf group install "Server with GUI"
dnf install virt-manager
设置开机默认进入图形系统界面
systemctl get-default
systemctl set-default graphical
reboot 重启主机
点击 not listed 切换到root用户登录
找到kvm图形管理软件 VirtualMachineManager
把这台删掉,用图形界面重新创建一遍
New Virtual Machine
选择提前上传的Rocky9.4 iso镜像文件
自定义内存、cpu
自定义磁盘
开始安装系统
等待安装完成后重启
正常登录Rocky系统,创建成功
给宿主机安装VNC服务,在实际物理机上运维虚拟机集群比较有用
dnf install tigervnc-server
sudo adduser gentlewok-vnc
sudo passwd gentlewok-vnc
sudo su - gentlewok-vnc
vncpasswd
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
vim /etc/tigervnc/vncserver.users
systemctl daemon-reload
systemctl start vncserver@:1.service
systemctl enable vncserver@:1.service
在 /etc/tigervnc/vncserver.users
更换vncserver端口
[root@gentlewok tigervnc]# cat /etc/tigervnc/vncserver.users | grep gentle
:11=gentlewok-vnc
:port, vncserver 默认端口是5900, 这里写11,启动的端口就是5911
现在可以通过vnc连接到主机图形界面,再通过 VirtualMachineManager
管理虚拟机了
后面再写一篇Proxmox VE的教程及踩坑记录。
如果对您有用,麻烦点点关注点点赞,这将是我持续输出的最大动力,谢谢~~~
就这样。