主机和资源池
本节介绍如何通过一系列使用xe命令行界面(CLI)的示例创建资源池。介绍了一种简单的基于NFS的共享存储配置,并讨论了几个简单的VM管理示例。它还包含处理物理节点故障的过程。
Citrix Hypervisor服务器和资源池概述
一种资源库包含多个Citrix Hypervisor服务器安装,绑定到一个可托管虚拟机的受管实体。如果与共享存储结合使用,则资源池可以在上启动虚拟机任何具有足够内存的Citrix Hypervisor服务器。然后,vm可以在Citrix Hypervisor服务器之间动态移动,同时运行,停机时间最少(实时迁移)。当单个Citrix Hypervisor服务器发生硬件故障时,管理员可以在同一个资源池中的另一个Citrix Hypervisor服务器上重启故障的虚拟机。开启资源池高可用性后,当虚拟机所在主机故障时,虚拟机会自动迁移到其他主机。每个资源池最多支持64个主机,但不强制执行此限制。
池始终至少有一个物理节点,称为主人. 只有主节点公开管理界面(由XenCenter和Citrix Hypervisor命令行界面使用,称为xe CLI)。主控根据需要将命令转发给各个成员。
注:
当池主服务器失败时,只有在启用高可用性时才会进行主服务器重选。
资源池的创建要求
资源池是一个或多个Citrix虚拟机监控程序服务器的同质(或具有限制的异构)聚合,最多64个。均质的定义是:
加入池的服务器上的CPU与池中已有服务器上的CPU相同(就供应商、型号和功能而言)。
加入池的服务器正在运行与池中已经存在的服务器相同版本的Citrix Hypervisor软件,使用相同的补丁级别。
将服务器加入池时,软件会强制执行额外的约束。特别是,Citrix虚拟机监控程序会检查加入池的服务器是否满足以下条件:
服务器不是现有资源池的成员。
服务器没有配置共享存储。
服务器未托管任何运行或暂停的VM。
服务器上的虚拟机没有正在进行的活动操作,如关闭虚拟机等。
服务器上的时钟被同步到与池主服务器相同的时间(例如,使用NTP)。
服务器管理接口未绑定。当服务器加入池成功时,可以配置管理接口。
管理IP地址是静态的,要么在服务器本身上配置,要么在DHCP服务器上使用适当的配置。
资源池中的Citrix虚拟机管理程序可以包含不同数量的物理网络接口,并具有不同大小的本地存储存储库。在实践中,通常难以获得具有完全相同的CPU的多个服务器,并且允许进行轻微的变体。如果可以使用具有不同CPU的主机作为同一池的一部分,您可以通过传递来强制池加入操作——力
参数
池中的所有主机必须在同一站点,并通过低时延网络连接。
注:
为池提供共享NFS或iSCSI存储的服务器必须具有静态IP地址。
池中必须包含共享存储库,才能选择虚拟机在哪个Citrix Hypervisor服务器上运行,以及在多个Citrix Hypervisor服务器之间动态移动虚拟机。如果可能,在共享存储可用后创建池。建议在添加共享存储后,将已有的磁盘位于本地存储的虚拟机迁移到共享存储。你可以使用xe vm-copy
命令或使用XenCenter移动虚拟机。
创建资源池
资源池支持通过XenCenter或CLI方式创建。当新主机加入资源池时,加入的主机会将其本地数据库与池范围的数据库同步,并从池中继承一些设置:
VM、本地和远程存储配置将添加到池范围的数据库中。此配置应用于池中的加入主机,除非在主机加入池后显式共享资源。
加入主机在池中继承现有的共享存储存储库。创建适当的PBD记录,以便新主机可以自动访问现有的共享存储。
连接信息部分继承给连接主机:结构网卡、vlan和绑定接口的详细信息都是继承的政策信息是没有的。此策略信息必须重新配置,包括:
管理网卡的IP地址,保留原配置。
管理接口的位置,与原配置保持一致。例如,如果池中其他主机在绑定接口上有管理接口,则加入的主机加入后需要迁移到绑定接口上。
专用存储NIC(必须从XenCenter或CLI重新分配给加入主机)和PBD,以相应地路由流量。这是因为IP地址没有作为池加入操作的一部分分配,并且存储NIC只有在正确配置后才能工作。有关如何从CLI专用存储NIC的更多信息,请参阅管理网络.
注:
只有当新主机的管理接口与资源池的VLAN在同一个tagged VLAN时,才能加入资源池。
使用CLI将Citrix Hypervisor服务器host1和host2加入资源池
在Citrix Hypervisor服务器上打开控制台host2.
命令Citrix Hypervisor服务器host2加入Citrix Hypervisor服务器上的池host1通过发出命令:
Xe pool-join master-address=host1 master-username=administrators_username master-password=password
这
主地址
必须设置为Citrix虚拟机管理程序服务器的完全限定域名host1.这暗语
Citrix HyperVisor服务器时必须是管理员密码设置host1是安装。
默认情况下,Citrix Hypervisor服务器属于一个未命名的池。要创建您的第一个资源池,请重命名现有的无名池。使用制表符完成查找pool_uuid
:
="New Pool" uuid=pool_uuid
创建异构资源池
Citrix Hypervisor允许将不同的主机硬件加入到资源池(称为异构资源池)中,从而简化了随时间扩展的部署。通过使用Intel(FlexMigration)和AMD(Extended Migration)CPU中提供CPU“屏蔽”或“均衡”的技术,异构资源池成为可能。CPU掩蔽和调平功能允许将CPU配置为出现因为它提供了与实际不同的产品、模型或功能。该特性使您能够创建具有不同cpu的主机池,但仍然能够安全地支持动态迁移。
注:
加入异构池的Citrix Hypervisor服务器的cpu必须与池中主机的cpu为同一厂商(AMD、Intel)的cpu。但是,不需要指定具体的类型(族、型号和步进数)。
Citrix虚拟机监控程序简化了对异构池的支持。现在可以将主机添加到现有资源池中,而不考虑底层CPU类型(只要CPU来自同一供应商系列)。每次动态计算池功能集时:
新主机加入池
池成员离开池
池成员在重新引导后重新连接
池功能集的任何更改都不会影响池中当前运行的VM。正在运行的VM继续使用启动时应用的功能集。此功能集在启动时固定并持续跨迁移,暂停和恢复操作。如果池级别在较少的主机加入池时,则可以将正在运行的VM迁移到池中的任何主机,但新添加的主机除外。将VM移动或迁移到池中或跨池中的其他主机时,Citrix HyperVisor将VM功能设置为与目标主机的功能集进行比较。如果发现要素集兼容,则允许VM迁移。这使得VM能够在池中自由移动,无论VM如何使用的CPU功能如何。如果使用Workload Balancing选择最佳目标主机以迁移VM,则不会向目标主机建议使用具有不兼容功能集的主机。
添加共享存储
有关支持的共享存储类型的完整列表,请参阅存储库格式. 本节介绍如何在现有NFS服务器上创建共享存储(表示为存储库)。
使用CLI将NFS共享存储添加到资源池中
在池中的任何Citrix Hypervisor服务器上打开控制台。
通过发出命令在server:/path上创建存储库
配置文件共享=true \ device-config:server=server \ device-config:serverpath=path
设备 - 配置:服务器
NFS服务器的主机名和device-config: serverpath
为NFS服务器上的路径。作为共享
设置为true时,共享存储将自动连接到池中的每个Citrix Hypervisor服务器。以后加入的任何Citrix虚拟机监控程序服务器也会连接到存储。存储库的通用唯一标识符(UUID)将打印在屏幕上。使用实例查询存储池的UUID。
xe池列表<--需要复制-->
使用命令将共享存储设置为池范围的默认值
default-SR=sr_uuid
随着共享存储的设置为池宽默认值,默认情况下,所有将来的VM都具有在共享存储上创建的磁盘。有关创建其他类型共享存储的信息,请参阅存储库格式.
将Citrix Hypervisor服务器从资源池中移除
注:
从池中移除Citrix Hypervisor服务器前,请确保已关闭该主机上的所有虚拟机。否则,会出现无法移除主机的警告。
当你移除(喷射),该机器将重新启动,重新初始化,并保持类似于新安装的状态。如果本地磁盘上有重要数据,请勿将Citrix Hypervisor服务器从池中弹出。
使用CLI从资源池中删除主机
在池中的任何主机上打开控制台。
通过运行命令查找主机的UUID
xe主机列表< !——NeedCopy >
从池中弹出所需的主机:
Xe pool-eject host-uuid=host_uuid
Citrix虚拟机管理程序服务器被弹出并留在新安装状态。
警告:
做不当主机本地磁盘上存在重要数据时,将主机从资源池中退出。当从池中弹出一个主机时,所有的数据都会被擦除。如果需要保留该数据,可通过XenCenter将虚拟机拷贝到共享存储池中,或通过
xe vm-copy
CLI命令。
当包含本地存储的VM的Citrix虚拟机管理程序从池中弹出时,VM将存在于池数据库中。本地存储的VM也可以对其他Citrix虚拟机管理程序服务器可见。VM不会启动,直到与池中的其他Citrix管理程序服务器看到的共享存储器已更改为指向的虚拟磁盘,或者已删除。因此,我们建议您在加入池时将任何本地存储移动到共享存储。移动到共享存储允许将单个Citrix虚拟机管理程序弹出(或物理故障)而不会丢失数据。
注:
当主机从池中删除时(该主机的管理接口位于带标记的VLAN网络上),该机器将重新启动,其管理接口将在同一网络上可用。
准备Citrix虚拟机监控程序服务器池以进行维护
在对资源池中的主机进行维护操作前,必须将资源池中的主机关闭。禁用该主机,将导致主机上的虚拟机无法启动。然后将其虚拟机迁移到池中的其他Citrix Hypervisor服务器上。您可以通过使用XenCenter将Citrix Hypervisor服务器置于维护模式来实现这一点。有关更多信息,请参阅在维护模式下运行在XenCenter文档中。
备份同步每24小时进行一次。将主主机置于维护模式会导致脱机虚拟机丢失最近24小时的RRD更新。
警告:
我们强烈建议在安装更新之前重新启动所有Citrix Hypervisor服务器,然后验证它们的配置。有些配置更改只有在重新启动Citrix Hypervisor时才生效,因此重新启动可能会发现配置问题,从而导致更新失败。
该操作指导管理员通过命令行,在池中准备一台主机进行维护操作
执行如下命令:
xe host-disable uuid=Citrix Hypervisor_host_uuid xe host-evacuate uuid=Citrix Hypervisor_host_uuid
该命令将禁用Citrix Hypervisor服务器,然后将运行中的虚拟机迁移到池中的其他Citrix Hypervisor服务器上。
执行相应的维护操作。
待维护操作完成后启用Citrix Hypervisor服务器:
xe host-enable < !——NeedCopy >
重启所有已停止的虚拟机并恢复所有挂起的虚拟机。
导出资源池数据
“导出资源数据”选项允许您为池生成资源数据报告,并将报告导出到.xls或.csv文件中。此报表提供有关池中各种资源的详细信息,如服务器、网络、存储、虚拟机、VDI和GPU。此功能使管理员能够根据各种工作负载(如CPU、存储和网络)跟踪、规划和分配资源。
注:
“导出资源池数据”可用于Citrix Hypervisor高级版客户,或通过Citrix虚拟应用程序和桌面授权访问Citrix Hypervisor的客户。
报告中包括的资源列表和各种类型的资源数据:
服务器:
- 的名字
- 池的主人
- UUID
- 地址
- CPU使用率
- 网络(avg / max KBs)
- 已用内存
- 存储
- 正常运行时间
- 描述
网络:
- 的名字
- 链接状态
- MAC
- MTU
- VLAN
- 类型
- 地方
VDI:
- 的名字
- 类型
- UUID
- 尺寸
- 存储
- 描述
存储:
- 的名字
- 类型
- UUID
- 尺寸
- 地方
- 描述
虚拟机:
- 的名字
- 电源状态
- 继续
- 地址
- MAC
- NIC
- 操作系统
- 存储
- 已用内存
- CPU使用率
- UUID
- 正常运行时间
- 模板
- 描述
GPU:
- 的名字
- 服务器
- PCI总线的路径
- UUID
- 用电
- 温度
- 已用内存
- 计算机利用
注:
只有当您的Citrix Hypervisor服务器上连接了GPU时,有关GPU的信息才可用。
导出资源数据的步骤
2 .在“XenCenter导航”区域框中,选择基础设施然后选择池子。
选择水池菜单,然后出口资源数据.
浏览到您想要保存报告的位置,然后单击保存.
主机上电
远程向主机供电
您可以使用Citrix HyperViusor Server Power on Feature来远程旋转服务器,或者使用CLI旋转。
主机需要具备以下电源控制方案才能使主机通电:
在启用了局域网的网卡上唤醒.
戴尔远程访问卡(DRAC).要使用带有DRAC的Citrix Hypervisor,必须安装Dell补充包以获得DRAC支持。DRAC支持需要在服务器上安装带有远程访问控制器的RACADM命令行实用程序,并启用DRAC及其接口。RACADM通常包含在DRAC管理软件中。有关更多信息,请参阅戴尔的DRAC文档。
一个基于管理API的自定义脚本,允许您通过Citrix Hypervisor打开和关闭电源。有关更多信息,请参阅配置主机上电特性的自定义脚本在下一节中。
使用主机上电特性需要完成两个任务:
确保池中的主机支持远程电源控制。例如,他们有局域网唤醒功能或DRAC卡,或者你已经创建了一个自定义脚本)。
通过命令行或XenCenter开启主机上电功能。
使用CLI管理主机电源
主机上电特性可以通过CLI和XenCenter两种方式进行管理。介绍通过命令行管理系统的相关信息。
“主机上电”在主机级别(即每个Citrix Hypervisor)启用。
启用“主机上电”后,可以通过命令行或XenCenter为主机上电。
通过CLI命令行,使主机上电
运行以下命令:
\ power-on-mode=(""," wake-on-lan", "DRAC","custom") \ power-on-config=key:value
对于DRAC来说,关键是power_on_ip
如果使用保密功能,请指定密码。有关详细信息,请参阅秘密.
通过命令行远程打开主机
运行以下命令:
XE主机 - 上电host = <! - caltcopy - >
为主机开机功能配置自定义脚本
如果服务器的远程电源解决方案使用默认不支持的协议(例如Wake-On-Ring或Intel Active Management Technology),则可以创建一个定制的Linux Python脚本来远程打开Citrix Hypervisor计算机。不过,您也可以为LAN远程电源解决方案上的DRAC和Wake创建自定义脚本。
本节提供有关使用与Citrix Hypervisor API调用关联的键/值对为主机上电配置自定义脚本的信息host.power_on
.
创建自定义脚本时,每次要在Citrix Hypervisor上远程控制电源时,都要从命令行运行该脚本。或者,您可以在XenCenter中指定它,并使用XenCenter UI功能与之交互。
Citrix Hypervisor API在文档中有文档说明,Citrix Hypervisor管理API,可以从开发人员文档的网站。
警告:
不要更改中默认提供的脚本
/etc/xapi.d/plugins/
目录中。您可以在此目录中包含新的脚本,但在安装后,您必须永远不要更改该目录中包含的脚本。
键/值对
要使用主机电源,请配置host.power_on_mode
和host.power_on_config
钥匙。有关这些值的信息,请参见以下部分。
还有一个API调用可以让你同时设置这些字段:
无效的主机。set_host_power_on_mode(string mode, Dictionary config)
host.power_on_mode
释义:包含用于指定远程电源解决方案类型的键/值对(例如,Dell DRAC)。
可能的值:
空字符串,表示电源控制已禁用
“DRAC”:让你指定戴尔DRAC。要使用DRAC,您必须已经安装了Dell补充包。
“局域网唤醒”:指定局域网唤醒。
任何其他名称(用于指定自定义开机脚本)。此选项用于指定电源管理的自定义脚本。
类型:字符串
host.power_on_config
释义:包含用于模式配置的键/值对。提供DRAC的附加信息。
可能的值:
如果您将DRAC配置为远程电源解决方案的类型,还必须指定以下密钥之一:
“power_on_ip”:指定的ip地址,配置为与电源控制卡通信。或者,您可以键入配置DRAC的网络接口的域名。
“power_on_user”:与管理处理器关联的DRAC用户名,您可能已从其出厂默认设置更改了该名称。
“power_on_password_secret”:指定使用secrets特性来保护密码。
要使用secrets特性存储密码,请指定密钥“power_on_password_secret”。有关更多信息,请参阅秘密.
类型:映射(字符串,字符串)
样本脚本
示例脚本导入Citrix Hypervisor API,将自身定义为自定义脚本,然后将特定于希望远程控制的主机的参数传递给主机。必须定义参数会话
在所有自定义脚本中。
当脚本不成功时,将显示结果。
导入xenapi def自定义(会话,remote_host,power_on_config):power_on_config.keys():结果=结果+''键+''+''+ power_on_config [key]]返回结果<! - caltcopy - >
注:
创建脚本后,将其保存在/etc/xapi中扩展名为.py的D /插件。
与Citrix Hypervisor服务器和资源池通信
TLS
Citrix Hypervisor使用TLS 1.2协议加密管理API流量。Citrix虚拟机监控程序和管理API客户端(或设备)之间的任何通信都使用TLS 1.2协议。
Citrix虚拟机监控程序使用以下密码套件:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_与_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
重要:
我们不支持客户修改产品的加密功能。
SSH
当使用SSH客户端直接连接Citrix Hypervisor服务器时,可以使用以下算法:
密码:
- 查查20-poly1305@openssh.com
- AES128-CTR.
- AES192-CTR.
- aes256-ctr
- aes128-gcm@openssh.com
- aes256-gcm@openssh.com
- aes128 cbc
- aes192-cbc
- aes256-cbc
mac:
- 用户hmac - sha2 - 256 etm@openssh.com
- 用户hmac - sha2 - 512 etm@openssh.com
- hmac-sha1-etm@openssh.com
- 用户hmac - sha2 - 256
- HMAC-SHA2-512.
- hmac-sha1
KexAlgorithms:
- 曲线25519-sha256
- 曲线25519-sha256@libssh.org
- ECDH-SHA2-NISTP256
- ECDH-SHA2-NISTP384
- ecdh-sha2-nistp521
- diffie-hellman-group-exchange-sha256
- diffie-hellman-group14-sha1
hostkeyalgorithms:
- ecdsa-sha2-nistp256-cert-v01@openssh.com
- ecdsa-sha2-nistp384-cert-v01@openssh.com
- Ecdsa-sha2-nistp521-cert-v01@openssh.com.
- ssh-ed25519-cert-v01@openssh.com
- ssh-rsa-cert-v01@openssh.com
- ecdsa-sha2-nistp256
- ecdsa-sha2-nistp384
- ecdsa-sha2-nistp521
- ssh-ed25519
- 将
注:
要将可用的密码套件仅限于上面列表中的密码套件,请确保安装修复XS82E015 -适用于Citrix Hypervisor 8.2.
如果要禁用对Citrix Hypervisor服务器的SSH访问,可以在xsconsole
.
- 从XenCenter打开服务器控制台,以
根
. - 类型
xsconsole
. 在
xsconsole
,去远程服务配置>启用/禁用远程Shell.控制台显示是否启用远程shell。
- 要更改远程shell是否已启用或禁用,请按输入.
重要:
我们不支持客户修改产品的加密功能。
在服务器上安装TLS证书
Citrix Hypervisor服务器安装了默认的TLS证书。但是,要使用HTTPS来确保Citrix Hypervisor与Citrix Virtual Apps和desktop之间的通信安全,请安装由受信任的证书颁发机构提供的证书。
介绍通过xe命令行安装证书的操作步骤。有关使用XenCenter使用证书的信息,请参见XenCenter文档.
请确保您的TLS证书及其密钥满足以下要求:
- 证书和密钥对均为RSA密钥
- 密钥与证书匹配
- 密钥在一个单独的文件中提供给证书
- 该证书在一个单独的文件中提供给任何中间证书
- 密钥文件必须是以下类型之一:
佩姆先生
或。key
- 任何证书文件必须是以下类型之一:
佩姆先生
那. c
,或.crt
- 密钥长度大于等于2048位且小于等于4096位
- 该密钥是一个未加密的pkcs# 8密钥,并且没有密钥
- 密钥和证书是base-64编码的' PEM '格式
- 证书有效且未过期
- 签名算法为SHA-2 (SHA256)。
当您选择的证书和密钥不满足这些要求时,xe CLI会发出警告。
您可能已经有了要安装在Citrix Hypervisor服务器上的受信任证书。但是,您可以在服务器上创建证书并将其发送给证书颁发机构进行签名。此方法更安全,因为私钥可以保留在Citrix Hypervisor服务器上,而不会在系统之间复制。
首先,生成私钥和证书签名请求。在Citrix虚拟机监控程序服务器上,完成以下步骤:
使用实例创建私钥文件。
openssl genrsa-des3-out privatekey.pem 2048<--需要复制-->
从密钥中删除密码:
Openssl rsa -in privatekey。privatekey.nop.pem
使用私钥创建证书签名请求:
openssl请求-新建-密钥privatekey.nop.pem-输出csr<--需要复制-->
按照提示提供生成证书签名请求所需的信息。
- 国家的名字. 输入您所在国家/地区的TLS证书国家/地区代码。例如,加拿大为CA,牙买加为JM。您可以在web上找到TLS证书国家/地区代码列表。
- 名称(全称).输入池所在的州或省。例如,马萨诸塞州或阿尔伯塔省。
- 地方的名字. 游泳池所在城市的名称。
- 组织名称.您的公司或组织的名称。
- 组织单位名称.输入部门名称。该字段为可选字段。
- 普通的名字.输入您的Citrix Hypervisor服务器的FQDN。Citrix建议指定一个未过期的FQDN或IP地址。
- 电子邮件地址.当您生成证书时,此电子邮件地址包含在证书中。
证书签名请求保存在当前目录中并命名
企业社会责任
.在控制台窗口中运行以下命令显示证书签名请求:
猫csr < !——NeedCopy >
复制整个证书签名请求,并使用此信息向证书颁发机构请求证书。
证书颁发机构响应证书签名请求后,请完成以下步骤在您的Citrix Hypervisor服务器上安装证书:
- 下载已签名的证书、根证书,如果证书颁发机构有根证书,则从证书颁发机构下载中间证书。
- 将密钥和证书复制到Citrix虚拟机监控程序服务器。
在服务器端执行如下命令:
Xe host-server-certificate-install certificate=
private-key= certificate-chain= . exe 这
证书链
参数是可选的。
为提高安全性,可在证书安装完成后删除私钥文件。
旋转水池秘密
池机密是池中的服务器之间共享的机密,使服务器能够证明其在池中的成员身份。具有池管理员角色的用户可以在通过SSH连接到服务器时查看此机密。如果其中一个用户离开您的组织或失去其池管理员角色,则轮换池机密。
您可以使用xencenter旋转池秘密。有关更多信息,请参阅池安全
您还可以使用xe CLI来旋转池秘密。在池中的服务器上执行以下命令:
xe池秘密旋转<--需要复制-->
对您的Citrix Hypervisor池启用IGMP snooping功能
Citrix Hypervisor向所有客户虚拟机发送多播流量,要求主机设备处理未请求的数据包,从而导致主机设备上不必要的负载。开启IGMP snooping功能可以防止本地网络中的主机接收到未明确加入组播组的流量,提高组播的性能。IGMP snooping在带宽密集的IP组播应用(如IPTV)中特别有用。
可通过XenCenter或命令行方式开启池IGMP snooping功能。如果需要使用XenCenter开启IGMP snooping功能,请跳转到池属性并选择网络选项.xe命令请参见pool-igmp-snooping
.
笔记:
仅当网络后端使用Open vSwitch时,才支持IGMP snooping功能。
在池上启用此功能时,可能还需要在一个物理交换机上启用IGMP查询器。否则,子网中的多播将退回到广播,并可能降低Citrix虚拟机监控程序的性能。
在运行IGMP V3的池中启用此功能时,VM迁移或网络绑定故障转移会导致IGMP版本切换到V2。
在GRE网络中启用该功能需要在GRE网络中建立IGMP查询器。也可以将物理网络中的IGMP查询消息转发到GRE网络中。否则,GRE网络中的组播流量会被阻塞。