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

GraphQL在Python中的完整实现:从基础到企业级实战

GraphQL在Python中的完整实现:从基础到企业级实战

目录 摘要 1 引言:为什么GraphQL是API设计的未来 1.1 GraphQL的核心价值定位 1.2 GraphQL技术演进路线图 2 GraphQL核心技术原理深度解析 2.1 Schema定义语言与类型系统 2.1.1 Schema定义原则 2.1.2 类型系统架构 2.2 Resolver解析机制深度解析 2.2.1 Resolver执行模型 2.2.2 Resolver执行流程 2.3 Strawberry vs Graphene框架深度对比 2.3.1 架构设计哲学对比 2.3.2 框架选择决策树 3 实战部分:

By Ne0inhk
Python(32)Python内置函数全解析:30个核心函数的语法、案例与最佳实践

Python(32)Python内置函数全解析:30个核心函数的语法、案例与最佳实践

目录 * 引言 * 基础数据类型操作 * 1. len() * 2. range() * 3. enumerate() * 4. zip() * 5. sorted() * 函数式编程工具 * 6. map() * 7. filter() * 8. reduce() * 9. any() * 10. all() * 输入输出与文件操作 * 11. open() * 12. print() * 13. input() * 14. exec() * 15. eval() * 元编程与高级功能 * 16. dir() * 17. help() * 18. type() * 19. isinstance() * 20. hasattr() * 21. getattr() * 22. setattr(

By Ne0inhk
2026 Python+AI入门|0基础速通,吃透热门轻量化玩法

2026 Python+AI入门|0基础速通,吃透热门轻量化玩法

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 一、2026 Python+AI入门,必抓3个热门新趋势 * 二、入门前提:不用啃硬骨头,掌握这2点就够了 * 环境搭建(10分钟搞定,Windows/Mac通用) * 三、3个实战案例 * 案例1:30行代码开发AI文本总结工具(轻量化工具,最易上手) * 案例2:大模型微调入门(Llama 3微调,2026热门) * 案例3:AI自动数据标注(图像标注,企业刚需) * 四、Python+AI入门学习流程图(2026最新,不绕路) * 五、2026新手避坑指南 * 六、总结 【前言】 大家好,我是一名深耕AI入门教学的开发者,

By Ne0inhk
一文掌握Python Flask:HTTP微服务开发从入门到部署

一文掌握Python Flask:HTTP微服务开发从入门到部署

Flask是一个轻量级的Python Web框架,以其"微内核"设计哲学闻名于世。所谓"微"并非指功能简单,而是指核心简洁、高度可扩展——Flask只提供最基础的Web服务能力,其他所有功能都可通过丰富的扩展生态系统按需添加。这种设计让开发者能够从几行代码的简单应用开始,逐步构建出复杂的企业级系统。 一、依赖库的安装与配置 1. 环境准备 首先确保已安装Python(建议版本3.7+),然后通过pip安装Flask依赖: # 安装 Flask pip install flask # 如果系统中有多个 Python 版本,可能需要使用 pip3 pip3 install flask 2. 验证安装 安装完成后,创建一个简单的应用来验证 Flask 是否正确安装并正常工作: # main.py# 导入Flask框架,Flask是一个轻量级的Python Web框架

By Ne0inhk