首页 > 代码库 > vSphere

vSphere

VMware vSphere集成容器(VIC)建立了一个在轻量级虚拟机内部署并管理容器的环境。全新的虚拟机环境提供了更高级别的硬件隔离度,灵活性以及可扩展性使得容器对开发人员以及企业应用具有如此大的吸引力。

构建家庭vSphere实验环境编辑

为了跟进vSphere最新变化和新功能,有许多设备可以用来搭建vSphere实验室环境。
  组装一套vSphere家庭实验室——或者一套在办公室的实验室——就意味着至少需要好几个ESXi主机,一些共享vSphere存储器和vSphere服务器。从退役的服务器到启用嵌套虚拟化的笔记本电脑,建立vSphere实验室的途径有很多。

vSphere退役的vSphere服务器


  很多人使用的第一个学习实验室是利用生产环境退役的旧vSphere服务器组成的。通常情况下,这些都是曾经运行着vSphere的服务器,有时候甚至还有一起退役的SAN存储设施。其中最大的优点就是,与生产环境接近的物理vSphere硬件操作,包括设置vSphere网络和存储适配器,管理布线等等。如果可以放在办公室,这会是一个强大的vSphere实验环境,但噪声及能耗可能成为让公司纠结的问题。把几个机架式vSphere服务器带回家恐怕会遇到家庭成员的反对,特别是住公寓的屌丝们。

vSpherevSphere桌面PC


  要规避退役vSphere服务器巨大的噪声和能耗问题,使用桌面PC来搭建家庭实验环境是一个选择。只要仔细选择组件,建立一个小型、安静的计算机来运行ESXi是可行的。新型号vSphere主板通常具有足够的DIMM插槽,支持32GB的内存容量,足以充当测试机。
  vSphere在共享存储方面,有很多使用廉价SATA硬盘,具备NFS和iSCSI功能的小型NAS设备可选。Synology广受欢迎,可以兼用于vSphere家庭数字媒体环境,这让vSphere家庭成员更容易接受。尺寸最小的vSphere家庭实验室之一使用Macmini作为ESXi主机;您只要搞定包含Macmini网卡驱动程序的自定义ESXi安装ISO安装源就行了。更紧凑的选项是英特尔下一单元的计算(NUC)机型。
  Mac mini和NUC最多可以装备16GB的内存。如果你需要使用vSphere来支持一些吃内存的管理产品,vSphere内存容量可能成为瓶颈。通常情况下,ESXi主机采用无盘方式搭建,通过USB闪存盘启动。这些vSphere实验室的一个问题是他们不可移动 ;如果你不在家里,你可能就没办法访问您的vSphere实验室了。

vSphere嵌套vSphere虚拟化


  如果希望拥有一个便携式的vSphere实验室,我们可以借助嵌vSphere套虚拟化手段。VMware的虚拟化平台能够把ESXi作为客户机运行,然后这个vSphere虚拟的ESXi就可以承载它自己的客户机。通过嵌套vSphere虚拟化方式,我们可以在一台笔记本电脑上运行数个vSphere虚拟的ESXi服务器,然后用一台vSphere虚拟机负责共享存储,另一台运行vCenter。
  选择强大的笔记本电脑,无论你去哪里都可以随身携带着一整套vSphere群集,甚至在旅途中也能使用。我们没有必要完全用vSphere笔记本电脑的标准来要求任何物理机;桌面PC可以承载性能更强大的嵌套vSphere实验室,并且通常比笔记本电脑支持更多的vSphere物理内存。甚至安装了ESXi的服务器也可以成为你的嵌套vSphere实验室的容身之处,一台拥有大量CPU核心和vSphere内存的退役服务器可以为团队的每个成员提供独立的实验室。

vSpherevSphere的AutoLab


  作为一个轻松的捷径,你可以利用我编写的一些工具。AutoLab是一个可以让你自动化建立嵌套vSphere实验室的工具。它是Lab Guides上的免费下载资源,并且只包含自由和自由可再发行软件。你需要提供自己的Windows和vSphere ISO文件,以及运行于物理计算机的VMware虚拟化平台。
  AutoLab会自动建立一个Windows域,两个或三个虚拟的ESXi服务器,以及vCenter服务器。vSphere还会自动建立一个带HA和DRS的ESXi群集,甚至还有几个嵌套的vSphere虚拟机。自动化节省了安装各个vSphere组件所需的时间——包括Windows和SQL服务器——让你可以把精力集中在学习vSphere上。
  您既可以关闭vSphere自动化,学习如何亲手搭建各个vSphere组件,也可以从全自动构建的vSphere环境开始学习vSphere高级功能,或者测试整合到vSphere的其它应用程序。

vSphere修改VMX文件时如何确保vSphere安全

编辑
对日常管理来讲,管理员不必进入vSphere环境内部修改虚拟机活动,通常使用vSphere就可以搞定。但有时需要进行一些手动干预对vSphere虚拟环境进行调整。
通过遵循本文的如下指南,管理员能够修改虚拟机的VMX文件进行相应的变更,比如修改参数值或者增加新参数等无法通过vSphere桌面或Web客户端轻松完成的工作。

vSpherevSphere人为干预的两种情景

为什么需要手动编辑VMX文件呢?假如有一个用户将虚拟环境升级到vSphere,并将所有虚拟机的硬件兼容性升级至级别10。如果只能够通过vSphere编辑该虚拟机,当vSphere不可用但需要对虚拟机进行修改时将会出现什么状况?
假设vSphere虚拟机端口组需要迁移到另一个网络。能够使用的一个工具是PowerShell,但并非所有的vSphere管理员都熟悉PowerCLI脚本。
在vSphere另一种场景下,管理员想给虚拟机增加无法通过vSphere实现的高级配置。例如,管理员想更改虚拟机放置快照文件的工作目录,vSphere的知识库KB1002929对此进行了描述。

vSpherevSphere剖析VMX文件

vSphere虚拟机配置被存储在以.VMX为扩展名的文件中,该文件位于vSphere数据存储中该虚拟机所在的目录下。VMX文件是一个结构很简单的vSphere文本文件,每一行包括一个参数以及对应的值。
编辑vSphere配置文件有两种方法,但不论vSphere使用哪种方法,必要的准备步骤是一样的。
步骤1:找到vSphere虚拟机所在路径
vSphere为访问位于ESXi主机数据存储下的VMX文件,需要找到vSphere虚拟机所在路径。如图1所示,只需要打开vSphere虚拟机的摘要信息标签,查看vSphere存储区域的相关对象窗口即可。
技术分享
图1:在vSphere虚拟机摘要标签下,vSphere数据存储路径位于相关对象面板内。
图片中的信息可能并非100%正确,实际可能会列出多个vSphere数据存储,因为vSphere配置可能存储在与虚拟机文件不同的路径下。或者vSphere虚拟机被重命名后,只会改变显示名而不会改变vSphere虚拟机路径及文件的名字。如图2所示,为确定VMX配置文件的正确路径,需要进入vSphere虚拟机配置部分并在vSphere虚拟机配置文件区域予以确认。
技术分享
图2:vSphere虚拟机配置文件区域显示了vSphere虚拟机配置文件所在路径
步骤2:关闭vSphere虚拟机
你可以关闭vSphere客户操作系统,如果没有安装VMware Tools也可以强制关机。
步骤3:在vSphere清单中注销虚拟机
在vSphere或者vSphere Client窗口中右键单击vSphere虚拟机并选择从清单中移除选项,该vSphere虚拟机被从清单中移除了但还保留在vSphere数据存储中。
方法1:下载、修改并上传VMX文件
该方法最简单。通过vSphere或者vSphere Client窗口访问vSphere虚拟机所在的数据存储并浏览相关内容。如图3所示,打开vSphere虚拟机所在目录并选择VMX文件。
技术分享
图3:使用vSphere浏览虚拟机的数据存储,然后右键单击选择下载选项
将vSphere文件下载到本地后,在编辑之前先备份文件。
你可以使用vSphere编辑器比如Wordpad或者其他文本编辑器修改文件。请注意某些vSphere编辑器处理回车以及换行的方式不同,比如NotePad。无法正确解释这些字符的vSphere编辑器将会在一行而不是分多行显示所有内容。
进行vSphere必要的修改后,将文件上传到相同的路径下。最后一步是在vSphere中重新注册虚拟机:右键单击VMX文件并在弹出的菜单中选择注册虚拟机选项。

vSphere方法2:vSphere直接通过命令行修改VMX文件

采用该方法,管理员需要熟悉vSphere命令行界面。
首先,在vSphere本地控制台或者通过SSH打开主机的命令行会话。如果需要使用vSphere指南,可以参考VMware的vSphere命令行界面入门文档。
使用cd命令进入位于/vmfs/volumes/your datastore/vm目录下的虚拟机目录。如下图4所示,你可以使用ls -l命令列出文件。
另一个小技巧:使用tab键补齐命令可以简化操作并避免输错命令。在cd命令后输入目录名的第一个字母然后按tab键自动补齐文件名。当包括多个目录时,可以连续按两次tab键显示可供选择的目录列表。
技术分享
图4:使用ESXi Shell查看vSphere虚拟机数据存储并列出文件
确认VMX文件的路径后,可以使用vSphere编辑器进行修改。当然在修改前要先创建一个vSphere副本。使用cp命令拷贝文件;通常我会使用.BAK作为扩展名表示文件是一个备份。
几乎能够在所有vSphere命令行下使用的编辑器是VI,因此知道其如何使用是个不错的主意。vSphere的知识库KB1020302解释了如何使用VI修改文件。
完成变更后,在vSphere命令行下使用如下命令在vCenter内注册虚拟机:
vim-cmd solo/registervm path to the vmx file
下图5中,上一条命令输出的结果是139,这是清单内的对象标识符,表明vSphere虚拟机注册成功了。
技术分享
图5:在命令行下成功注册vSphere虚拟机后,会显示代表清单中的对象标识符的数字139。
 

vSpherevSphere支持iSCSI和FCoE


  vSphere 5.5针对服务器集群增加了对iSCSI和FCoE的本地支持,但IT规划人员应该关注一些部署vSphere规则与限制。
  例如,vSphereiSCSI支持三种主要的服务器集群配置:跨箱集群(CAB),箱内集群(CIB)以及N+1。vSphere集群使用基于软件的iSCSI存储适配器以及来自QLogic、Emulex以及Broadcom的硬件适配器,vSphere能够同时支持软件以及硬件iSCSI initiator(称之为混合模式的iSCSI)。然而vSphere集群内的所有服务器节点必须运行相同版本的ESXi,而且所有vSphere服务器节点必须使用相同的存储协议。例如,你不能创建这样的vSphere集群:其中一台vSphere服务器安装ESXi 5.1,vSphere使用的存储协议是iSCSI,另一台vSphere服务器ESXi 5.5,使用的vSphere存储协议是FCoE—软硬件版本一致对集群服务器相当重要。
  vSphereFCoE还支持使用各种软件及硬件FCoE适配器的CAB、CIB以及N+1集群,但vSphereFCoE集群无法混合使用CIB和CAB。而且vSphere与iSCSI不同,vSphereFCoE不支持混合模式的适配器,因此如果vSphere集群内的一台vSphere服务器使用软件FCoE initiator,那么另一台vSphere服务器不能使用硬件FCoE initiator,集群中的所有vSphere服务器必须使用同一个FCoE initiator。协议以及hypervisor也不能混用。例如,每台vSphere服务器节点必须使用相同版本的ESXi、相同的vSphere存储协议(不能在集群内混合使用FC和FCoE)。

vSphere针对微软环境vSphere集群选项


  虽然大多数选择关注的焦点是主要的企业应用,但vSphere针对基于微软的数据中心提供了很多vSphere集群选择。例如,两个主要的方法基于共享存储使用微软vSphere集群服务器支持通用服务器集群,同时实现了vSphere网络负载均衡。IT规划人员可以使用vSphere实现高可用性部署,而且在网络流量出乎意料或者请求过高时能够使用负载均衡。
  vSphere还针对SQL提供了集群选项。vSphere常规集群有助于提高性能,支持“实时在线”可能是部署SQL关键业务时的优先选择。
  最后,vSphere还针对Exchange提供了集群选项。简单的单一拷贝集群使用共享存储提供了vSphere邮箱集群服务器,因此多台vSphere服务器能够管理单个存储副本。vSphere集群持续复制有助于避免Exchange部署存在的单点故障,并vSphere能够使用故障切换以及复制功能进行快速恢复。vSphere集群还对Exchange数据库可用性群组提供了支持,而且vSphere针对Exchange 邮件服务器提供了高可用性。

vSphere应用vSphere关联性或非关联性


  尽管工作负载的可移动性是vSphere虚拟化至关重要的优势之一,但在vSphere触发HA或DRS时,在vSphere服务器间迁移工作负载时可移动性可能会出问题。像DRS这样的vSphere管理工具提供了关联规则及非关联规则,其中vSphere关联规则确保了某些vSphere虚拟机应该运行在同一台vSphere物理服务器上,非关联规则确保了某些虚拟机不在同一台vSphere物理服务器上运行。IT规划人员应该使用关联规则及非关联规则确保工作负载是否应该在集群内不同的vSphere服务器节点上运行。
  例如,假定一组MSCS虚拟机作为一个CIB配置在同一台vSphere服务器上。发生故障切换时这些vSphere虚拟机不能切换到集群内多台vSphere服务器节点上,因此关联规则能够用于确保发生故障切换时所有vSphere虚拟机在同一个节点上运行。相反,当一组vSphere虚拟机作为一个CAB被配置为跨越多台vSphere服务器,那么发生故障切换时这些vSphere虚拟机必须切换到集群内的多台vSphere服务器节点上。在这种情况下,能够使用反关联规则避免这些vSphere虚拟机迁移到同一个服务器节点。
  请记住,vSphere部署并维护集群技术存在挑战。集群要求vSphere应用程序版本、hypervisor版本、操作系统版本以及企业存储基础设施间具备互操作性。在将vSphere集群服务迁移到生产环境前对集群架构进行评估至关重要。此外,当应用程序、hypervisor、操作系统组件或者存储发生变更时有必要对vSphere集群行为进行测试并进行重新评估,以避免给业务带来意想不到的后果。

vSpherevSphere集成容器与其他容器的区别

编辑
简单来说,VMware vSphere集成容器(VIC)建立了一个在轻量级虚拟机内部署并管理容器的环境。全新的虚拟机环境提供了更高级别的硬件隔离度,灵活性以及可扩展性使得容器对开发人员以及企业应用具有如此大的吸引力。
VIC始于虚拟容器主机(VCH)。实际上,VCH是一个用于支持容器运行的完整的虚拟环境。每个VCH接收硬件资源,能够像管理其他传统虚拟机那样管理VCH,虚拟环境中可以有多个VCH。VCH还为开发人员提供了访问Docker的API。在VCH内运行的轻量级操作系统—称之为Project Photon。作为父操作系统。因此,在将容器加载到VCH中以前没有必要安装单独的操作系统,管理员也不需要担心需要给操作系统打补丁或者升级。
容器创建后,在它自己的虚拟机内运行。新容器使用Project Photon操作系统内核的一个瘦拷贝,不需要复制常见的操作系统元素就能够运行—省略了发生在传统、完整大小虚拟机中的资源复制。Docker组件在VCH而非单个容器内运行,确保了每个容器实例尽可能小。VMware称其为支持容器的“刚刚好虚拟机”。
通过现有vSphere Web Client使用一个使管理员能够创建、监控并管理VCH的新插件管理VIC。管理员能够看到容器如何使用资源、正在被使用的端口、基础镜像等等。VIC将Linux容器构造(比如计算、存储以及网络组件)映射给vSphere,传统的虚拟机与能够与容器一起高效、并行运行。容器动作也可以被映射给vSphere命令。例如,停止一个VIC容器将会关闭该虚拟机,而移除一个VIC容器将会删除相应的容器虚拟机。

vSphere