实现VMware服务器对接,读取虚拟机信息,并入库到MySQL数据库中,需要进行以下步骤:

  1. 安装Python SDK for VMware vSphere API,该SDK提供了与VMware vSphere API交互的Python库。

  2. 创建一个Python脚本,并导入必要的库,包括pyVmomi和MySQL Connector。

from pyVim.connect import SmartConnect, Disconnect
from pyVmomi import vim
import mysql.connector
  1. 连接到VMware服务器并获取虚拟机信息。在连接之前,需要提供VMware服务器的IP地址、用户名和密码。
si = SmartConnect(host=vmware_ip, user=vmware_user, pwd=vmware_pass)
content = si.RetrieveContent()
vm_view = content.viewManager.CreateContainerView(content.rootFolder, [vim.VirtualMachine], True)
vms = vm_view.view
  1. 将虚拟机信息存储到MySQL数据库中。在存储之前,需要提供MySQL数据库的连接信息和表结构。
cnx = mysql.connector.connect(host=mysql_host, user=mysql_user, password=mysql_pass, database=mysql_db)
cursor = cnx.cursor()
for vm in vms:
    sql = "INSERT INTO vmware_vm (name, guest_os, power_state, cpu_count, memory_mb) VALUES (%s, %s, %s, %s, %s)"
    val = (vm.name, vm.summary.guest.guestFullName, vm.summary.runtime.powerState, vm.summary.config.numCpu, vm.summary.config.memorySizeMB)
    cursor.execute(sql, val)
cnx.commit()
cnx.close()

完整的Python脚本如下所示:

from pyVim.connect import SmartConnect, Disconnect
from pyVmomi import vim
import mysql.connector

vmware_ip = "192.168.1.100"
vmware_user = "username"
vmware_pass = "password"

mysql_host = "localhost"
mysql_user = "username"
mysql_pass = "password"
mysql_db = "vmware"

si = SmartConnect(host=vmware_ip, user=vmware_user, pwd=vmware_pass)
content = si.RetrieveContent()
vm_view = content.viewManager.CreateContainerView(content.rootFolder, [vim.VirtualMachine], True)
vms = vm_view.view

cnx = mysql.connector.connect(host=mysql_host, user=mysql_user, password=mysql_pass, database=mysql_db)
cursor = cnx.cursor()
for vm in vms:
    sql = "INSERT INTO vmware_vm (name, guest_os, power_state, cpu_count, memory_mb) VALUES (%s, %s, %s, %s, %s)"
    val = (vm.name, vm.summary.guest.guestFullName, vm.summary.runtime.powerState, vm.summary.config.numCpu, vm.summary.config.memorySizeMB)
    cursor.execute(sql, val)
cnx.commit()
cnx.close()

Disconnect(si)

注意:在使用pyVmomi库时,需要将虚拟机的属性名称转换为小写字母。例如,vm.summary.guest.guestFullName应该写成vm.summary.guest.guestfullname。

python语言实现vmware服务器对接读取虚拟机的信息并入库到mysql数据库中

原文地址: https://www.cveoy.top/t/topic/bwia 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录