# pve_info **Repository Path**: liu-alex/pve_info ## Basic Information - **Project Name**: pve_info - **Description**: 维护PVE私有云(Proxmox Virtual Environment)过程中的一些需求,主要是收集虚拟机和容器使用情况。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-01-22 - **Last Updated**: 2025-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PVE信息收集 ## 说明 一个python脚本,收集PVE(Proxmox Virtual Environment )单机或者集群使用情况,输出表格文件,可收集信息: * 基本信息,包括CPU/内存/磁盘/IP地址/备注信息 * 状态(是否运行)和类型(qemu/lxc) * 是否备份 * IP地址被防火墙映射到外部的地址 * 存储整体使用情况 当时ProxmoxVE版本是4,还不支持cloud-init,所以查询IP地址的方式比较粗暴:在云节点上执行arp-scan扫描,获取IP地址和MAC地址的对应表,然后通过虚拟机的配置里面的MAC地址对比。 只要一个节点执行arp-scan即可。这个方法只针对QEMU虚拟机,LXC容器直接读取配置文件。 因为要通过ssh到节点执行arp-scan, 在配置中指定的PVE节点安装arp-scan并做ssh密钥认证。 ## 配置 配置目录conf下有三个必须文件 PVEs 集群或单机名称,可随意命名,如 ``` $ cat conf/PVEs #集群名称 IP  API端口 ssh端口 PVE1 192.168.10.1 8006 22 PVE2 172.31.10.1 8006 60000 ``` vlan.名称 虚拟机或者容器使用的网络,如 ``` $ cat conf/vlan.PVE1 vmbr0 192.168.100.0/24 $ cat conf/vlan.PVE2 vlan201 172.17.101.0/24 vlan200 172.17.100.0/24 ``` fw.名称 防火墙配置文件,可以为空 ``` $ touch conf/fw.PVE1 ``` 测试华为和深信服可用 ## 运行 指定配置文件运行 ``` $ python3 pve_info.py PVEs ```