两年前的一个老项目了,基于VMware Infrastructure 3.5的,整理一下当时的技术资料。至于VMware Infrastructure是什么以及它能干什么,不详细介绍了,感兴趣的同学可以自己百度一下。

1、通过什么方式访问VI中心

VMware Infrastructure对外提供WebService,供第三方应用调用,以实现针对主机、虚拟机等资源的控制。针对.Net,提供了一个VimService2003.dll,开发时需要把它加入项目引用。

2、如何查看VI集群中各资源的信息

除了使用Vmware Infrastructure Client以外,可以使用浏览器查看,地址是http://localhost:8080/mob。 其中的8080是vfxd服务设置的监听端口。


3、如何登录VI中心

  1. public class ViDemo
  2. {
  3. //以下是VI开发中会用到的所有对象
  4. private VimService m_Service;
  5. private ServiceContent m_Content;
  6. private ManagedObjectReference m_SvcRef;
  7. private ManagedObjectReference m_Collector;
  8. private UserSession m_Session;
  9. /// <summary>
  10. /// 登录,耗时会比较长
  11. /// </summary>
  12. public void Connect()
  13. {
  14. m_SvcRef = new ManagedObjectReference();
  15. m_SvcRef.type = "ServiceInstance";
  16. m_SvcRef.Value = "ServiceInstance";
  17. m_Service = new VimService();
  18. m_Service.Url = "http://localhost:8080/sdk";
  19. m_Content = m_Service.RetrieveServiceContent(m_SvcRef);
  20. m_Collector = m_Content.propertyCollector;
  21. if(m_Content.sessionManager != null)
  22. {
  23. m_Session = m_Service.Login(m_Content.sessionManager, "USER", "PASS", null);
  24. }
  25. }
  26. /// <summary>
  27. /// 注销
  28. /// </summary>
  29. public void Disconnect()
  30. {
  31. if(m_Service != null)
  32. {
  33. m_Service.Logout(m_Content.sessionManager);
  34. m_Service.Dispose();
  35. m_Service = null;
  36. m_Content = null;
  37. m_Session = null;
  38. }
  39. }
  40. }

4、虚拟机开机及关机

  1. /// <summary>
  2. /// 虚拟机关机
  3. /// </summary>
  4. public void PowerOff()
  5. {
  6. //虚拟机的资源路径,格式是“中心/vm/虚拟机名称”,本例中中心叫DataCenter,虚拟机是vm100
  7. //不用关心虚拟机在哪台主机上,因为对VI来说,集群是一个整体
  8. string path = "DataCenter/vm/vm100";
  9. //根据虚拟机的资源路径获取资源的引用
  10. ManagedObjectReference vmRef = m_Service.FindByInventoryPath(m_Content.searchIndex, path);
  11. if(vmRef != null)
  12. {
  13. //调用服务上的PowerOffVM_Task来关闭虚拟机(异步),此处没有等待任务完成
  14. //如果是开机,调用PowerOnVM_Task方法
  15. ManagedObjectReference taskRef = m_Service.PowerOffVM_Task(vmRef);
  16. }
  17. }

未完待续……

本文转自 BoyTNT 51CTO博客,原文链接:http://blog.51cto.com/boytnt/1028149,如需转载请自行联系原作者

利用VMware Infrastructure SDK编程控制虚拟机集群(1)相关推荐

  1. 利用VMware Infrastructure SDK编程控制虚拟机集群(3)

    接上回,继续整理针对虚拟机的各种操作. 7.跨主机克隆虚拟机 网上资料比较少,当时费了很大劲才成功的,与同一台主机上的虚拟机克隆有区别. /// <summary> /// 从模板部署虚拟 ...

  2. 利用VMware Infrastructure SDK编程控制虚拟机集群(2)

    接上回,继续整理针对虚拟机的各种操作. 5.创建与恢复快照 /// <summary> /// 创建快照 /// </summary> public void CreateSn ...

  3. 利用FRP跨局域网操纵虚拟机集群

    利用FRP跨局域网操纵虚拟机集群 我们在日常学习和生活中常常遇到这样的痛点,自己有两台笔记本A和B,自己的一台笔记本A安装了三台Linux虚拟机集群在学校机房里面(三台虚拟机都没有公网IP,并在学校局 ...

  4. 如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群

    如何构建虚拟机Hadoop集群,搭建3台ubuntu虚拟机集群 克隆集群机器 通过虚拟机搭建Hadoop集群,发现使用的VMware workstation 15 player版本没有克隆功能,于是找 ...

  5. 数据仓库搭建1-Virtual-box虚拟机集群搭建

    数据仓库搭建1-Virtual-box虚拟机集群搭建 前言 Virtual-box遇到的问题 虚拟机安装 虚拟机网络配置 安装必要的软件 前言 我的电脑内存16G,尽量大一点吧,太小的话会在使用的时候 ...

  6. Dapr + .NET 实战(十四)虚拟机集群部署 mDNS + Consul

    前面我们说了在单机模式下和K8S集群下的Dapr实战,这次我们来看看如何在不使用K8S的情况下,在一个传统的虚拟机集群里来部署Dapr. 1.环境准备 我们准备两台centos7虚拟机 Dapr1:1 ...

  7. ELK学习笔记之Kibana权限控制和集群监控

    详细请参考如下四篇博客,注意ELK6中移除了Xpack的默认账户和密码,需要手动设置 Kibana安全特性之权限控制 ELK 集群 Kibana 使用 X-Pack 权限控制,监控集群状态,警报,监视 ...

  8. 虚拟机集群启动,Hadoop常用命令

    虚拟机集群启动,Hadoop常用命令 (一).启动hdfs 1,namenode节点第一次初始化 在namenode安装节点执行命令: hadoop namenode -format 2,单节点启动. ...

  9. Vmware虚拟机集群设置静态ip

    前提准备 1 centos 7系统 2 Vmare为NAT模式 设置静态IP 为方便管理集群,需要为每台机器设置静态ip vi /etc/sysconfig/network-scripts/ifcfg ...

最新文章

  1. [coursera machine learning] Week 1
  2. Excel财务报表制作技巧与综合案例操作
  3. 使用Axis2创建一个简单的WebService服务
  4. 《去哪网编程题》统计字符
  5. Bzoj3628: [JLOI2014]天天酷跑
  6. 2027. 转换字符串的最少操作次数
  7. OSTaskSuspend()——挂起任务
  8. 5G(2)---NR协议栈及功能1 - 总体架构与物理层
  9. 【linux系统编程】剖析shell运行原理
  10. WIFEXITED WEXITSTATUS WIFSIGNALED(转)
  11. ES6学习笔记三(字符串)
  12. Java基础之类加载器
  13. 巨佬Jake Wharton谈Android对Java 8的支持
  14. 彼得林奇的成功投资四-投资组合股市大跌时表现
  15. PMP|项目经理如何做好相关方管理?
  16. 【资源管理器老是重启 win7资源管理器重启的解决办法】
  17. 如何正确计算导入Excel的行数(POI/NPOI)
  18. 计算机基本单位——位、字节、字、字长
  19. 目标检测中的anchor-base与anchor-free
  20. 计算机网络(三十二)网络管理

热门文章

  1. java和python的比较-java和python的比较
  2. 学python编程-趣学Python编程
  3. python中文读音ndarray-Python中Numpy ndarray的使用详解
  4. python自动化办公兼职-python如何实现自动化办公?
  5. python能在工程上干嘛-python能干什么?
  6. python入门到实践-看完Python从入门到实践后该看什么书?
  7. 小学生python-小学生都能学会的python(函数)
  8. python编程入门p-读书笔记 - 《Python编程:从入门到实践》
  9. LeetCode Decode String(栈和递归)
  10. LeetCode Construct Binary Tree from Inorder and Postorder Traversal