KVM Web管理界面安装指南(Cockpit 方案)

KVM Web管理界面安装指南(Cockpit 方案)

文章目录

完整的 KVM 虚拟化 + Cockpit Web 管理指南

整理一个完整的、无需 WebVirtMgr 的 KVM 管理方案:

第一部分:KVM 基础环境安装

1.1 安装 KVM 虚拟化组件

# 安装 KVM 虚拟化套件 yum install -y qemu-kvm libvirt libvirt-daemon-kvm virt-install # 安装 virt-manager 图形界面 yum install -y virt-manager virt-viewer # 安装图形界面环境(如果服务器没有桌面环境) yum groupinstall -y "Server with GUI"# 安装虚拟机管理工具 yum install -y libguestfs-tools virt-top # 验证 KVM 支持egrep -c '(vmx|svm)' /proc/cpuinfo # 检查 KVM 模块 lsmod |grep kvm 

1.2 启动 libvirtd 服务

# 启动并启用 libvirtd 服务 systemctl enable --now libvirtd systemctl status libvirtd # 检查默认网络virsh net-list --all # 启动默认网络virsh net-start default virsh net-autostart default 

第二部分:配置网络桥接(重要)

2.1 创建网络桥接

根据你的网络接口 br0 已经存在,来检查并配置:

# 检查现有网络配置ip a brctl show # 检查网络接口配置文件ls /etc/sysconfig/network-scripts/ |grep -E "(ens160|br0)"

2.2 配置桥接网络

# 备份现有网络配置cp /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-ens160.backup cp /etc/sysconfig/network-scripts/ifcfg-br0 /etc/sysconfig/network-scripts/ifcfg-br0.backup # 配置物理网卡 ens160(作为桥接从属)cat> /etc/sysconfig/network-scripts/ifcfg-ens160 <<'EOF' TYPE=Ethernet BOOTPROTO=none NAME=ens160 DEVICE=ens160 ONBOOT=yes BRIDGE=br0 NM_CONTROLLED=no EOF# 配置桥接接口 br0cat> /etc/sysconfig/network-scripts/ifcfg-br0 <<'EOF' TYPE=Bridge BOOTPROTO=static NAME=br0 DEVICE=br0 ONBOOT=yes IPADDR=192.168.40.150 NETMASK=255.255.255.0 GATEWAY=192.168.40.1 DNS1=192.168.40.1 NM_CONTROLLED=no DELAY=0 EOF

2.3 重启网络服务

# 重启网络服务 systemctl restart network # 检查桥接状态 brctl show # 验证网络连接ping -c 3192.168.40.1 

第三部分:安装和配置 Cockpit

3.1 安装 Cockpit

# 安装 Cockpit 和虚拟机管理插件 yum install -y cockpit cockpit-machines # 安装其他有用的插件(可选) yum install -y cockpit-packagekit cockpit-storaged cockpit-podman # 验证安装rpm -qa |grep cockpit 

3.2 配置和启动 Cockpit

# 启用并启动 Cockpit socket 服务 systemctl enable --now cockpit.socket # 检查服务状态 systemctl status cockpit.socket # 检查端口监听netstat -tlnp |grep9090

3.3 配置防火墙

# 开放 Cockpit 端口 firewall-cmd --permanent --add-service=cockpit firewall-cmd --reload # 验证防火墙规则 firewall-cmd --list-all 

第四部分:配置存储和权限

4.1 配置默认存储池

# 创建存储目录mkdir -p /var/lib/libvirt/images # 建议使用哪个目录空间充足就用哪个# 设置权限chown root:root /var/lib/libvirt/images chmod755 /var/lib/libvirt/images # 验证 libvirt 存储virsh pool-list --all 

4.2 配置 Libvirt 权限

# 创建 polkit 规则,允许 Web 管理cat> /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla <<'EOF' [Remote libvirt SSH access] Identity=unix-user:root Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes ResultActive=yes EOF# 重启 libvirtd 服务 systemctl restart libvirtd 

第五部分:访问和使用 Cockpit

5.1 访问 Cockpit

通过浏览器访问:

https://192.168.40.150:9090 # 创建虚拟机,用网页方式管理更加方便

注意:

  • 使用 HTTPS 协议
  • 端口是 9090

使用系统的 root 用户和密码 登录

在这里插入图片描述

5.2 创建虚拟机

在 Cockpit 界面中:

  1. 配置虚拟机参数:

点击"创建虚拟机"按钮

在这里插入图片描述

点击左侧菜单的"虚拟机"

在这里插入图片描述
在这里插入图片描述

翻译后的界面

在这里插入图片描述
在这里插入图片描述
  • 名称:虚拟机的名称
  • 安装源:选择 ISO 镜像或网络安装
  • 内存:分配内存大小
  • 存储:选择或创建虚拟磁盘
  • 网络:选择桥接网络 (br0)

5.3 上传 ISO 镜像

# 创建 ISO 存储目录mkdir -p /iso # 上传操作系统 ISO 镜像到这个目录# 例如:CentOS、Windows 等 ISO 文件# 设置权限chmod644 /iso/*.iso 

第六部分:高级配置(可选)

6.1 配置虚拟机模板

# 创建常用虚拟机配置模板(可选)cat> /tmp/vm-template.xml <<'EOF' <domain type='kvm'> <name>template-vm</name> <memory unit='GiB'>2</memory> <vcpu>2</vcpu> <os> <type arch='x86_64'>hvm</type> <boot dev='cdrom'/> <boot dev='hd'/> </os> <devices> <disk type='file' device='cdrom'> <source file='/iso/centos.iso'/> <target dev='sda' bus='sata'/> <readonly/> </disk> <interface type='bridge'> <source bridge='br0'/> <model type='virtio'/> </interface> <graphics type='vnc' port='-1' listen='0.0.0.0'/> </devices> </domain> EOF

6.2 性能优化

# 启用巨页支持(提升性能)echo'vm.nr_hugepages = 1024'>> /etc/sysctl.conf sysctl -p # 检查巨页grep HugePages /proc/meminfo 

第七部分:验证和测试

7.1 验证 KVM 环境

# 验证虚拟化支持 virt-host-validate # 查看虚拟机列表virsh list --all # 检查存储池virsh pool-list --all # 检查网络virsh net-list --all 

7.2 测试网络桥接

# 创建测试虚拟机 virt-install \ --name test-vm \ --ram 1024\ --disk path=/vm/test-vm.qcow2,size=10\ --vcpus 1\ --os-type linux \ --os-variant centos7 \ --network bridge=br0 \ --graphics none \ --console pty,target_type=serial \ --location 'http://mirrors.aliyun.com/centos/7/os/x86_64/'\ --extra-args 'console=ttyS0,115200n8 serial'# 如果不需要测试虚拟机,可以删除virsh destroy test-vm virsh undefine test-vm rm -f /vm/test-vm.qcow2 

第八部分:日常管理命令

8.1 常用命令行操作

# 查看所有虚拟机virsh list --all # 启动虚拟机virsh start 虚拟机名称 # 关闭虚拟机virshshutdown 虚拟机名称 # 强制关闭virsh destroy 虚拟机名称 # 删除虚拟机virsh undefine 虚拟机名称 # 查看虚拟机配置virsh dumpxml 虚拟机名称 # 控制台连接virsh console 虚拟机名称 

8.2 服务管理

# 重启 Cockpit 服务 systemctl restart cockpit.socket # 重启 libvirtd systemctl restart libvirtd # 查看服务状态 systemctl status cockpit.socket systemctl status libvirtd 

总结

这个完整的方案:

  1. 替代了 WebVirtMgr:使用更现代化的 Cockpit
  2. 包含了网络桥接:确保虚拟机与物理网络在同一网段
  3. 简化了安装步骤:无需复杂的 Python 依赖和配置
  4. 提供了完整的 KVM 管理功能:通过 Web 界面管理所有虚拟机

Read more

【论文阅读笔记】GlobeDiff:用扩散模型从局部观测生成全局状态,破解多智能体部分可观测难题

ICLR 2026 poster GlobeDiff: State Diffusion Process for Partial Observability in Multi-Agent Systemopenreview: https://openreview.net/forum?id=96g2BRsYZXarXiv: https://arxiv.org/abs/2602.15776 在多智能体强化学习(MARL)中,部分可观性(Partial Observability, PO) 是一个长期存在的难题。每个智能体只能看到局部信息,却需要基于此做出全局协调的决策。现有的方法(如信念状态估计或通信)往往难以准确还原全局状态,容易出现“模式坍塌”(Mode Collapse),即把多种可能的全局状态平均成一个模糊的状态,导致决策失误。 本文介绍了 GlobeDiff,一种基于条件扩散模型(Conditional Diffusion Model)

格拉姆角场(Gramian Angular Field, GAF)详解

格拉姆角场(Gramian Angular Field, GAF)详解

格拉姆角场(Gramian Angular Field, GAF)是一种于2015年被提出的时间序列可视化与特征编码技术。其核心思想是将一维时间序列转换为二维图像,并在此过程中保留原始序列的时间依赖关系与数值特征。目前,GAF已在故障诊断、生物电信号分析、射频信号识别等多个领域得到广泛应用。 GAF的实质是借助极坐标变换与格拉姆矩阵的结构,将一维序列中的“时间–数值”映射为图像中的像素关联信息。生成的图像矩阵的行列索引直接对应时间顺序,使其能够兼容主流图像识别模型(如CNN),从而挖掘出时间序列中的深层特征。 一、GAF 的核心设计逻辑 传统的一维时间序列包含两类基本信息:数值大小(如振幅)和时间顺序(如信号随时间的变化趋势)。折线图等常规方法虽能展示趋势,却难以显式表达不同时刻之间的数值关联。GAF 通过以下三步逻辑实现信息的结构化编码: 1. 数值归一化:将原始序列缩放至[-1, 1]区间,消除量纲与异常值影响,为极坐标变换提供基础; 2. 极坐标转换:将时间索引映射为半径,数值大小映射为角度,建立 时间-数值 在极坐标系统中的对应关系; 3. 格拉姆矩阵构建:

RTD1296PB与RK3568在NAS与智能家居中的实战性能较量

1. 从NAS到智能家居:为什么需要关注这两颗芯片? 如果你正在搭建家用NAS系统或者规划智能家居中枢设备,处理器选型绝对是绕不开的关键决策。RTD1296PB和RK3568作为市面上主流的中端ARM处理器,经常让开发者陷入选择困难。我在实际项目中用过这两款芯片,深刻体会到它们的差异不仅体现在参数表上,更直接影响着设备的实际体验。 RTD1296PB是瑞昱半导体面向家庭影音市场推出的老将,凭借出色的视频处理能力和成熟的OpenWRT支持,在早期NAS设备中占据重要地位。而瑞芯微的RK3568则是后来居上的多面手,22nm制程搭配Cortex-A55架构,在保持低功耗的同时提供了更强的扩展性。实测下来,两者的性能差距在日常使用中可能不会立即显现,但在特定场景下会拉开明显差距。 2. 硬件架构深度对比:藏在参数背后的细节 2.1 计算核心与制程工艺 先看最核心的CPU部分,RK3568采用4核Cortex-A55设计,最高主频2.0GHz,相比RTD1296PB的Cortex-A53架构有着明显的IPC提升。我在压力测试中发现,同样的文件压缩任务,RK3568能快15-20%。

Flash Table实测:JAI赋能低代码开发,重塑企业级应用构建范式

Flash Table实测:JAI赋能低代码开发,重塑企业级应用构建范式

目录 * 🔍 引言 * 1.1 什么是Flash Table * 1.2 低代码平台的进化与FlashTable的革新 * ✨FlashTable背景:为什么需要新一代低代码平台? * 2.1 传统开发的痛点 * 2.2 低代码平台的局限 * 2.3 FlashTable的差异化定位 * 💻 FlashTable安装:Docker部署&Jar包部署 * 3.1 基础环境要求 * 3.2 Docker部署(推荐方案) * 3.3 Jar包部署(无Docker环境) * 3.4 常见问题 * 📚FlashTable功能深度评测:从案例看真实能力 * 4.1 数据孤岛?FlashTable 自动化匹配字段 * 4.2 FlashTable复杂表单的开发挑战 * 4.3