在本次博客中,主要介绍一些XenServer 6.1的高级功能,XenMotion动态迁移虚拟机和HA高可用性,这两个重要功能都是保障虚拟机最大限度的正常运行,保证虚拟机在出现硬件问题时能快速迁移,保护存储数据。但是在使用这两个功能时,需要使用Workload Balancing和共享存储。
一、Workload Balancing
二、XenMotion简介
三、非共享存储使用XenMotion迁移
四、添加共享存储
五、共享存储使用XenMotion迁移
六、Citrix Xenserver高可用性HA
下面就来详细的介绍下功能。
一、Workload Balancing
虚拟机运行期间,将在物理主机上占用计算资源,例如 CPU、内存、网络、磁盘等。例如,与同一主机上的其他虚拟机相比,有些虚拟机占用的 CPU 资源可能更多,具体取决于其工作负载(即虚拟机上运行的应用程序及其用户事务)。当然,主机上所有虚拟机的合并资源占用量会使主机的可用资源减少。
在Citrix XenServer 企业版或更高版本中提供工作负载功能,Workload Balancing负责动态工作负载平衡,通过它可以将虚拟机重定位到资源池中最适合其工作负载的服务器,从而实现池的负载平衡。Workload Balancing 是以虚拟设备形式打包的 XenServer 组件,可用于创建关于 XenServer 环境中虚拟机性能的报告,评估资源利用情况,并根据工作负载将虚拟机放置在池中最合适的主机上。
Workload Balancing 是一种 XenServer 设备,是 Citrix 提供的一种基于 Linux 的虚拟机,Workload Balancing 可以根据选择的优先顺序自动完成虚拟机均衡负载任务,或者提示您接受其优化、合并和放置建议。您还可以将 Workload Balancing 配置为在使用率低的时间段自动关闭主机(例如在夜间关闭主机以节能)。 Workload Balancing 将评估虚拟机工作负载在池中的利用率,当某个主机达到一项阈值时,会将虚拟机重定位到该池中的其他主机。
为确保重新平衡和放置建议能够满足环境的需求,您可以将 Workload Balancing 配置为根据资源性能优化工作负载,或者配置为实现密度最大化。可以将这些优化模式配置为在预定义的时间自动切换,或者始终保持不变。为提高精细程度,您可以调整各个资源指标(CPU、网络、内存和磁盘)的权重。Workload Balancing 会捕获虚拟机和物理主机上资源性能的数据,并将这些数据存储在数据库中。Workload Balancing 将这些数据与您设置的首选项相结合,用以提供优化和放置建议。优化是一种根据目标“改善”主机的方式:Workload Balancing 将就虚拟机在池中各主机之间的重新分布提出建议,以提高性能或密度。Workload Balancing 提出建议时,将以其最终的目标(在池中各主机之间实现平衡或协调)为出发点。Workload Balancing 实施这些建议的过程称为优化
1、菜单栏中,依次单击“文件”>“导入…”命令
2、选择要运行 Workload Balancing 虚拟设备的池或主服务器。如果选择池,VM 将自动在该池中最适合的主机上启动。如果不打算使用 WorkloadBalancing 管理 Workload Balancing虚拟设备,可能需要为 WorkloadBalancing 虚拟设备指定主服务器,以便虚拟设备始终在同一个主机上启动。
3、选择用于存储 Workload Balancing 虚拟设备的虚拟磁盘的存储库。此存储库必须至少有 4 GB 可用空间。
4、Workload Balancing 虚拟设备定义虚拟接口。在此版本中,Workload Balancing 设计为通过单个虚拟接口通信。选择能够访问 Workload Balancing所管理的池的网络。
5、将“导入后启动 VM” 复选框选中,然后单击“完成”按钮导入该虚拟设备。在完成 Workload Balancing .xva文件的导入之后,Workload Balancing虚拟设备将启动,单击“控制台”选项卡,输入yes进行设置。
6、为 Workload Balancing 虚拟机输入新的root 用户密码并进行确认。
7、输入要分配给 Workload Balancing 虚拟设备的计算机名称。
8、输入该虚拟设备的域名 DNS 服务器。Workload Balancing 虚拟设备不会自动将其 FQDN 添加到域名系统 (DNS) 服务器。因此,如果您希望池使用 FQDN 连接到 Workload Balancing,则必须手动将该 FQDN 添加到 DNS 服务器。
9、如果使用固定IP地址,则在输入要n后,输入该虚拟机的静态 IP地址、子网掩码和网关。
10、此时会询问这些设置是否更改,输入Y,之后Workload Balancing 虚拟设备会重启网卡。
11、输入 Workload Balancing 数据库的用户名,或者按 Enter 键以使用数据库帐户的默认用户名 (postgres)。此时将针对 Workload Balancing 数据库创建一个帐户。Workload Balancing 服务使用该帐户对 Workload Balancing 数据库进行读/写操作
12、输入 Workload Balancing 数据库的密码。在按 Enter 键之后,会显示一些消息,指出配置向导正在加载数据库对象。
13、输入 Workload Balancing 服务器的用户名和密码。这样,将会创建 XenServer 用来连接Workload Balancing的用户名和密码。默认用户名为 wlbuser。输入 Workload Balancing 服务器的端口。这是 Workload Balancing 服务器用来进行通信的端口。默认情况下,Workload Balancing 服务器使用 8012 端口。如果在此处更改该端口,则在将池连接到 Workload Balancing 时必须指定新端口号(例如,在连接 WLB 服务器对话框中指定端口)。按 Enter 键之后,Workload Balancing 将继续进行虚拟设备配置,包括创建自签名证书。
14、选择资源池的WLB选项卡,在WLB 选项卡上将显示连接按钮
15、在 WLB 选项卡中,单击连接。此时将显示连接 WLB 服务器对话框。在地址框中,键入 Workload Balancing 虚拟设备的 IP 地址或 FQDN。如果在 Workload Balancing 配置期间更改了 Workload Balancing 端口,请在端口框中输入新端口号。XenServer 使用此端口与 Workload Balancing 通信。在 WLB 服务器凭据部分中,输入 XenServer 池(主服务器)将用来连接 Workload Balancing 虚拟设备的用户名和密码。在 XenServer 凭据部分中,输入所配置池的用户名和密码(通常为池主服务器的密码)。WorkloadBalancing 将使用这些凭据连接池中的主机。要使用当前登录 XenServer 所使用的凭据,请选中使用当前 XenCenter 凭据复选框。如果您已使用基于角色的访问控制 (RBAC) 功能为此帐户分配了角色,应确保该角色有足够的权限来配置Workload Balancing。
16、在将池连接到 Workload Balancing 虚拟设备之后,Workload Balancing 会自动开始以默认的优化设置监视池。如果希望修改这些设置或者更改分配给特定资源的优先级,则在执行这些操作之前至少等待 60 秒(直到 XenCenter 日志显示已完成发现过程)。
17、在优化模式中选择密度最大化和性能最大化模式,性能最大化是默认选项,Workload Balancing 尝试在一个资源池中的所有物理主机之间平均分布工作负载。目标是最大程度地减小所有主机上的 CPU、内存和网络压力。如果选择性能最大化放置策略,Workload Balancing 将在某个虚拟机达到高阈值时提出优化建议。 密度最大化是Workload Balancing 尝试在一台物理主机上启动尽可能多的虚拟机。目标是最大限度地减少需要联机的物理主机数量。
二、XenMotion简介
XenMotion 是 XenServer 的一项功能,能够将正在运行的虚拟机从一台 XenServer 主机上迁移到另外一台主机,而不会有停机的危险。在启用了 Workload Balancing (WLB) 的池中,该功能会提供一些建议来帮助选择可能最适合 VM 工作负载的物理服务器。这就意味着在整个迁移过程中,被移动的虚拟机在任意时刻都可以访问。XenMotion 的主要目的是在某台服务器进行计划维修时,使终端用户觉察不到应用程序出现过极短暂的中断,令整个服务过程正常顺畅。XenMotion并不仅仅在服务器出现故障或无法正常工作的情况下才进行迁移。当服务器超负荷的时候,XenMotion就会将一部分的操作系统,包括上面正在运行的应用程序原封不动地迁移到候补服务器上。因此,XenMotion能够合理地分配Resource Pool中XenServer的工作量,大大提高了资源利用率和工作效率
三、非共享存储使用XenMotion迁移
VDI实时迁移功能,可在Citrix XenServer企业版或更高版本。即时VDI迁移允许管理员重新定位,而无需关闭虚拟机的虚拟磁盘映像(VDI)虚拟机。即时VDI迁移必须有足够的可用磁盘空间上的目标资料库。如果VDI的本地磁盘在StorageLink(ISL)上,则SR不能被迁移。 VDI的多个快照不能迁移。如果是采用IPv6的Linux的虚拟机,则内核版本需要大于3.0。
1、在资源窗格中,选择SR是目前存储虚拟磁盘,然后单击“存储”选项卡。在虚拟磁盘“列表中,选择你想移动的虚拟磁盘,然后单击”移动“。
2、在移动虚拟磁盘“对话框中,选择你想移动的VDI的目标SR。
四、添加共享存储
存储管理是Citrix Xenserver 6.1的基本功能,这里的存储简单来说就是存放虚拟机文件的数据空间,在Citrix Xenserver 6.1中,如果没有存储的支持,那么整个虚拟化平台只不过是装了许多操作系统的服务器,没有实质的意义。存储在Citrix Xenserver 6.1中起到重要作用,Xenserver6.1支持添加多种形式的存储,包括:
1.存储库 (SR)
XenServer 定义了一个称为存储库 (SR) 的容器,用来描述存储虚拟磁盘映像 (VDI) 的特定存储目标,存储库 (SR) 是用来存储虚拟磁盘的存储容器。是包含虚拟磁盘映像 (VDI) 的存储目标。它是一个存在于磁盘上的永久性数据结构。对于使用基本块设备的 SR 类型,创建新 SR 的过程包括清除指定存储目标上的所有现有数据。对于其他存储类型(如 NFS、Netapp、Equallogic 和StorageLink SR),则会在与现有 SR 平行的存储阵列上创建一个新容器。SR 命令提供用于创建、销毁、克隆、连接、查找它们所包含的各个 VDI 及调整这些 VDI 大小的操作。
2.虚拟磁盘映像 (VDI)
虚拟磁盘映像是显示给 VM 的存储抽象。VDI 是 XenServer 中的虚拟化存储的基本单元。与 SR 类似,存储库和虚拟磁盘都是磁盘上独立于 XenServer 而存在的持久对象。SR 可以在资源池中的各服务器之间共享,可以存在于不同类型的内部和外部物理存储设备(包括本地磁盘设备和共享网络存储)上。使用新建存储库向导创建新的存储库时,可以使用许多不同的存储类型。根据所选择的存储类型,可以在 XenCenter 中配置许多高级存储功能
3.物理块设备 (PBD)
物理块设备代表物理服务器与连接的 SR 之间的接口。PBD 是连接器对象,允许将指定的 SR 映射到XenServer 主机。PBD 存储一些设备配置字段,用于与指定的存储目标进行连接和交互。例如,NFS设备配置包括 NFS 服务器的 IP 地址以及 XenServer 主机装载的关联路径。PBD 对象管理指定 SR 与指定 XenServer 主机之间的运行时连接。
4.虚拟块设备 (VBD)
虚拟块设备是连接器对象(与上述 PBD 类似),可用于在 VDI 与 VM 之间进行映射。除了用于将 VDI连接到(也称为插入)VM 外,VBD 还可用于调整指定 VDI 的 QoS(服务质量)、统计数据和可引导性等相关参数。
配置服务器或池时,可以指定用来存储故障转储数据和已挂起 VM 映像的默认 SR,该 SR 将用作新虚拟磁盘的默认 SR。在池级别,默认 SR 必须是共享 SR。在资源池中创建的任何新虚拟磁盘、故障转储文件或已挂起 VM 映像都将存储在池的默认 SR 中,从而提供了一种物理服务器故障恢复机制。对于独立服务器,默认 SR 可以是本地 SR,也可以是共享 SR。在独立服务器中添加共享存储时,共享存储将自动成为该服务器的默认SR。在XenServer中,基本的存储库(SR)、物理块设备、虚拟磁盘映像、虚拟块设备之间的关系
1、接下来我们就采用最常见的添加外置存储iSCSI。在配置软件iSCSI之前,要进行网络的设置,在池网络中新添加网卡或绑定网卡,然后为网卡设置管理接口,为网卡配置好IP地址。之后打开新建存储库向导配置软件iSCSI。
2、选择软件 iSCSI 作为物理存储类型,然后单击“下一步”按钮。
3、择软件 iSCSI 作为物理存储类型,然后单击“下一步”按钮。在名称页面上,输入新 SR 的名称。默认情况下,向导将为该 SR 自动生成一个说明。单击下一步继续操作。
4、在位置页面上,指定 iSCSI 存储目标的详细信息,输入iSCSI 目标的 IP 地址或 DNS 名称,如果 iSCSI 目标配置为使用 CHAP 身份验证方式,请选中“使用 CHAP ”复选框并填写用户名和密码,要指定 iSCSI 目标 IQN,请单击“检测 IQN” 按钮,然后从目标 IQN 列表中选择 IQN。 iSCSI 目标和池中的所有服务器不得设置相同的 IQN。每个 iSCSI 目标和发起程序必须具有唯一的 IQN。如果使用不唯一的 IQN 标识符,则数据会遭到破坏,并且/或者对目标的访问可能遭到拒绝。指定将创建存储库的 LUN,请单击“检测 LUN” 按钮,然后从目标 LUN 列表中选择 LUN。
5、每个 iSCSI 存储库必须整个位于单个逻辑单元号上,不能跨多个 LUN。如果该 LUN 已经包含一个 SR,可以使用现有 SR,也可以用新的 SR 替换现有 SR(这样做会销毁磁盘上的所有数据)。
6、等待格式化磁盘后,会在左边显示添加的iSCSI虚拟磁盘存储。
五、共享存储使用XenMotion迁移
在要为XenServer中使用XenMotion,就必须满足XenMotion的条件。从物理服务器上看, XenServer中的处理器必须具有相同的类型,所有服务器上的所有 CPU最好都来自同一家 CPU 供应商(Intel 或 AMD),其次是相同型号,再次是相同的Feature Flags。 对于不同的型号的CPU,就不能加入到同一个Resource Pool,不能实现XenMotion。具体而言,就是不能混用 AMD-V 和 Intel VT CPU。所有 CPU 必须具有相同的功能集。要在同一个池中加入具有不同 CPU 的服务器,可以通过 CPU 屏蔽来隐藏不兼容的功能。资源池中至少要有两台XenServer Enterprise版本或者更高版本的服务器处于运转状态。如果使用异类池,使用 CPU 屏蔽时,仅公开资源池中所有处理器都支持的功能,使 VM 可以在处理器功能可能不同的服务器之间安全地实现实时迁移。虚拟机必须存储在远程共享的存储器中。比如与基于网络文件系统 (Network File System,NFS)或者iSCSI(通过iSCSI启动软件)的存储器相连接。
1、确保虚拟机是运行在共享存储里。
2、点击要迁移的虚拟机,选择迁移。
3、选择迁移后,在迁移的虚拟机会变成×××,但是虚拟机不中断,不重启。
4、经过一段时间后,虚拟机成功迁移到xenserver02上面。
六、Citrix Xenserver高可用性HA
XenServer 高可用×××允许在基础硬件出现故障或任何托管服务器丢失时自动重新启动虚拟机。高可用×××可以确保重要的 VM 始终在资源池中运行。启用高可用性后,XenServer 将持续监视池中主机的运行状况。如果当前 VM 主机发生故障,高可用性机制会自动将受保护的 VM 移动到一台运行状况良好的主机上。此外,如果发生故障的主机是主服务器,高可用性会自动选择另一台主机来接管主服务器的角色,以便能够继续管理 XenServer 池。Citrix 建议仅对至少包含 3 个 XenServer 主机的池启用高可用性。如果池中没有足够的可用内存来运行这些出现故障的 VM,即会发生使用过量的情况
Citrix 建议您仅对至少包含 3 个 XenServer 主机的池启用高可用性。如果在池中两个主机之间的检测信号丢失时高可用×××将收到响应,高可用性必须要有共享存储,其中包含至少一个大小为 356 MB 或更大的iSCSI存储或光纤通道的LUN来检测信号。高可用×××机制在检测信号 SR 中创建两个卷,4 MB 检测信号卷用于检测信号。256 MB 元数据卷,存储池的主服务器元数据,以便在主服务器故障迁移时使用。为最大程度提高可靠性,Citrix 强烈建议使用专用的 iSCSI 存储库作为高可用×××检测信号磁盘,该磁盘不得用于任何其他用途。如果使用的是 NetApp 或 EqualLogic SR,请在阵列中手动置备 iSCSI LUN 作为检测信号 SR 使用。并且所有的Citrix XenServer主机必须是高级版或更高版本中提供的 XenServer 高可用×××。
1、高可用性向导将引导您逐步完成高可用性配置过程,根据可用资源和您指定的高可用性重启优先级计算池的服务器故障限制,在Xenserver对话框中,单击“配置高可用性”按钮。
2、打开配置高可用性向导,在向导第一页上单击下一步,以通过扫描该池查找可用作该池检测信号 SR 的共享 iSCSI、光纤通道或 NFS LUN。如果未找到合适的 SR,需要先配置一个适当的新存储才能继续操作。
3、从高可用性计划页面上的列表中,选择一个或多个 VM 并设置所需的 VM 启动设置。可以设置此高可用性计划中允许的服务器故障数。此值应小于或等于池的最大故障容量(此处表示为最大值)。 如果最大值为 0(零),则池被过度使用,除非调整高可用性重启优先级或者在池中提供更多的资源,否则将无法继续进入该向导的下一个界面,完成高可用性计划的配置后,单击“下一步”按钮
4、在该向导的最后一个界面上,检查高可用性配置设置。若有问题,则可通过单击“后退”按钮返回并更改任何设置;若没问题,则单击“完成”按钮启用高可用性并关闭该向导。
5、高可用被启动后,会在高可用性选项卡中显示每个服务器和共享存储的信息。