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()子程序
相關文章
相關標籤/搜索