GlusterFS配置

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

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

使用场景

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

配置流程

  1. 添加存储虚拟交换机

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

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

  2. 教学存储初始化

    教学存储初始化用于将主机中空闲的磁盘格式化后挂载到本地存储路径/vms/learningspace下,或将集群中的共享存储挂载到本地存储路径/vms/learningspace下。后续新建的GlusterFS挂载路径与存储块会挂载到同块磁盘或共享存储的/vms/learningspace/glusterfs路径下。

  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,存储块路径为:/vms/learningspace/glusterfs/brick;当选择“自定义存储”时,可自定义挂载点和存储块路径,但挂载点和存储块路径不能以/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,请在该主机上将此文件夹删除后再进行扩容。

  • 扩容前,需要手动在新添加的主机上创建并挂载和已有存储块路径相同目录,存储块路径必须以主机上硬盘挂载点的路径开头,以确保其使用硬盘存储空间,具体注意事项请参见新建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. 单击<确定>按钮,完成操作。

查看存储信息

  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”的脑裂文件,如有请删除脑裂文件。如需保留脑裂文件,可进入块存储路径下复制出文件,待存储池修复后再复制回原路径。