前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >教程:详解Rocky9.4中安装 KVM+VNCServer(内附踩坑指南)

教程:详解Rocky9.4中安装 KVM+VNCServer(内附踩坑指南)

作者头像
锅总
发布2024-06-12 15:48:11
3270
发布2024-06-12 15:48:11
举报
文章被收录于专栏:锅总锅总

简介

kvm是一款虚拟化软件,本文详细给出了安装步骤,并记录安装过程中的常见错误以及解决方法

本文演示环境系统为 Rocky9.4,该环境是通过笔者之前写的这篇( 教程:零门槛安装rockylinux 9.4 系统 ) 教程来搭建的。

正文开始

一、 开启嵌套虚拟化功能

打开Vmware的虚拟机配置

开机

遇到问题

模块"HV"启动失败

解决办法

原因分析:可能是本地有开启其他虚拟化功能,执行如下操作后重启电脑

  • 1、关闭hyper-v
  • 2、修改 hypervisorlaunchtype 参数为 off
  1. bcdedit /set hypervisorlaunchtype off

再次重启虚拟机

二、安装kvm

1、验证虚拟化是否开启成功

  1. lscpu | grep Virtualization

显示如下表示前面设置的嵌套虚拟化是配置成功的

2、安装kvm软件包

  1. sudo dnf install -y qemu-kvm libvirt virt-manager virt-install

3、安装其他管理命令

  1. sudo dnf install epel-release -y
  2. sudo dnf -y install bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer

检查内核模块是否已加载

  1. lsmod | grep kvm

4、服务启动及配置

启动服务

  1. systemctl enable libvirtd && systemctl start libvirtd # 设置开机自启和启动服务
  2. systemctl status libvirtd # 查看服务启动状态

添加权限

  1. sudo usermod -aG libvirt $USER
  2. newgrp libvirt

配置网络

  1. [root@gentlewok ~]# nmcli connection show
  2. NAME UUID TYPE DEVICE
  3. ens33 62a56592-d248-30eb-bc30-3a44b9f430bf ethernet ens33
  4. lo 06564219-c2e3-4e70-81ee-fa32a00b319e loopback lo
  5. virbr0 43c5570a-a837-4215-81d2-ed1ced98e70e bridge virbr0
  6. 配置变量
  7. BR_NAME="br0"
  8. BR_INT="ens33"
  9. SUBNET_IP="192.168.97.10/24"
  10. GW="192.168.97.10"
  11. DNS1="8.8.8.8"
  12. DNS2="114.114.114.114"

声明一个网桥

  1. nmcli connection add type bridge autoconnect yes con-name {BR_NAME} ifname {BR_NAME}

将ip、网关和dns配置到上面声明的网桥

  1. nmcli connection modify {BR_NAME} ipv4.addresses {SUBNET_IP} ipv4.method manual
  2. nmcli connection modify {BR_NAME} ipv4.gateway {GW}
  3. nmcli connection modify {BR_NAME} ipv4.dns {DNS1} +ipv4.dns

配置前面识别的网桥作为从设备

  1. nmcli connection delete ${BR_INT}
  2. nmcli connection add type bridge-slave autoconnect yes con-name {BR_INT} ifname {BR_INT} master

验证下配置

  1. nmcli connection show

启动网桥并验证

  1. nmcli connection up br0

执行后会导致远程连接断开,需要在虚拟机外部进行网络配置

这里通过Vmware VNC查看 ,新网桥的地址是 192.168.97.10

4.1 解决远程断开问题

添加一个网络适配器 VMnet7

添加一个刚刚新增的网路适配器 VMnet7

VMware 界面查看从wifi新获取的ip 192.168.0.104

默认网关走ens36,ens36又连了wifi,理论是可以通过这个ip ssh进入

有问题,网络不通。。。

重启下虚拟机,重启后查看网络信息,ens36 没获取到ip

手动设置下ens36 的ip,避免获取不到或者获取到的ip是变化的

  1. nmcli connection modify "Wired connection 1" ipv4.addresses 192.168.0.111/24 ipv4.method manual
  2. nmcli connection modify "Wired connection 1" ipv4.gateway 192.168.97.10
  3. 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

  1. route add -net 0.0.0.0 netmask 0.0.0.0 dev ens36
  2. route del default gw 192.168.0.1

再连下虚拟机,还是不行。。。

一顿搜索排查

原来是桥接wifi选得有问题,应该选择 INTEL(R)Wi-fI6EAX211160MHZ

连上了

5、继续设置kvm

  1. echo "allow all" > /etc/qemu-kvm/bridge.conf
  2. systemctl restart libvirtd

6、用命令行kvm创建一台虚拟机

  1. virt-install \
  2. --name gentlewok-Rocky9.4 \
  3. --ram 2048 \
  4. --vcpus 2 \
  5. --disk path=/var/lib/libvirt/images/gentlewok-Rocky9.4.img,size=10 \
  6. --os-variant centos-stream9 \
  7. --os-type linux \
  8. --network bridge=br0,model=virtio \
  9. --graphics vnc,listen=0.0.0.0 \
  10. --console pty,target_type=serial \
  11. --location /tmp/Rocky-9.4-x86_64-minimal.iso

停用防火墙,打开外部vnc软件进入安装虚拟机的vnc地址

  1. systemctl stop firewalld

安装完成

6.1 配置网络

  1. nmcli connection modify "enp1s0" ipv4.addresses 192.168.97.2/24 ipv4.method manual
  2. nmcli connection modify "enp1s0" ipv4.gateway 192.168.97.10
  3. nmcli connection modify "enp1s0" ipv4.dns 8.8.8.8 +ipv4.dns 114.114.114.114

在宿主机连一下,连接成功,创建完成

7、用图形界面创建

上面命令创建略微有点不直观,下面介绍kvm图形界面创建虚拟机

先安装图形界面的包

  1. dnf group install "Server with GUI"
  2. dnf install virt-manager

设置开机默认进入图形系统界面

  1. systemctl get-default
  2. systemctl set-default graphical
  3. reboot 重启主机

点击 not listed 切换到root用户登录

找到kvm图形管理软件 VirtualMachineManager

把这台删掉,用图形界面重新创建一遍

7.1 开始创建

New Virtual Machine

选择提前上传的Rocky9.4 iso镜像文件

自定义内存、cpu

自定义磁盘

开始安装系统

等待安装完成后重启

正常登录Rocky系统,创建成功

三、安装VNCServer

给宿主机安装VNC服务,在实际物理机上运维虚拟机集群比较有用

  1. dnf install tigervnc-server
  2. sudo adduser gentlewok-vnc
  3. sudo passwd gentlewok-vnc
  4. sudo su - gentlewok-vnc
  5. vncpasswd
  6. cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
  7. vim /etc/tigervnc/vncserver.users
  1. systemctl daemon-reload
  2. systemctl start vncserver@:1.service
  3. systemctl enable vncserver@:1.service

8.1 vncserver 启动失败

8.2 解决办法

/etc/tigervnc/vncserver.users更换vncserver端口

  1. [root@gentlewok tigervnc]# cat /etc/tigervnc/vncserver.users | grep gentle
  2. :11=gentlewok-vnc

:port, vncserver 默认端口是5900, 这里写11,启动的端口就是5911

8.3 通过vnc客户端连接验证

现在可以通过vnc连接到主机图形界面,再通过 VirtualMachineManager管理虚拟机了

后面再写一篇Proxmox VE的教程及踩坑记录。

如果对您有用,麻烦点点关注点点赞,这将是我持续输出的最大动力,谢谢~~~

就这样。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 锅总 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • 一、 开启嵌套虚拟化功能
      • 遇到问题
      • 解决办法
      • 再次重启虚拟机
  • 二、安装kvm
    • 1、验证虚拟化是否开启成功
      • 2、安装kvm软件包
        • 3、安装其他管理命令
          • 4、服务启动及配置
            • 5、继续设置kvm
              • 6、用命令行kvm创建一台虚拟机
                • 6.1 配置网络
              • 7、用图形界面创建
                • 7.1 开始创建
              • 三、安装VNCServer
                • 8.1 vncserver 启动失败
                • 8.2 解决办法
                • 8.3 通过vnc客户端连接验证
            相关产品与服务
            专用宿主机
            专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档