虚拟化应用(一)开始 vSphere 4.1
- vSphere新特性
测试环境:
Windows Server 2008 R2 DataCenter
VMWare Workstation 7.1
VMWare vSphere 4.1
JDK 1.6 u-21 x64、Eclipse For JavaEE 3.6 x64
VMWare vSphere Java API 2.1 Beta、VMWare vSphere PowerCLI 4.1(PowerShell 2.0)
PowerGUI Script Editor Free Edition
vSphere是业界第一款云计算操作系统,近日VMWare发布了其最新版本vSphere 4.1,本次新特性如下:
1.1 安装和部署
VMWare ESX
以脚本方式安装ESXi
将vSphere Client从ESX/ESXi中剥离
1.2 存储
从SAN(存储区域网络)引导
为集成阵列扩展的硬件加速及存储API
存储性能统计
存储I/O控制
iSCSI(Internet Small Computer System Interface 因特网小型机系统接口)硬件卸载
NFS(Network File System 网络文件系统)性能增强
1.3 网络
网络I/O控制
IPv6增强
基于负载的分组
E1000型vNIC(Virtual Network interface controller 虚拟网卡)增强
1.4 可用性
构建于VMWare HA(High Availability高可用性)之上的Windows故障转移集群
VMWare HA的可伸缩性改进
监控VMware HA的HealthCheck和运行状况
VMWare容错增强
为VMWare HA及容错能力的DRS(Distributed Resource Scheduler 分布式资源规划)
增强的网络性能日志记录
并行的VMWare数据会话恢复
对数据保护的虚拟存储API的增强
1.5 管理
vCLI(vSphere Command-Line Interface vSphere命令行接口) 增强
锁定模式增强
通过网络访问虚拟机串行端口
vCenter Converter Hyper-V 导入
主机配置文件增强
无人值守vSphere认证管理助理技术
部署环境vSphere管理助理技术
vCenter Orchestrator的64位支持
vCenter Update Manager的改进支持
许可证报告管理
电源管理改进
1.6 平台增强
性能和可扩展性的改进
减少内存开销
DRS(Distributed Resource Scheduler 分布式资源规划)的虚拟机主机亲和规则
内存压缩
VMotion的增强
ESX/ESXi的活动目录集成
USB设备从ESX/ESXi主机直通虚拟机
改进vMotion的兼容性
1.7 合作伙伴生态系统
vCenter Update Manager的支持供应,修补,升级和EMC公司的ESX的PowerPath模块
为虚拟CPU的每个虚拟插座提供可配置的用户数量
支持更多的CPU
- 管理vSphere
我使用了VMWare Workstation 7.1安装ESX Server 4.1,仅仅为了测试,实际生产环境应该部署在专用服务器:
为了进行管理ESX Server,还需要安装vSphere Client。安装后,输入ESX Server IP、用户名、密码后即可以登录:
ESX-Win2003是在虚拟机中安装的虚拟机,在ESX Server 4.1中支持直接安装,在之前的版本需要修改下vmx配置文件才行。
管理控制台与Hyper-V的很相像,都很好用:
- 使用vSphere Java API管理ESX
VMWare提供了大量的API用来管理其旗下产品,支持Java、C#、Perl等多种语言,这里我选用了vSphere Java API进行测试,可以在这里下载。(C# API的文档、示例等不太完备,我试着编译了下,遇到很多错误,以后再尝试)
3.1 打开Eclipse,创建一个项目:
将下载下来的vSphere Java API的jar包添加进Build Path。
import java.net.URL;
import com.vmware.vim25.VirtualMachineCapability;
import com.vmware.vim25.VirtualMachineConfigInfo;
import com.vmware.vim25.mo.Folder;
import com.vmware.vim25.mo.InventoryNavigator;
import com.vmware.vim25.mo.ManagedEntity;
import com.vmware.vim25.mo.ServiceInstance;
import com.vmware.vim25.mo.VirtualMachine;
import com.vmware.vim25.mo.util.CommandLineParser;
import com.vmware.vim25.mo.util.OptionSpec;
public class HelloVI {
/**
* @param args
*/
public static void main(String[] args) {
try {
CommandLineParser clp = new CommandLineParser(new OptionSpec[] {},
args);
String urlStr = clp.get_option("url");
String username = clp.get_option("username");
String password = clp.get_option("password");
ServiceInstance si = new ServiceInstance(new URL(urlStr), username,
password, true);
Folder rootFolder = si.getRootFolder();
ManagedEntity[] mes = new InventoryNavigator(rootFolder)
.searchManagedEntities("VirtualMachine");
if (mes == null || mes.length == 0) {
si.getServerConnection().logout();
return;
}
VirtualMachine vm = (VirtualMachine) mes[0];
VirtualMachineConfigInfo vminfo = vm.getConfig();
VirtualMachineCapability vmc = vm.getCapability();
System.out.println("Hello: " + vm.getName());
System.out.println("GuestOS: " + vminfo.getGuestFullName());
System.out.println("Multiple snapshot supported: "
+ vmc.isMultipleSnapshotsSupported());
si.getServerConnection().logout();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
3.3 配置命令行参数:--url https://192.168.200.133/sdk --username root --password ******(请用你自己的ESX IP、用户名、密码进行替换)
3.4 运行结果如下:
- 使用PowerShell管理ESX
VMWare 提供了PowerShell的扩展vSphere PowerCLI来更方便的对ESX/ESXi等进行管理,可以在这里下载,需要先注册。
4.1 下载后安装,命令行初始界面如下:
4.2 为了更方便的使用PowerShell,我们使用PowerGUI Script Editor Free Editon来编写PowerShell,可以在这里下载。其支持断点调试,强大的智能感知等。
为了能够在PowerGUI Script Editor中使用VMWare PowerCLI扩展,需要先导入:
Add-PSSnapin VMWare.VimAutomation.Core
使用Connect-VIServer连接ESX,使用Start-VM打开一个已安装的虚拟机:
连接ESX是如果使用http协议,则会出错,建议使用https协议。
- 小结
随着虚拟化技术在企业中的应用愈来愈广泛,对虚拟化技术的要求也愈来愈高,本次我们从最基本的代码和脚本入手,对VMWare vSphere 4.1平台有了一个基本的认识,进行了一些简单的管理操作。虚拟化技术的解决方案非常复杂,涉及到的技术层面非常广,我也是抱着一种研究的态度进行测试,后续篇章也会关注其他虚拟化解决方案,如微软的Hyper-V、Oracle的VirtualBox等,结合相应的SDK做一些测试。