当前位置: 首页 > news >正文

Rocky Linux 8 远程管理配置指南(宿主机 VNC + KVM 虚拟机 VNC)

上篇:宿主机 TigerVNC 远程桌面配置(管理宿主机)

一、安装 TigerVNC 服务

  1. 检查可用包并安装

    yum list available tigervnc-server
    yum install -y tigervnc-server tigervnc-server-minimal
    
  2. 验证安装结果

    rpm -qa | grep tigervnc-server
    

二、解决 GPG 密钥安装错误

若安装时提示 “GPG 密钥验证失败”,执行:

# 手动导入 Rocky Linux 官方 GPG 密钥
rpm --import https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-8# 若密钥导入失败,临时跳过 GPG 检查(应急用,不推荐长期使用)
yum install -y --nogpgcheck tigervnc-server

三、配置宿主机 VNC 服务

  1. 为宿主机用户设置 VNC 密码(以 root 为例)

    vncpasswd
    # 输入密码(无明文显示),确认密码;可选“仅查看密码”(输入 n 跳过)
    
  2. 创建 VNC 服务配置文件

    cat > /etc/systemd/system/vncserver@:0.service << EOF
    [Unit]
    Description=宿主机 VNC 远程桌面服务
    After=syslog.target network.target[Service]
    Type=forking
    User=root  # 若用普通用户,替换为实际用户名(如 user1)
    PIDFile=/root/.vnc/%H%i.pid  # 普通用户路径:/home/用户名/.vnc/%H%i.pid
    ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
    ExecStart=/usr/bin/vncserver %i -geometry 1280x720  # 分辨率可按需调整
    ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'[Install]
    WantedBy=multi-user.target
    EOF
    
  3. 加载配置并启动服务

    systemctl daemon-reload
    systemctl start vncserver@:0.service  # :0 对应端口 5900
    systemctl enable vncserver@:0.service  # 开机自启
    
  4. 验证宿主机 VNC 服务状态

    systemctl status vncserver@:0.service -l
    ss -tuln | grep 5900  # 确认 5900 端口监听
    

四、宿主机防火墙配置

# 开放宿主机 VNC 端口(5900)
firewall-cmd --add-port=5900/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports  # 验证端口已开放

下篇:KVM 虚拟机创建与 VNC 远程配置(管理虚拟机)

若需在宿主机上创建 KVM 虚拟机,并通过 VNC 连接虚拟机(而非宿主机),则需要以下步骤:

一、安装并启动 KVM 相关服务

  1. 安装 KVM 虚拟化组件

    yum install -y qemu-kvm libvirt virt-install bridge-utils
    
  2. 启动并设置 libvirtd 服务开机自启(你提到的关键步骤)

    systemctl start libvirtd  # 启动 KVM 管理服务
    systemctl enable libvirtd  # 开机自启
    systemctl status libvirtd  # 验证服务状态(需显示 active (running))
    

二、创建 KVM 虚拟机(带 VNC 远程功能)

使用 virt-install 命令创建虚拟机,并指定 VNC 远程参数(你提供的命令优化后):

virt-install \
--virt-type kvm \                  # 虚拟化类型为 KVM
--os-type=linux \                  # 操作系统类型
--os-variant rhel7 \               # 系统版本(如 CentOS 7 对应 rhel7)
--name centos7 \                   # 虚拟机名称(自定义)
--memory 1024 \                    # 虚拟机内存(1024MB,按需调整)
--vcpus 1 \                        # 虚拟机 CPU 核心数(按需调整)
--disk path=/opt/centos2.raw,format=raw,size=10 \  # 磁盘路径、格式、大小(10GB)
--cdrom /opt/CentOS-7-x86_64-Minimal-2009.iso \    # 镜像文件路径(需确保路径正确)
--network=default \                # 网络模式(默认 NAT,也可配置桥接)
--graphics vnc,listen=0.0.0.0 \    # 启用 VNC 远程,监听所有网卡(方便外部连接)
--noautoconsole \                  # 不自动打开虚拟机控制台

三、查看虚拟机 VNC 端口(关键:确定虚拟机的 VNC 端口)

KVM 会为每个虚拟机分配独立的 VNC 端口(默认从 5901 开始,避免与宿主机 5900 冲突):

virsh vncdisplay centos7  # 查看名为“centos7”的虚拟机 VNC 端口
  • 示例输出::1 → 对应端口 5901;若输出 :2 → 对应端口 5902,以此类推。

四、虚拟机 VNC 防火墙配置

# 开放虚拟机 VNC 端口(以 5901 为例,需与实际端口匹配)
firewall-cmd --add-port=5901/tcp --permanent
firewall-cmd --reload

五、VNC 客户端连接虚拟机

  1. 打开 VNC Viewer(与连接宿主机相同的客户端);
  2. 输入连接地址:宿主机IP:虚拟机VNC端口(如 192.168.32.128:5901);
  3. 直接进入虚拟机安装界面(首次启动需安装系统),后续可远程管理虚拟机。

关键区别与适用场景

配置对象核心服务VNC 端口用途
宿主机vncserver5900(:0)远程管理宿主机桌面
KVM 虚拟机libvirtd5901+(:1+)远程安装 / 管理虚拟机

常见问题排查

  1. 虚拟机 VNC 连接超时

    • 确认 virsh vncdisplay 虚拟机名 得到的端口正确;
    • 检查宿主机防火墙是否开放了该端口;
    • 验证宿主机 IP 可 ping 通(客户端执行 ping 宿主机IP)。
  2. virt-install 提示 “镜像文件不存在”

    • 检查 --cdrom 后的镜像路径是否正确(如 /opt/CentOS-7.iso 是否存在);
    • 若路径错误,修改为实际镜像路径(可通过 ls /opt/ 查看文件)。
  3. 宿主机 VNC 启动失败(提示 “X Server 已运行”)

    # 停止宿主机图形服务(避免冲突)
    systemctl stop gdm && systemctl disable gdm
    # 清理残留锁文件
    rm -rf /tmp/.X0-lock /tmp/.X11-unix/X0
    # 重新启动宿主机 VNC
    systemctl restart vncserver@:0.service
http://www.dtcms.com/a/434573.html

相关文章:

  • 北京网站快速备案建站手机网站
  • 第四章 信息系统管理
  • 【开发日记】记一次公司服务器中Redis服务问题排查
  • linux问题10--克隆后ip地址和源linux主机相同
  • 社交网站模版steam交易链接怎么改
  • AI重塑销售管理,突破“人”的能力边界|纷享AI主题研讨会宁波站圆满落幕
  • [C++项目组件] 后台服务器部署docker
  • 移动固态优盘坏道读写速率下降等测试
  • 解决django.db.utils.OperationalError: attempt to write a readonly database问题
  • Django SimpleUI 配置与优化详解
  • 从入门到精通:Django的深度探索之旅
  • 【数据结构】考研重点掌握:顺序查找算法实现与ASL计算详解
  • 大型网站建立1800做网站因为专业
  • 医疗AI平台化转型:从单点试点到体系化建设的互操作性与质量控制路径研究(上)
  • 做装修效果图的网站沈阳哪有wordpress
  • Linux命令行指令返回值data空降Python的机枪与大炮(DeepSeek)
  • c++中this指针使用bug
  • 网站源码中国有限公司外贸网站建设怎么制作
  • 哪家公司做网站专业安装wordpress主题放哪里
  • 我们为什么要封装 localStorage
  • 【AI论文】LongLive:实时交互式长视频生成
  • 企业网站推广总结网站降权是什么意思
  • 消息队列(面试)
  • Presto:一款免费开源的大数据SQL查询引擎
  • AI驱动的软件测试变革:从自动化框架到智能决策
  • The 2024 ICPC Asia Nanjing Regional Contest(2024南京区域赛EJKBG)
  • 面试场景题-
  • 怎样接做网站的活做校园网站代码
  • 【github】秘钥
  • 申请网站建设费教育网站制作定制