GlusterFS配置

ARM架构主机暂不支持GlusterFS配置。

GlusterFS分布式文件系统的物理存储资源并不直接与本地节点相连,而是分布于计算网络中的一个或多个节点上。GlusterFS具有强大的扩展能力、高可用性和超高的性能,并且其没有元数据服务器的设计,使其不存在单点故障的隐患。

GlusterFS集群中,主机可作为存储节点或业务节点。集群中必须包含存储节点且需满足数量要求,业务节点可根据实际情况添加。

使用场景

在教育场景中,学校通常有大量班级与教室,会频繁进行大量上下课操作,因此对系统的性能要求较高,需要多主机组成集群以满足性能要求。集群通过使用GlusterFS分布式存储进行教学镜像、桌面虚拟机等文件的存储,满足了集群对文件存储性能的要求。

注意事项

计算虚拟化双机热备场景下,若需使用教育相关功能,请先配置GlusterFS存储,再搭建双机热备。

配置流程

  1. 添加存储虚拟交换机

    集群如果要使用GlusterFS存储,需要在集群配置GlusterFS的每个主机上添加名称相同的存储虚拟交换机。关于主机上虚拟交换机的详细介绍,请参见主机下虚拟交换机管理

    • 当集群的管理节点不作为业务节点使用时,如果要使用GlusterFS存储,管理节点上也要添加存储虚拟交换机,且每个节点上的存储虚拟交换机名称需要一致。方法为先将管理节点加入集群,然后添加存储虚拟交换机,完成后再从集群中删除该管理节点。

    • 双机热备场景下,无论备节点是否加入GlusterFS集群,都需添加存储虚拟交换机,且名称需与其他节点相同,以确保主备切换时GlusterFS存储能正常使用。若备节点未添加同名存储虚拟交换机,但主备发生切换,请参见《H3C Workspace云桌面 维护手册》中GlusterFS章节对应步骤恢复GlusterFS配置。

  2. 教学存储初始化

  3. 新建GlusterFS存储

新建GlusterFS存储

当新建存储为“自定义存储”或“双机热备存储”时:

  • 存储块路径必须以主机上硬盘挂载点的路径开头,以确保其使用硬盘存储空间,且挂载点和存储块路径不能以/vms/开头。例如硬盘挂载点为/test/brick,推荐存储块路径设置为/test/brick/XX等;GFS挂载点设置为/test/brick/gluster。

  • GFS挂载点路径和存储块路径不能存在一方为另一方的子路径的情况。例如GFS挂载点为/test/brick/gluster,则存储块路径不能为/test,/test/brick,/test/brick/gluster,/test/brick/gluster/XX等。

  • 如果使用的是额外增加的硬盘,则硬盘需手动在后台挂载并格式化,然后把硬盘挂载信息写入/etc/fstab文件中,以免重启服务器后挂载信息丢失。

  • 建议使用SSD硬盘和万兆网卡的虚拟交换机。

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 单击<新建存储>按钮,弹出新建存储对话框。

  3. 配置相关参数,单击<完成>按钮完成操作。

    • 类型:包括教学镜像存储、自定义存储和双机热备存储。若在教学存储初始化中创建了共享存储,则不支持创建教学镜像存储类型的GlusterFS存储。当选择“教学镜像存储”时,挂载点为:/vms/learningspace/glusterfs/courseImages(E1015之前版本)或/vms/learningstorage/glusterfs/courseImages(E1015及之后版本),存储块路径为:/vms/learningspace/glusterfs/brick(E1015之前版本)或/vms/learningstorage/glusterfs/brick(E1015及之后版本);当选择“自定义存储”时,可自定义挂载点和存储块路径,但挂载点和存储块路径不能以/vms/开头;当选择“双机热备存储”时,GlusterFS将作为双机热备的共享存储,可自定义挂载点与存储块路径,但挂载点和存储块路径不能以/vms/开头。“自定义存储”或“双机热备存储”类型的GlusterFS存储无法用作课程存储路径。

    • 选择主机池:新建GlusterFS存储的所在主机池。

    • 选择存储集群:新建GlusterFS存储的所在集群。

    • 主机:选择主机用于存储节点或业务节点,存储节点数需为拓扑类型的整数倍。

    • 选择虚拟交换机:主机所用的虚拟交换机。所选择的虚拟交换机需配置IP地址,例如,当存储内外网复用同一个物理接口时,存储内外网将使用同一虚拟交换机vs_storage下的不同子网,但此虚拟交换机无单独的IP地址,新建GlusterFS存储时不支持选择此虚拟交换机。

    • 拓扑类型:GlusterFS存储的备份数量。根据集群规模及备份需要选择2-10备份。

    • GFS挂载点:平台业务实际使用的文件夹路径。

    • 存储块路径:GlusterFS物理存储块所在路径。

管理GlusterFS存储

该功能用于对GlusterFS存储进行扩容、缩容、删除和节点修复等操作。

扩容GlusterFS存储

  • 使用曾作为GlusterFS节点的主机为GlusterFS存储扩容时,请确保主机上原GlusterFS存储卷对应存储块已被彻底删除。例如,待增加主机的GlusterFS存储卷对应存储块为/vms/learningspace/glusterfs/brick(E1015之前版本)或/vms/learningstorage/glusterfs/brick(E1015及之后版本),请在该主机上将此文件夹删除后再进行扩容。

  • 扩容前,需要手动在新添加的主机上创建并挂载与已有存储块路径相同的目录,存储块路径必须以主机上硬盘挂载点的路径开头,以确保其使用硬盘存储空间,具体注意事项请参见新建GlusterFS存储

该功能用于增加存储备份数量或增加存储节点主机数。

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 单击GlusterFS存储列表操作列<扩容>按钮,弹出扩容对话框。

  3. 选择是否修改拓扑类型。当选择不修改拓扑类型时,集群中可用主机数需为拓扑类型的倍数。

  4. 勾选集群中可用主机,单击<确定>按钮完成操作。

缩容GlusterFS存储

该功能用于减少存储备份数量。推荐使用两副本,3台主机以上的情况,请勿使用全副本(比如6台主机6副本)方案,该方案性能较差。缩容GlusterFS存储可能造成数据丢失。缩容前请先备份数据。

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 单击GlusterFS存储列表操作列<缩容>按钮,弹出缩容对话框。

  3. 选择欲删除的存储节点主机和是否删除存储池。

  4. 勾选“已充分了解本操作造成的结果”并输入当前管理员密码后单击<确定>按钮完成操作。

删除GlusterFS存储

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 单击欲删除GlusterFS存储操作列<更多>按钮,选择[删除]菜单项,弹出操作确认提示。

  3. 单击<确定>按钮,完成操作。

添加业务节点

虚拟化集群中的主机可在此处添加作为GlusterFS集群的业务节点,后续可根据实际情况通过扩容的方式将业务节点转换为存储节点。

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 单击欲删除GlusterFS存储操作列<更多>按钮,选择[添加业务节点]菜单项。

  3. 在弹出的对话框中选择需添加作为业务节点的主机。

  4. 单击确定按钮,完成操作。

数据均衡

由于GlusterFS分布式复制卷的特点是根据一致性哈希算法计算文件的哈希值,并将文件存储到对应哈希范围的子卷中,因此不同分布式节点存储的数据是不一样的,导致数据分布不是很均衡。数据均衡功能可以使数据在各个子卷之间迁移,从而使数据在集群不同节点之间尽量均匀分布。

  • 仅GlusterFS存储卷为分布式复制卷时支持此功能。

  • 数据均衡时,需保证存储池为空闲且活动状态,同时也不能进行修复操作。

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 单击GlusterFS存储操作列<更多>按钮,选择[数据均衡]菜单项。

  3. 在弹出的对话框中单击确定按钮,完成操作。

查看存储信息

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 在“概览”页签下可查看GlusterFS存储拓扑结构、存储节点状态和分区状态统计信息。

存储节点修复

该功能用于对挂载异常或分区连接异常的存储节点主机进行修复。

  1. 单击左侧导航树[数据中心/教学存储配置/GlusterFS配置]菜单项,进入GlusterFS配置页面。

  2. 单击“节点管理”页签,进入节点管理页面。

  3. 单击挂载异常或分区连接异常的存储节点主机操作列<节点修复>按钮,进行修复。

若GlusterFS存储池不活动,且无法手动启动,请参照如下方法处理:

  1. 排查存储网络是否连通。

  2. 将GlusterFS存储卷挂载到一个临时路径后,查看GlusterFS存储卷下是否有重复文件,如果有请删除重复文件。具体操作步骤为:(1)执行“mkdir -p /vms/tmp”命令创建临时目录“/vms/tmp”;(2)执行“mount -t glusterfs IP:/VolumeName /vms/tmp”命令挂载GlusterFS存储卷,其中IP为GlusterFS存储卷某一正常节点的IP地址,VolumeName为存储卷名称;(3)执行“df -h”命令查看是否挂载成功;(4)执行“cd /vms/tmp”命令进入该目录,执行“ls -a”命令查看目录下所有文件,若有重复文件,先将该重名文件进行备份,然后执行“rm -r 重复文件名”命令,删除重复文件。

  3. 执行gluster volume heal VolumeName info命令(VolumeName为存储卷名称)查看是否存在显示为“ls in split brain”的脑裂文件,如有请删除脑裂文件。如需保留脑裂文件,可进入块存储路径下复制出文件,待存储池修复后再复制回原路径。