Installing vSphere SDK for Perl
Installing vSphere SDK for Perl 你可以安装vSphere SDK 在Linux 或者Microsoft Windows 系统,或者 部署 VSphere Management 助手在ESXi主机, 这个章节包含下面的主题: Installation Overview 安装概要: 你可以安装一个vSphere SDK 支持的平台或者部署vMA 虚拟机在一个ESXi主机上。 安装Package,安装一个vSphere SDK 在一个物理或者虚拟机上。 查看安装vSphere SDK 的perl package 在linux上 vSphere SDK 对于Perl 安装 安装vSphere SDK 用于Perl 和vCLI , 因为很多的vCLI 命令运行。 平台安装过程: Linux 平台: 1.你必须安装的软件,See Installing Required Prerequisite Software for Red Hat Enterprise Linux. Installing the vSphere SDK for Perl Package on Red Hat Enterprise Linux vCLI 在linux 版本上是支持的, 在RHEL, vSphere SDK 对于perl 的安装提示你是否要安装需要的Perl模块: 1.install required prerequisite software. See Installing Required Prerequisite Software for Red Hat Enterprise Linux. 出现提示时,指导installer 来安装额外的前提条件。
需要的软件和推荐的模板 如果需要的软件没有安装,vCLI 安装停止。 你可以安装需要的使用yum。 RHEL 6.3 32 bit
yum install e2fsprogs-devel libuuid-devel
yum install perl-XML-LibXML
RHEL 6.3 64 bit
yum install e2fsprogs-devel libuuid-devel
yum install glibc.i686
yum install perl-XML-LibXML 推荐的Perl 模块: 当安装完成后, 可能会报一个warning 安装的模块的版本不匹配vCLI的版本。 使用yum或者CPAN来解决这个问题。 安装vSphere SDK 在有internet访问的Linux上。 在你安装vSphere SDK 之前, 系统必须满足下面的条件: 互联网接入, 你必须有internet 访问,当你运行installer 因为installer 使用CPAN 来安装需要的Perl 模块。 开发工具和库,你必须安装开发工具和库在你安装vSphere SDK Perl 和需要的Perl 模块前: 代理设置,如果你的系统使用一个代理来internet 访问,你需要设置: export http_proxy=:port
export ftp_proxy=:port 如果需要的软件没有安装, 安装程序会停止并要求安装它。 安装的必备软件取决于你使用的平台。查看每个版本的支持版本的发行说明。 RHEL 6.3 64 bit
Find the required modules on the installation DVD, or use yum to install them.
yum install e2fsprogs-devel libuuid-devel
yum install glibc.i686
yum install perl-XML-LibXML 安装vSphere SDK 运行命令来验证安装成功: To install vSphere SDK for Perl 1.root 登录 2.解压[root@master ~]# tar -zxvf VMware-vSphere-CLI-5.5.0-2043780.x86_64.tar.gz 3.
运行安装程序
Run the installer:
sudo vmware-vsphere-cli-distrib/vmware-install.pl 4.接受许可证条款, 输入yes和按回车键 安装程序连接到CPAN , 安装必须的软件,建立一个连接可能需要很长的时间。 5.指定安装目录,或按Enter 键接收默认的,默认是/usr/bin 一个完整的安装过程有下面的结果: 1.一个成功的消息出现 安装程序列表中列出了不同的版本号(如果有的话)。
■
迅速返回shell提示。 开始使用perl的 vSphere SDK perl的 vSphere SDK 允许你自动的完成各种各样的管理,配置,并监控vSphere环境的任务。 本章介绍了SDK的结构,说明了模型的基本使用,让你开始运行一个简单的脚本: 本章包括以下主题; Perl vSphere SDK的结构 使用Perl的vSphere SDK Perl vSphere SDK的常用选项 vSphere SDK for Perl Architecture Perl vSphere SDK 结构 交互模型在SDK和vSphere API 之间 在主机直接影响每个结果如何构建的, 是故障排除的基础。 Perl的vSphere SDK 和主机交互,执行这些基本任务的变化: 连接到一个远程的主机使用用户定义的连接参数,和断开。
2.在远程书籍上找到对象(服务端的对象),例如,找到一个主机上的所有虚拟机。 3.检索和修改服务器端的对象,比如,管理虚拟机的生命周期(启动、停止、暂停等)。 4.从服务端收集对象信息 大多数程序检索一个vSphere API 对象,使你作为一个可用的Perl对象,然后你可以用你的脚本操作。 Perl vSphere SDK 有一些组件: Perl vSphere SDK的rumtime— 客户端runtime 组件包括: 1.一个完整的Perl 绑定vSphere API,使的让所有的server-side 操作和数据结构可用, SDK 处理数据类型在server端和客户端之间映射对象 Perl的vSphere SDK实用程序–管理应用程序,可以让你不需要修改在你的虚拟数据中心来运行, 你运行的每个应用程序设置连接参数和其他, 应用指定的参数。 示例脚本– 你可以自定义你需求的脚本,说明vSphere SDK 的功能。 你必须知道Perl来自定义脚本,不像应用程序,简单的脚本不被Vmware支持。 一个Perl的 vSphere SDK 安装也包括下面的库: Using vSphere SDK for Perl 使用Perl的vSphere SDK 本节说明如何使用Perl的vSphere SDK 通过两个典型的使用场景, 它也列出Ulead常见的Perl的vSphere SDK 和讨论应用协议。 开始: 如果你使用SDK 来获取主机的性能信息,你可以执行以下任务: 检查Perl 的vSphere SDK 应用参考或者应用目录来检索信息。 检查 /usr/lib/vmware-vcli/apps 在Linux 和 Program Files\VMware vSphere CLI\Perl\apps 在Windows上。 所有的实用程序都被支持。 注意,如果你找不到实用程序,检查示例脚本。你可以使用示例脚本作为你应用程序的起点。 在linux下, /usr/share/doc/vmware-vcli/samples, on Windows, Program Files\VMware\VMware vSphere CLI\Perl\samples 2.运行脚本带帮助选项,或者不带任何选项来查看它的练级文档,更详细的信息,在实用程序参考包括在从VMware网站Perl文档集和有效的vSphere SDK。 运行 viperformance.pl 脚本对一台ESXi主机。 viperformance.pl –url https://:/sdk/vimService –username nemo –password fi$h –host Aquarium –countertype net –interval 30 –samples 3 转义字符必须在特定的字符之前在密码里,看到所有可用的SDK的一个完整的连接参数列表的Perl命令选项。 如果你想使用SDK来完成一个任务,不执行应用程序,你可以执行下面的任务: 检查/samples 目录执行一个简单的任务,脚本在samples目录可以用于定制: 如果一个脚本执行一个简单的可用任务,修改脚本,如果没有合适的脚本,使用Perl的vSphere vSphere SDK 写一个新的脚本。 下面的材料用于修改或者编写脚本: Source Description
Writing vSphere SDK for Perl Scripts. In-depth discussion of scripts that includes an example.
编写Perl SDK的脚本 深度讨论脚本,包括一个例子 vSphere SDK for Perl Subroutine Reference. Reference to vSphere SDK for Perl subroutines. perl 的vSphere SDK 的程序参考
Web Services for Management Perl Library. Allows you to write scripts that retrieve CIM data from the ESX/ESXi host using CIMOM, a service that provides standard CIM management functions over a WBEM (Web-Based Enterprise Management). Perl 管理Web Service 的库 允许你写脚本, 检索CIM 数据从ESX/ESXi 使用CIMON, 一个服务提供标准的CIM。 Credential Store Perl Library. Allows vSphere SDK for Perl applications to manage the vSphere credential store. 允许Perl的vSphere SDK 应用来管理vSphere credential store
vSphere API Reference documentation. Reference to the server-side object your script interacts with. 遵循这些编程约定当你修改或者而创建Perl 的vSphere SDK 的脚本: ■
Use parameter names followed by parameter values, as follows:
Vim::(=>, => );
Util::(=>, => );
Opts::(=>, => ); Common vSphere SDK for Perl Tasks Perl 的通用的vSphere SDK 对于Perl的vSphere SDK 包括实用程序和示例脚本对于常见的管理任务: 连接esxi
[root@master general]# perl connect.pl –url https://192.168.32.8/sdk/vimService –username root –password 1234567
Connection Successful 2.远程suspend 关闭虚拟机
perl vmcontrol.pl –url https://192.168.32.8 –username root –password 1234567 –operation suspend –vmname v-test-web02-192.168.32.214 开启虚拟机
[root@master vm]# perl vmcontrol.pl –url https://192.168.32.8 –username root –password 1234567 –operation poweron –vmname v-test-web02-192.168.32.214 virtual machine ‘v-test-web02-192.168.32.214’ under host localhost.localdomain powered on
You have new mail in /var/spool/mail/root Perl 程序的vSphere SDK 约定: 几个编程协议是不同的 想你想的 因为SDK和一个SERVER 交互实用 SOAP/WSDL. Boolean 数据类型–SDK 应用发送和接收Boolean 值如下: Perl vSphere SDK 选项: 有很多的选项可以用Perl的vSphere SDK脚本,很多选项允许你指定host或者hosts 来连接, 大多数选项都需要一个选项值: perl .pl – 例如, power on 虚拟机实用cmcontrol.pl ,你必须指定虚拟机的名字来power on, perl vmcontrol.pl –server –username –password –operation poweron –vmname 运行任何应用或者sample 在没有任何的选项 或者带上–help 来查询它的参数和执行例子 重要的是如果你的目标是锁定模式,你不能对主机运行Perl脚本。 Specifying Options 指定的选项: 你可以指定常用的选项,在本节讨论中。 当你运行vSphere CLI 命令, 认证发生在下写过程的顺序: vSphere CLI Authentication Precedence Authentication Description
认证 描述 针对vCenter Server 和使用vCenter 单点登录 如果你工作在一个有vCenter 单点登录管理的环境,你可以指定Vcenter Singe 单点登录 服务器的用户名,密码,和目标主机。 命令行 密码(password),session file,或者配置文件 在命令行上指定 配置文件 在.visdkrc 配置文件中指定密码 这个顺序的优先级是适用的, 例如,这意味着 ,你不能覆盖一个环境变量设置在配置文件里。 认证通过vCrnte Server 和 vCenter 单点登录. 对于所有的ESXI 主机,有vCenter Server 系统管理的主机,你可以直接认证的vCenter服务器系统,或者你可以授权vCenter服务器通过vCenter的单点登录。 Hello Host: Running Your First Script 运行你的第一个脚本 在你运行你的第一个脚本前,你需要做下面的事情: 成功安装Perl的 vSphere SDK 1
At a command prompt, change to the /apps/general directory.
C:\Program Files\VMware\VMware vSphere CLI\Perl\apps\general
/usr/lib/vmware-vcli/apps
2
Run connect.pl as follows:
connect.pl –url https://:/sdk/vimService –username myuser –password mypassword perl connect.pl –url https://192.168.32.38/sdk/vimService –username root –password 1234567 [root@master general]# perl connect.pl –url https://192.168.32.38/sdk/vimService –username root –password 1234567 Connection Successful
Server Time : 2015-09-07T07:35:29.770906Z 这个脚本返回消息信息和主机时间 Writing vSphere SDK for Perl Scripts 编写Perl 的vSphere SDK 本章使用一个简单的脚本例子 来阐述如何写一个vSphere SDK,本章还探讨了vSphere API对象模型的基础知识。 本章不讨论Perl的基本知识, 你被期望知道Perl和了解它的编程约定。 The chapter includes these topics:
■
Basic vSphere SDK for Perl Script
■
Understanding Server-Side Objects
■
Understanding Perl View Objects
■
Working with View Object Property Values
■
Understanding Operations and Methods
■
Updating View Objects Basic vSphere SDK for Perl Script Perl vSphere SDK的基本的脚本 vSphere SDK 检索对象,如虚拟机 从server 使用这些对象,vSphere SDK的Perl脚本遵循基本的vSphere SDK所示的Perl脚本的基本模式(simpleclient。PL)。 重要的示例脚本不使用过滤或者属性筛选器以提高效率。看到精炼vSphere SDK的Perl脚本有关这些主题的信息。 perl datacenterlisting.pl –server 192.168.32.8 –datacenter MyDC –username root –password 1234567 https://192.168.32.8/mob Step 1: Import the vSphere SDK for Perl Modules 步骤1 导入Perl的vSphere SDK的模块 所有的per的vSphere SDK 脚本必须使用use VMware::VIRuntime模块: 这个模块处理所有的客户端基础结构细节。 例如,它透明的映射数据类型, 提供local Perl 接口到server端的对象。该模块也加载子程序,你用于连接vCenter server 或者ESX/ESXi系统 Views 是客户端Perl对象封装了属性和操作server端管理的对象: 选择包的子程序处理内置选项和创建自定义选项: Util 包子程序方便日常的工作,如建立和关闭连接到服务器。 Step 2: (Optional) Define Script-Specific Command-Line Options (可选的)定义特定脚本 当你在命令行运行一个脚本时,通常需要指定一个连接信息,可能还需要指定其他信息比如一个 virtual machine 需要power off或者你需要获取一个主机的状态信息。 一些常用的命令行选项,其中大部分的连接选项,已经被定义用于所有的实用程序。 例如, 基于Perl vSphere SDK 的脚本(simpleclient.pl) 定义了一个可用的选项, 例子选择了一个选项作为hash, hash key 是一个可选名字, 值是一个hashref 包含 Getopt::Long-style 选项属性. 例如:: 基本的Perl vSphere SDK 脚本(simpleclient.pl) 创建一个需要的命令行选项 接受一个字符串值: my %opts = (
entity => {
type => “=s”,
variable => “VI_ENTITY”,
help => “ManagedEntity type: HostSystem, etc”,
required => 1,
},
); 定义新的选项 列出了所有的属性你可以用来定义命令行选项, 在步骤1中的代码片段: 1.导入Perl vSphere SDK 的模块 2.例子增加了选项 使用 Opts::add_options()子程序
Installing vSphere SDK for Perl的更多相关文章
- Linux vSphere SDK for Perl 执行脚本报错
本人在gentoo系统上安装完vSphere for Perl之后,执行/usr/lib/vmware-viperl/app/vm/vminfo.pl脚本. 提示错误如下: Server vers ...
- vSphere SDK for Java - 从模板部署虚拟机并配置IP地址
vSphere for Java类库:vijava 虚拟机配置类 package com.vmware.vcenter_event.VirtualMachine; import com.vmwa ...
- vSphere SDK for Java 示例
示例代码: package com.vmware.event.connect; import java.net.MalformedURLException; import java.net.URL; ...
- vSphere SDK for Java - 为虚拟机添加磁盘
示例代码: import com.vmware.vim25.*; import com.vmware.vim25.mo.*; import org.springframework.stereotype ...
- perl 获取虚拟机信息
[root@master ~]# cat simple_flow.pl ! /usr/bin/perl -w use strict; use warnings; 导入 vSphere SDK for ...
- 虚拟化之esxi命令行管理
Vmware PowerCLI和Vmware CLI vMA A Linux virtual appliance that includes the vSphere SDK for Perl and ...
- nagios监控安装esxi的服务器(宿主机)
首先,该博文大部分内容来自网络,少部分是自己监控过程中遇到的问题.如果有侵权,请联系告知!!! 现在互联网公司,有能力的都是自己研发监控系统,要么就是zabbix或者小米的监控,还都二次开发等等,可能 ...
- 【转】Ubuntu搭建Eclipse+JDK+SDK的Android
原文网址:http://blog.csdn.net/ithomer/article/details/6960989 今晚重装Ubuntu系统,重新安装了一套eclipse+jdk+SDK的Androi ...
- Android SDK +Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建 这几天一直在研究 Android SDK C/C++平台的搭建,尽管以前有成功在Windows ...
随机推荐
- select 中使用 case when 和 replace
在SELECT中,用CASE 例如: select a.Cname as Tcomname,b.Cname as TGoodname,D.nQuanty,c.cNote ...
- Android Studio导入aar依赖文件
以shareSDK为例,导入SMSSDK-2.1.1.aar: 首先将这个aar文件粘贴到libs文件夹下,然后在app目录下的build.gradle里操作 repositories{ flatDi ...
- sql like '%x%'优化
好久没写点什么了.唉(此处省略无数,一切尽在苦逼中...) 说说sql中的全匹配优化吧.在sql server进行模糊查询的时候,如果是进行全匹配的话,那么肯定会用到like.我们知道like '%张 ...
- centos7 安装php5.6.0 、nginx1.7.4、phpssdbadmin
1 创建用户.网站目录和下载相关的安装包 groupadd www #添加www组 创建目录/data/www/ chown www:www /data/www/ -R #设置目录所有者 chmod ...
- [FTP] FTPHelper-FTP帮助类,常用操作方法 (转载)
点击下载 FTPHelper.zip 这个类是FTP服务器的一些操作1.连接FTP服务器 2.上传3.下载4.删除文件5.获取当前目录下明细(包含文件和文件夹) 6.获取FTP文件列表(包括文件夹) ...
- JAVAAPI学习之Calendar类;Calendar类set()、add()、roll()方法区别
JAVAAPI学习之Calendar类 http://blog.csdn.net/myjlvzlp/article/details/8065775(写的很好,清晰易懂) Calendar类set(). ...
- CSS 导航栏
实例: 导航栏 Home News Articles Forum Contact About 导航栏 熟练使用导航栏,对于任何网站都非常重要. 使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜 ...
- 实现基于Memcache存储的Session类
自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的. 使用基于文件的Session存取瓶颈可能都是在 ...
- ubuntu 14.04 修改PS1提示符
默认情况下,Ubuntu终端会输出完整路径,在路径名很长的时候,提示方式很不友好,通过以下步骤修改PS1变量的设置,可以让终端输出相对路径.类似于红帽系统的风格.修改思路:将w修改为W显示绝对路径,并 ...
- 实现 winform 异步跨线程访问UI控件
在开发winform时经常会用到多线程防止界面出现假死现象,比如当你单击某个按钮时,需要执行很多代码,但是在执行过程中想实时的将当前执行的情况报告给用户,类型进度条或文本什么的. 这个时候很显然,如果 ...