日期:2014-05-16  浏览次数:20440 次

通过powershell脚本实现定期同步vcenter虚拟机数据到数据库

在通过remedy开发vcenter虚拟私有云的管理过程中,如果系统管理员绕过bmc平台直接操作vcenter,这样会导致前后台的数据不一致,为了解决这个问题,我们可以通过一下方式来做一个定期同步数据的作业,以保证前后台数据的一致。

1. 首先在一台能够访问center的机器上安装powercli与powershell,一般的win2008的机器已经内置了powershell,如果开启,请google.

powercli下载地址:http://communities.vmware.com/community/vmtn/automationtools/powercli

?

2. 安装完powercli,创建脚本名称为export.ps1,脚本内容如下

Add-PSSnapin VMware.VimAutomation.Core
connect-VIServer -Server 10.132.3.53 -Protocol https -User View\bmc -Password 123
Get-VM | select Name,NumCpu,MemoryMB,Host | Export-Cs
v C:\temp\PowerCLI\VMDemo.csv

?

3. 在命令行执行powershell export.ps1即可生辰VMDemo.csv文件,文件包括查询的vm信息

4. 拷贝csv文件到数据库所在服务器,如果是oracle数据库,在安装powercli的机器安装oracle客户端即可

5. 在数据库服务器执行一下命令即可导入数据

osql -S localhost -U sa -P Passw0rd -d bbsa -Q "BULK INSERT CSVTable FROM 'c:\VMDemo.csv' WITH(FIELDTERMINATOR = '","',ROWTERMINATOR = '\n')"

?以上为导出vm信息与导入数据的具体思路与脚本,以上脚本可以通过bbsa封装成自动化作业进行完成