精简共享GFS2块存储
精简配置通过在数据写入虚拟磁盘时为VDI分配磁盘存储空间,而不是预先分配VDI的整个虚拟空间,从而更好地利用可用的存储空间。精简配置使您能够显著减少共享存储阵列所需的空间量,从而降低总体拥有成本(TCO)。
共享块存储的精简配置在以下情况下特别有趣:
- 你想提高空间效率。图像是稀疏的,而不是厚分配的。
- 您希望减少存储阵列上每秒的I/O操作数。GFS2 SR是第一个支持共享块存储读缓存的SR类型。
- 您可以为多个虚拟机使用一个通用的基本映像。单个vm的映像通常会使用更少的空间。
- 你使用快照。每个快照都是一个图像,现在每个图像都是稀疏的。
- 您的存储不支持NFS,只支持块存储。如果您的存储支持NFS,我们建议您使用NFS而不是GFS2。
- 您需要创建大于2tib大小的vdi。GFS2 SR支持最大16tib的vdi。
共享GFS2类型将磁盘表示为在iSCSI或HBA LUN上创建的文件系统。存储在GFS2 SR上的vdi以QCOW2映像格式存储。
先决条件
在开始之前,请确保满足以下先决条件:
集群池中的所有Citrix Hypervisor服务器必须至少有2gib的控制域内存。
集群中的所有主机必须使用静态IP地址作为集群网络的IP地址。
我们建议仅在包含至少三个主机的池中使用集群,因为两个主机的池对整个池的自隔离很敏感。
- 如果池中的主机之间有防火墙,请确保主机可以通过以下端口在集群网络上通信:
- Tcp: 8892,21064
- Udp: 5404, 5405
有关更多信息,请参见Citrix技术使用的通信端口.
如果对现有池进行集群化,请确保禁用高可用性。启用集群后,可以重新启用高可用性。
- 资源池中的所有Citrix Hypervisor服务器都可以看到基于块的存储设备。
设置集群池以使用共享的GFS2 SR
使用GFS2共享存储时,Citrix Hypervisor的资源池必须为集群池。在创建GFS2 SR之前,在池上启用集群。
注意:
集群池的行为与非集群池不同。有关群集行为的详细信息,请参见集群池.
如果愿意,可以使用XenCenter在池上设置集群。有关更多信息,请参见XenCenter产品文档.
使用xe命令创建集群池。
创建一个绑定网络作为集群网络。在待设置为池主的Citrix Hypervisor服务器上,完成以下步骤。
在Citrix Hypervisor服务器上打开控制台。
使用以下命令命名资源池:
xe Pool -param-set name-label="新池" uuid=
使用如下命令创建绑定网卡使用的网络:
Xe network-create name-label=bond0
返回新网络的UUID。
使用以下命令查找要在绑定中使用的pif的uuid:
xe pif-list
创建bond网络时,可以选择双活模式、主备模式或LACP模式。根据您想要使用的绑定模式,完成以下操作之一:
配置为双活模式(缺省)时,使用
bond-create
命令创建绑定。使用“,”分隔参数,指定新创建的网络UUID和待绑定的pif的UUID。Xe bond-create network-uuid=
/ pif-uuid = , , , 绑定两个网卡时输入两个uuid,绑定四个网卡时输入四个uuid。执行该命令后,将返回绑定的UUID。
配置主备绑定模式和LACP绑定模式时,使用相同的语法,添加可选
模式
参数,并指定lacp
或主动式备用系统
:Xe bond-create network-uuid=
pif- uids= , / , , / mode=balance-slb | active-backup | lacp .创建bond-create network-uuid= pif-uuid =
在池主服务器上创建绑定网络之后,当您将其他Citrix Hypervisor服务器加入到池中时,网络和绑定信息会自动复制到加入服务器。
有关更多信息,请参见网络.
创建至少包含3台Citrix Hypervisor服务器的资源池。
在每个Citrix Hypervisor(非主)池成员服务器上重复以下步骤。
- 在Citrix Hypervisor服务器上打开控制台。
使用以下命令将Citrix Hypervisor服务器加入到master池的池中。
Xe pool-join master-address=master_address master-username=administrators_username master-password=password
的值
主地址
参数必须设置为作为池主节点的Citrix Hypervisor服务器的全限定域名。的密码
必须是安装池管理器时设置的管理员密码。
有关更多信息,请参见主机和资源池.
对于属于该网络的每个PIF,设置
disallow-unplug = true
.使用如下命令查找属于网络的pif的uuid:
xe pif-list
在资源池中的Citrix Hypervisor服务器上运行如下命令:
Xe pif-param-set disallow-unplug=true uuid=
在池上启用集群。在资源池中的Citrix Hypervisor服务器上运行如下命令:
Xe cluster-pool-create network-uuid=
提供您在前面的步骤中创建的绑定网络的UUID。
确保在集群池和GFS2 sr之间设置了存储多路径。有关更多信息,请参见存储多路径.
创建共享的GFS2 SR
您可以在iSCSI或HBA LUN上创建共享GFS2 SR。
使用iSCSI SR创建共享GFS2
通过XenCenter可以在iSCSI sr上创建GFS2。有关更多信息,请参见软件iSCSI存储请参见XenCenter产品文档。
您也可以使用xe命令行通过iSCSI SR创建GFS2。
GFS2 sr的设备配置参数:
参数名称 | 描述 | 需要吗? |
---|---|---|
提供者 |
块提供程序实现。在这种情况下,iscsi . |
是的 |
目标 |
所承载的iSCSI文件的IP地址或主机名 | 是的 |
targetIQN |
SR所在iSCSI文件的IQN目标器 | 是的 |
SCSIid |
设备SCSI ID | 是的 |
方法可以找到要用于这些参数的值xe sr-probe-ext
命令。
Xe sr-probe-ext type= host-uuid= device-config:= sm-config:=
运行如下命令:
Xe sr-probe-ext type=gfs2 device-config:provider=iscsi
该命令的输出提示您提供额外的参数,并在每个步骤中给出可能值的列表。
重复该命令,每次添加新的参数。
当命令输出以。开头时
发现了以下sr:
,你可以使用device-config
运行时指定的用于定位SR的参数xe sr-create
命令。
在集群池中的一台服务器上,为iSCSI目标器的指定LUN创建共享的GFS2 SR。
——share \ device-config:provider=iscsi device-config:targetIQN=target_iqns \ device-config:target=portal_address device-config:SCSIid=scsci_id . exe SR -create type=gfs2 name-label="Example gfs2 SR"——shared \ device-config:provider=iscsi device-config:targetIQN=target_iqns
如果在挂载GFS2文件系统时无法访问iSCSI目标,则集群池中的某些主机可能会隔离。
有关使用iSCSI sr的更多信息,请参见软件支持iSCSI.
通过HBA SR创建共享GFS2
通过xcenter可以创建基于HBA卡sr的GFS2。有关更多信息,请参见硬件HBA存储请参见XenCenter产品文档。
您也可以使用xe命令行通过HBA SR创建GFS2。
GFS2 sr的设备配置参数:
参数名称 | 描述 | 需要吗? |
---|---|---|
提供者 |
块提供程序实现。在这种情况下,hba . |
是的 |
SCSIid |
设备SCSI ID | 是的 |
可以找到用于SCSIid参数的值xe sr-probe-ext
命令。
Xe sr-probe-ext type= host-uuid= device-config:= sm-config:=
运行如下命令:
Xe sr-probe-ext type=gfs2 device-config:provider=hba
该命令的输出提示您提供额外的参数,并在每个步骤中给出可能值的列表。
重复该命令,每次添加新的参数。
当命令输出以。开头时
发现了以下sr:
,你可以使用device-config
运行时指定的用于定位SR的参数xe sr-create
命令。
在集群池中的一台服务器上,在HBA卡目标的指定LUN上创建共享的GFS2 SR。
——shared \ device-config:provider=hba device-config:SCSIid=device_scsi_id . exe SR -create type=gfs2 name-label="Example gfs2 SR"
有关使用HBA sr的更多信息,请参见硬件主机总线适配器.
约束
共享GFS2存储目前有以下限制:
与任何瘦配置SR一样,如果GFS2 SR的使用率增长到100%,vm的进一步写操作将失败。这些失败的写操作可能会导致VM内的故障或可能的数据损坏,或者两者兼而有之。
当SR使用率增长到80%时,XenCenter会显示一个警报。确保监控GFS2 SR是否有此警报,并在看到时采取适当的措施。在GFS2 SR上,高使用率会导致性能下降。我们建议您将SR使用率保持在80%以下。
不支持在GFS2 SR上的虚拟机进行存储热迁移。不支持将其他类型SR上的虚拟机迁移到GFS2 SR上。
GFS2 sr不支持FCoE协议。
在GFS2 sr上不支持Trim/unmap。
GFS2 sr不支持CHAP。
GFS2服务器不支持MCS完整克隆虚拟机。
不支持在同一个MCS目录中使用多个GFS2 sr。
性能指标不可用于GFS2 SRs和这些SRs上的磁盘。
存储在GFS2 sr上的vdi不支持更改块跟踪。
不能导出大于2tib的vdi为VHD或OVA/OVF。vdi大于2tib的虚拟机,支持以XVA格式导出。
我们不建议将精简LUN与GFS2一起使用。但是,如果选择这种配置,则必须确保LUN始终有足够的空间允许Citrix Hypervisor对其进行写操作。
- 集群池每个池最多只支持16台主机。
- 对于集群流量,必须使用至少使用两个不同网络交换机的绑定网络。请勿将本网络用于任何其他目的。
- 通过XenCenter修改集群网络的IP地址需要暂时关闭集群和GFS2。
- 当集群处于活动状态并且有正在运行的虚拟机时,不要更改集群网络的绑定。此操作可能导致集群隔离。
- 如果集群网络中存在IP地址冲突(多个主机具有相同的IP地址),并且至少有一个主机启用了集群,那么这些主机不会隔离。解决方法:解决IP地址冲突。