多层和复杂的应用程序被用来在服务器之间分配工作负载,并提供更高级别的安全性、性能和可伸缩性。在部署需要在不同服务器上运行组件的应用程序时,部署在 VMware vSphere 上的虚拟服务器提供了许多优势。您可以在 VMware 集群中部署虚拟服务器,根据需要提供尽可能多的硬件资源,并且在不会遇到显著停机的情况下增加更多的存储、CPU 和内存容量。
用于运行复杂应用程序的虚拟机(VM)可以在 VMware vApps 中进行分组,以便进行更合理的管理和方便。本博客文章涵盖了 VMware vApps、相关用例以及在 VMware vSphere 虚拟环境中创建 vApp 的过程。
VMware 环境中的 vApp 是什么?
VMware vApp 是一组用于共同目的的虚拟机。此组可以作为单个虚拟机进行管理,可以为 vApp 提供资源池,并且可以设置 VM 启动顺序以满足复杂应用程序使用的组件的依赖关系。vApp 作为一个管理单元,可以启动、暂停、关闭电源和克隆。VM 启动序列可以节省您的时间——当您需要启动 vApp 时,所有包含的 VM 将根据设置的适当启动顺序和每个先前 VM 启动操作系统及关键应用程序和服务所需的延迟自动启动。当您向 vApp 发送关闭信号时,如果配置了适当的设置,VM 将按相反的顺序关闭。
假设您需要部署一个应用程序,该应用程序使用Active Directory域控制器进行身份验证,使用数据库或文件服务器存储内容,使用Web服务器、应用程序服务器和Microsoft Exchange服务器发送电子邮件。每个组件都安装在单独的虚拟机上。在这种情况下,虚拟机的引导顺序应该如下:
- Active Directory域控制器/DNS服务器
- 数据库服务器/文件服务器
- Web服务器
- Exchange服务器
- 应用程序服务器
您可以创建一个vApp,将这五个虚拟机添加到vApp中,并在vApp设置中配置这些虚拟机的引导顺序。需要安装VMware Tools以正确关闭虚拟机。
要求
部署vApp到您的vSphere环境中必须满足一些要求:
- 必须安装和配置VMware vCenter Server,用于集中管理vSphere。
- 必须设置带有DRS(分布式资源调度器)功能的VMware集群。
也可以在一个ESXi主机由vCenter管理的环境中部署vApp,但通常不在生产环境中使用此选项。
如何设置VMware vApp
使用以下示例,让我们探讨如何设置VMware vApp。
1. 打开 VMware vSphere Client 并连接到您的 vCenter Server。确保已创建一个集群。您可以阅读关于 VMware 集群的 VMware 集群 eBook 来了解如何创建和配置 VMware 集群。
2. 转到 主机和集群,选择您的集群,打开 管理 选项卡,然后打开 设置 选项卡,选择 服务 > vSphere DRS。
3. 在打开的 编辑集群设置 窗口中,选中 打开 vSphere DRS 复选框,并根据需要设置 DRS 自动化、电源管理和高级选项。
4. 配置 DRS 集群后,右键单击集群名称,在上下文菜单中单击 新建 vApp。
新建 vApp 向导应在新窗口中打开。在此,您需要执行以下步骤:
1. 选择创建类型。单击 创建新的 vApp 并点击 下一步 继续。
2. 编辑设置 – 选择名称和位置。输入唯一的 vApp 名称,然后选择存储该 vApp 的文件夹或数据中心。在我们的示例中,vApp 名称为 vApp01,vApp 位于 TEST 数据中心。
2b.资源分配。选择为vApp分配多少CPU和内存资源。如果需要,选择预留、预留类型及其限制。您可以使用低、正常和高预设值。配置类似于配置资源池,可以有效利用资源。这些设置可用于限制CPU和内存资源,以避免对正在运行ESXi主机上的现有生产VM产生负面影响,或者模拟后续部署vApp的生产环境中使用的硬件性能(条件)。另一个用例是始终提供足够的硬件资源,保留给vApp,并防止其他正在运行ESXi主机上的VM利用这些资源。您可以在创建vApp后更改这些资源分配参数。
3.准备完成。检查您的新vApp的设置。如果有错误,请点击返回并编辑设置。如果一切正确,请点击完成来创建您的vApp。
现在您可以在集群资源列表中看到您的vApp实体,如VM、资源池等。目前vApp为空,不包含任何VM。您需要将适当的VM添加到vApp中。为了将VM添加到vApp中,请选择所有必要的VM,点击并按住鼠标左键,然后将选定的VM拖放到您的vApp中(请参阅下面的屏幕截图)。在我们的案例中,已添加了五个VM到vApp中:
01 – 运行在Windows Server 2012上的活动目录域控制器
02 – 运行在Linux上的文件服务器需要Active Directory来验证Samba用户通过SMB(CIFS)协议访问文件共享。
03 – 一个数据库服务器。Oracle正在运行在Ubuntu Linux上。
04 – 用于通过应用程序发送电子邮件的Microsoft Exchange服务器。
05 – 一个应用程序服务器。
当你释放鼠标左键时,vCenter会询问:“在5个对象上执行此操作?”对这个问题回答是。
一旦虚拟机被添加到vApp中,你可以编辑vApp设置并设置虚拟机的启动顺序。为了编辑vApp设置,在上下文菜单中右键单击你的vApp名称,然后点击编辑设置。
注意:如果你需要从vApp容器中排除一个虚拟机,将虚拟机从vApp拖放到集群中。
打开编辑vApp窗口。让我们配置虚拟机启动顺序,这是VMware vApps最常用的功能之一。
虚拟机启动顺序。在编写部分,单击启动顺序选项以展开设置。在 VMware vSphere Client 的图形用户界面中选择必要的虚拟机,并单击上下按钮以增加或减少虚拟机启动优先级。将开机操作设置为启动操作。默认情况下,虚拟机启动之间的延迟为 120 秒。如果选中“VMware 工具已准备好”复选框,则在 120 秒后启动启动顺序列表中的下一个虚拟机,或在虚拟机的客户操作系统中初始化 VMware 工具时启动。如果 VMware 工具在 120 秒内初始化完成,则一旦 VMware 工具准备就绪(复选框被选中),下一个虚拟机将启动。请注意,VMware 工具的初始化速度可能快于 Oracle 数据库启动速度;因此,在所有情况下都不应使用VMware 工具已准备好复选框。
这很重要,因为如果应用程序 2(依赖于安装在 VM1 上的应用程序 1)的 VM2 在 VM1 上的应用程序 1 尚未准备就绪时启动,则可能会出现错误。
虚拟机被分组。一个组可以包含多个虚拟机。确保关闭操作设置为客户关闭,而不是断电关闭,以确保虚拟机已正确关闭。
注意:虚拟机的断电关闭操作相当于从物理计算机上拔下电源电缆。
客户机关机操作使用安装在客户操作系统上的 VMware Tools 发出关机信号来关闭计算机,就像在 Linux 中运行 init 0 命令或在 Windows 中运行 shutdown -s -t 0 一样。
IP 分配选项。您可以设置 vApp 的 VM 从 DHCP 服务器获取 IP 地址,或者使用在 OVF 模板中预配置的网络设置用于 OVF 环境(如果您从 OVF 模板部署 vApp)。默认情况下,使用 静态 – 手动 方法设置 VM 的 IP 地址。
附加 vApp 选项
这还不是全部。VMware vApp 还有一些附加选项。您可以克隆 vApp,将 vApp 导出为 OVF 模板,并创建嵌套 vApp。
克隆 vApp
您可以像克隆 VM 一样克隆 vApp。关闭 vApp 并确保 vApp 的所有 VM 均已关闭电源。右键单击 vApp,在上下文菜单中选择 所有 vCenter 操作 > 克隆。在 新 vApp 向导中,选择克隆选项,就像您为创建新 vApp 和克隆独立 VM 所选择的那样。
将 vApp 导出为 OVF 模板
OVF 是分发 VM 模板 的广泛使用格式。您可以将您的 vApp 导出为 OVF 模板,并将预配置的 vApp 分发给合作伙伴和客户,例如。您还可以将预配置的 vApp 提供给测试人员和开发人员以查找错误并修复它们。
要将 vApp 导出为 OVF 模板,请关闭 vApp,并在 vApp 的所有 VM 均已关闭电源时,右键单击 vApp 并在上下文菜单中选择 导出 OVF 模板。您可能需要安装客户端集成插件。OVA 和 OVF 模板可用作导出格式。您可以使用 OVF 工具将 OVF 转换为 OVA,然后在 VMware Workstation 和 VMware Fusion 中打开 vApps。
此外,将 vApp 导出为 OVF 模板可以被视为一种备份方法,允许您从单个文件中恢复所有相关的 VM,但最好考虑使用专门的备份解决方案来实现这一目的。
创建嵌套 vApps
支持嵌套 vApps 允许您在提供更细粒度的 vApp 管理的父 vApp 中创建 vApps。一个复杂的应用程序可以使用多个多层应用程序,这些应用程序又由多个 VM 组成,这些 VM 使用 vApps 分组。
结论
A vApp is a group of VMs that combines features of VMs and resource pools. VMware vApps are used to deploy multi-tier applications which components are running on different VMs, as well as grouping VMs used for a similar purpose. The most commonly used vApp feature is the VM Start Order that allows you to start the VMs running dependent applications in the right order through launching the vApp first. This way, you can provide proper operation of the components and of the entire multi-tier application.
此外,在灾难恢复方案中,可以使用vApp从导出的OVF模板文件中恢复所有必要的虚拟机。然而,最好使用NAKIVO备份与复制的站点恢复功能。这种快速、可靠且价格合理的解决方案可以备份、复制和恢复虚拟机和其他VMware vSphere对象(虚拟机文件夹、集群、vApps、资源池)。
如果作业中包含的虚拟机或其他对象从一个ESXi主机迁移到集群中的另一个主机,NAKIVO备份与复制可以自动检测迁移对象的位置并执行所需的作业。当恢复时间到来时,您可以执行灾难恢复并将必要的虚拟机和其他vSphere对象恢复到远程站点。
Source:
https://www.nakivo.com/blog/how-to-use-vmware-vapp-in-a-vsphere-environment-short-walkthrough/