1. 功能概述

分布式存储是FreeVM利用集群中多台服务器上的空闲硬盘,通过网络整合组建而成的统一存储资源池。它具备高可用、高扩展性、多副本数据保护等特性,是支撑虚拟机高级功能(如高可用)的核心基础。

2. 核心原理与建设要求

在创建分布式存储之前,请务必理解并满足以下前提条件:

  • 主机要求

    组建分布式存储至少需要3个节点。

    FreeVM维持自身运行所需内存约为4-8G,若组建分布式存储,内存则需要在此基础上额外开销,额外开销的内存大小可粗略估算为每个节点每个加入分布式存储的硬盘数。例:一个FreeVM节点有8块硬盘用于组建分布式存储,那么这个节点在除去自身运行的4-8G内存外,至少还需要8G内存用于分布式存储。

  • 硬盘要求

    不建议在只有机械硬盘的情况下组建分布式存储。

    建议使用固态硬盘用作分布式存储的缓存盘,机械硬盘用作容量盘

    建议缓存盘与容量盘的总容量配比至少为:1:10。

    建议每个节点的缓存盘为2块或以上,可提高IO性能。

    用做缓存盘的固态硬盘推荐:U2/NVME>SAS>SATA

    用于构建分布式存储的磁盘在创建存储池完毕后,不得再将其用作其他用途

    每个物理节点用做缓存盘的磁盘必须数量一致,容量一致,性能一致。

    每个物理节点用做容量盘的磁盘必须数量一致,容量一致,性能一致。

  • 网络要求

    存储网至少万兆。管理网推荐万兆。

  • 存储空间计算

    分布式存储池实际可用空间 = 总空间 / 副本数

    副本数默认为3,用于数据冗余保护。副本数越高,数据可靠性越强,实际可用空间越小。

  • 数据分布机制

    虚拟机文件及其副本以分片的形式均匀分布在集群每台主机的磁盘上。

    分片存储优先级:优先位于不同主机,其次位于不同硬盘

3. 前置条件确认

在创建分布式存储前,请确保已完成以下配置:

  1. 网络配置:已完成三网分离架构的网络配置,特别是已创建独立的存储网络VLAN(如vlan3000),并已将主机对应网口(如端口1、2)绑定为存储聚合(如bond1)并加入该VLAN。

  2. 集群组建:所有参与分布式存储的主机(如192.168.4.1, 192.168.4.2, 192.168.4.3)已成功添加到同一个FreeVM集群中。

  3. 存储网络连通:确保存储网络的物理链路和VLAN配置正确,各主机间可通过存储网络IP互通。

4. 操作步骤

步骤一:进入创建界面

  1. 登录FreeVM的Web管理界面。

    image.png

  2. 创建分布式存储首先要把集群中所有的节点时间同步,点击设置--->时间同步设置

    时间通补设置分为以下情况:

    1) 如果网络中存在ntp服务器,无论是win 环境还是linux环境下的填写ntp服务器的地址即可,以三台FreeVM节点组建分布式存储为例,一种一台FreeVM节点(节点:192.168.4.2)填写内网ntp的地址,其它节点填写该FreeVM的(192.168.4.2)地址。

    image.png

    image.png

    2) 如果网络中没有ntp服务器地址,那么就选择集群内其中一台FreeVM的管理地址当作ntp地址

image.png

image.png

注:无论哪种ntp配置防止,都需要集群内的所有节点在配置完后点击【提交】

   3. 在左侧导航栏,依次点击进入:虚拟化 -> 存储资源 -> 分布式存储

image.png

  4. 在“分布式存储”页面,点击右上角的 “新建分布式存储” 按钮。

image.png

步骤二:检测存储网络

  1. 在“创建分布式存储集群”对话框中,首先需要选择一个存储网络(即之前配置的存储VLAN对应的虚拟交换机,如 vs3000)。

    image.png

  2. 点击该网络右侧的 “检测” 按钮。

    image.png

  3. 系统将自动检测集群内各节点在该存储网络上的连通性,并尝试获取存储地址。

    image.png

  4. 必须等待所有节点的“检测结果”显示为“存储地址检测通过”,并正确显示出存储IP(如172.16.1.11),方可进行下一步。

    image.png

  5. 检测完成后,点击 “下一步”

    image.png

步骤三:选取数据盘并创建

  1. 在“存储布局”页面,系统会列出集群中的所有节点(主机)。

    image.png

  2. 为每个节点点击“请选择数据盘”

    image.png

  3. 在弹出的磁盘选择窗口中,勾选该主机上预留的、用于分布式存储的硬盘(如 nvme1n1)。可以为一台主机选择多块硬盘。

    image.png

  4. 副本数设置

    • 根据数据可靠性要求,设置 “最小副本数”(通常设置为 23,使用分布式存储副本只能为3副本)。

    • 此设置决定了数据的冗余程度和存储池的实际可用容量。

  5. 为所有节点选择完数据盘后,点击 “确定”

    image.png

  6. 系统将提交创建请求,并显示创建进度条

  7. 等待创建过程完成,直至出现 “创建已完成” 的提示。

5. 创建后验证与管理

创建成功后,您可以通过以下方式管理和监控分布式存储:

  • 查看存储池

    • 进入 虚拟化 -> 存储资源 -> 存储池

      image.png

    • 此时,所有集群主机下会出现一个类型为“分布式存储” 的新存储池,名称通常为 rbd:freevm default 或自定义名称。此存储池可在创建虚拟机时被所有集群主机选择。

      image.png

  • 分布式存储维护(高级管理)

    • 进入 虚拟化 -> 存储资源 -> 分布式存储 -> 分布式存储维护

      image.png

    • 拓扑:可视化查看所有存储节点的状态和数据磁盘分布,支持添加/删除存储节点

      image.png

    • 磁盘管理:查看所有OSD(对象存储守护进程)磁盘的状态、大小、所属主机。支持对单块磁盘进行添加、删除、重启操作。

      image.png

    • 健康:检查集群健康状态(HEALTH_OK为正常),查看集群详细状态信息和对象树,用于故障排查。

      image.png

  • 磁盘离线或故障

    某个虚拟机文件及其副本分片所存储的硬盘未损坏,则该虚拟机仍然可以正常运行。

    某个虚拟机文件及其副本分片所存储的硬盘损坏,当虚拟机及其副本=1时,出于数据保护原则,该虚拟机变为只读模式。此时需要更换硬盘,通过存活的副本恢复受损硬盘上的数据,数据恢复后,虚拟机恢复可读写状态。

    如果硬盘损毁,应通过“分布式存储维护磁盘管理”移除故障盘,更换新硬盘后重新添加。

  • 主机节点故障

存活主机≥2台,故障节点超过35秒未恢复,该节点的虚拟机副本会在存活物理主机自动启动保障业务继续运行,副本优先选用资源占用率较小的物理主机启动,前提是存活主机的资源足够副本运行。

存活主机=1台,所有故障节点超过35秒未恢复,处于数据保护的考虑,出于数据保护原则该存活主机的硬盘变为只读模式,直到故障恢复。

  • 切勿混用已添加为本地存储的磁盘,不能再用于创建分布式存储。请在规划阶段明确磁盘用途。

完成分布式存储的创建后,您即可在其上创建高可用的业务虚拟机,并享受在线迁移、高可用等集群高级功能。