在通过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封装成自动化作业进行完成