引言

ZStack ZStone是一款面向现代化基础架构的分布式存储软件。用户可在任意普通服务器上部署,快速且低成本地构建简单、稳定、安全高效的存储基础设施。本文档主要介绍ZStack ZStone分布式存储平台的安装部署和快速使用方法。

安装部署

环境准备

准备软件工具

请准备以下软件包,以便安装部署过程顺利执行:
  • ISO(H76C,至少为专家模式)。
    Note:
    • ZStack ZStone 4.2.0之前的版本依赖管理节点组件,包括ZSHA2(双管理节点模式)和MySQL
    • ISO镜像可通过Rufus(推荐使用)/UltraISO工具将ISO文件刻录到U盘。关于如何使用Rufus刻录,可参考快速安装使用教程 (新手快速入门)镜像刻录U盘章节。
  • 企业版工具包:请联系官方技术支持获取。
  • 多管理节点高可用套件:请联系官方技术支持获取。
  • ZStack ZStone软件包:请联系官方技术支持获取。

检查硬件设备

默认部署场景下,服务器硬件配置需至少满足以下需求:
设备 配件 推荐配置
服务器 CPU 2*Intel® Xeon® Silver 4314 (16C 2.4GHz)
内存 4*32GB DDR4,最大3200 MT/s
系统盘 2*Intel S4510/S4520 480GB (RAID1)
缓存盘 2*Intel S5610/S4620 960GB (JBOD)
数据盘 2/4/8/12/16TB HDD (JBOD)
网卡 4*1Gb+2*10Gb
RAID卡 同时支持JBOD、RAID1
网络交换机 / 至少配备1个千兆交换机和1个万兆交换机

核对网络要求

  • 管理网络:没有限制。
  • 存储公有网络:建议使用万兆网卡,小规模部署可与存储集群网络复用,大规模部署(10节点以上)建议与存储集群网络分离配置。
  • 存储集群网络:建议使用万兆网卡,需要配置LACP Bond。

安装ZStack ZStone

本章节主要介绍ZStack ZStone的安装部署模式。ZStack ZStone支持以下安装部署模式:
  • 默认部署:在已经部署的环境中,推荐使用此模式部署。
  • 超融合部署:部署ZStack Cube超融合环境时,默认提供ZStack ZStone分布式存储,无需单独安装部署。

默认部署

  1. 环境准备。
    ZStack ZStone的管理服务依赖管理节点服务。因此需先部署管理节点,再部署ZStack ZStone管理节点服务。可参考以下步骤:
    1. 部署两个管理节点并配置高可用。
      Note: 此处部署的双管理节点可作为ZStack ZStone管理节点,提供管理服务。
    2. 部署一个计算节点或专家模式。
      Note: 此处部署的计算节点或专家模式可与部署的双管理节点作为ZStack ZStone存储服务器节点,提供存储服务。
  2. 在任一管理节点下载获取的ZStack ZStone软件安装包。
  3. 解压软件安装包。
    # 查看获取的软件安装包
    [root@localhost ~]# ls
    ZStone-x86_64-installer-5.5.0.tar.gz
    # 解压软件安装包
    [root@localhost ~]# tar xf ZStone-x86_64-installer-5.5.0.tar.gz
  4. 解压后进入zstone-installer目录。
    [root@localhost ~]# cd zstone-installer
  5. 打开install.conf文件,编辑安装配置文件。
    [root@localhost zstone-installer]# vim install.conf
    # Leave first manager ip if only one manager
    zstone_vip=  //存储集群管理VIP,单管理节点填写管理节点IP地址,双管理节点填写VIP地址
    # ZStone Manager hosts list
    zstone_management_host_ip=  //填写管理节点IP地址,若为双管理节点,IP地址需用英文逗号隔开
    zstone_managerment_host_port=  //填写管理节点的SSH端口
    #password: ["password1","password2"]
    zstone_management_host_rootpw=["password"]  //管理节点root密码
    
    # MySQL info
    zstone_db=zstone
    zstone_db_user=root
    zstone_db_port=3306
    zstone_db_password=zstack.mysql.password
    
    # Log level: trace, debug, info, warning, error, fatal, panic
    log_level=debug
    
    # PostgreSQL info
    zstone_temporal_db_port=5432
    
    #zstone account
    zstone_account_name=admin
    zstone_account_password=password
    
    #zbs
    zbs_install=false  //若需安装高性能块存储,需设置为true
  6. 保存配置信息后,返回当前路径下,执行以下命令安装软件包。
    [root@localhost zstone-installer]# ./install.sh
  7. 安装成功,即会返回ZStack ZStoneUI界面地址链接。

超融合部署

部署超融合环境时,默认提供ZStack ZStone分布式存储,无需单独安装部署。

快速使用

集群初始化

首次登录ZStack ZStone,在Chrome 49及以上版本的浏览器中输入相应的URL地址http://management_node_ip:4000,输入默认账户名admin和默认初始密码password,系统界面将引导进行ZStack ZStone分布式存储平台基本的初始化环境配置。
Note:
  • 若页面无法正常加载,请确认管理服务和UI服务均正常运行。
  • 当前会话登录超过2小时,系统将进行超时提醒并强制退出,需要重新登录。

创建集群

ZStack ZStone引导页面,点击开始初始化,进入集群初始化界面。

可参考以下示例输入相应内容:
  • 名称:设置集群名称

    命名规则:1~128个字符,支持小写字母(a-z)、数字(0-9)、英文句点(.)和连接符(-),且连接符(-)不可放在名称开头或结尾。建议不要用数字开头。

  • Admin IP CIDR:填写管理网络CIDR,用于管理和配置存储集群
  • Public IP CIDR:填写存储集群公有网络CIDR,用于块存储网关与存储池之间的访问、监控角色之间的通信、数据盘与块存储网关之间的通信
  • Cluster IP CIDR:填写存储集群内部网络CIDR,用于存储集群各服务器之间进行数据盘监控及副本同步
    Note: 小规模配置可与Public IP复用,大规模配置(10台服务器以上)建议与Public IP分离部署。
  • 时间同步服务器IP地址:填写时间同步服务器IP地址
    Note:
    • 时间同步服务器用于保障存储集群中所有服务器的时间同步,避免因时间不同步影响存储集群健康状态。
    • 建议时间同步服务器地址与管理网络在同一个CIDR。
图 1所示:
图 1. 创建集群


添加服务器

ZStack ZStone主菜单,点击硬件资源 > 服务器,进入服务器界面。点击添加服务器,弹出添加服务器界面。

添加通用存储服务器分为以下五步,您可参考以下示例输入相应内容,完成服务器配置。

第 1 步:基础配置

  • 服务器IP地址:输入服务器的IP地址,可填写单个IP地址或IP范围。支持批量添加多台服务器
  • 类型:选择服务器类型,支持以下两种服务器类型:
    • 存储服务器:
      • 为存储池提供硬盘等资源。存储服务器上的硬盘可被作为数据盘使用。
      • 存储服务器类型的服务器支持管理、监控、块存储网关、对象存储网关四种角色。
    • 存储网关服务器:
      • 承载各类接口客户端,仅支持对网关进行管理,不可以管理服务器中的硬盘。
      • 存储网关服务器类型的服务器仅支持块存储网关一种角色。
  • 角色:设置服务器的角色,支持以下五种服务器角色:
    • 管理:
      • 负责集群运行时状态的采集与管理,作为管理节点来提供分布式存储集群的管理功能,支持GUI、API等管理方式。
      • 为满足高可用要求,建议一般部署至少2个管理角色。
    • 监控:
      • 负责集群存储数据的监控,维持集群整体状态,包括数据映射关系、集群认证等元数据信息。
      • 为满足高可用要求,建议部署数量为奇数(3+2*N,N≥0),一般可部署3个监控节点。
    • 块存储网关:
      • 负责服务器与存储集群之间使用Block接口访问。
      • 存储服务器类型的服务器默认选择此角色。
      • 存储网关服务器类型的服务器默认且仅支持选择此角色。
    • 对象存储网关:
      • 负责服务器与存储集群之间使用 Object 接口访问。
      • 若使用对象存储功能,需选择此角色。
      • 对象存储网关角色的服务器支持开启对象网关,提供S3协议和网关服务。
    • 文件存储网关:
      • 若使用文件存储功能,需选择此角色。
      • 文件存储网关角色的服务器支持创建文件网关组,提供SMB、NFS等文件存储访问协议。
    Note:
    • 第一次添加服务器时,默认选择管理、监控、块存储网关角色。其中,块存储网关角色允许取消选择,管理和监控角色不支持取消选择。
    • 后续添加服务器时,支持添加无角色的存储服务器。
    • 一般一个集群中至少部署三台同时作为管理、监控、块存储网关角色的存储服务器。
图 1所示:
图 1. 基础配置


第 2 步:环境配置

  • SSH用户名:输入服务器的SSH用户名,默认为root
  • SSH密码:输入服务器的SSH密码。该密码仅用于配置免密,不会保存
  • 端口:输入服务器的端口号,默认端口为22
  • 服务器名:可选项,设置服务器名称

    命名规则:长度限制1~63个字符,输入内容只能包含英文小写字母、数字和以下2种特殊字符:“.”、“-”,且不支持以“-”开头或结尾。建议不要以数字开头。

    Note:
    • 若选择不设置服务器名,请提前在服务器/etc/hosts配置文件下配置服务器名称和IP地址的映射关系。服务器添加完成后,将直接使用/etc/hosts中配置的服务器名。
    • 若选择设置服务器名,新的服务器名将写入服务器/etc/hosts配置文件,并覆盖原服务器名与IP地址的映射关系。
    • 批量添加服务器时,若设置服务器名,系统将自动增加服务器IP末位数字(0-254)作为名称后缀,用于资源区分。
  • 时间同步服务:选择是否开启时间同步服务

    开启后,系统将通过时间同步服务器保证新添加服务器与集群中其他服务器的时间同步。

  • 服务器免密:选择是否通过输入的SSH用户名和密码自动配置免密功能
图 2所示:
图 2. 环境配置


第 3 步:网络配置

  • Admin IP:设置管理网络IP地址,用于对存储集群进行管理和配置,默认为服务器IP地址
  • Public IP:设置存储集群公有网络IP地址,用于块存储网关与存储池之间的访问
  • Cluster IP:设置存储集群内部网络IP地址,用于存储集群各服务器之间的数据盘监控及副本同步
    Note: 添加存储网关服务器类型的服务器无需设置Cluster IP。
图 3所示:
图 3. 网络配置


第 4 步:信息确认

查看将要添加的服务器,支持跳转修改相应信息。

图 4所示:
图 4. 信息确认


第 5 步:安装部署

查看服务器安装部署进度。安装过程中如退出该页面,服务器安装部署将继续进行,可通过操作日志再次查看安装进程。
Note:
  • 首次添加服务器不支持退出该页面。
  • 首次添加服务器建议不要刷新浏览器。
图 5所示:
图 5. 安装部署


扫描硬盘

ZStack ZStone主菜单,点击硬件资源 > 硬盘,进入硬盘界面。点击扫描,即可列出服务器中的硬盘及硬盘信息。

图 1所示:
图 1. 扫描硬盘


Note:
  • 健康状态的空闲盘可进行缓存分区(建议SSD)或添加为数据盘。若进行缓存分区,需确保单个分区容量至少为50 GB。
  • 若扫描出未知盘,表示该硬盘上存在未知分区。
    • 针对ZStack ZStone 4.2.0及之前的版本,可执行wipefs -af /dev/sdX命令,手动清理分区后再次扫描硬盘。
    • 针对ZStack ZStone 4.2.0及之后的版本,可在硬盘页面,点击初始化硬盘,直接进行分区清理。
  • 部分硬件环境中,新添加的硬盘可能无法识别,请重启服务器或联系官方技术支持。

创建数据盘

ZStack ZStone主菜单,点击存储资源 > 数据盘,进入数据盘界面。点击创建数据盘,弹出创建数据盘界面。

可参考以下示例输入相应内容:
  • 选择硬盘:选择需要添加为数据盘的硬盘
    Note: 仅支持将健康状态且用途为空闲盘的硬盘添加为数据盘。单个硬盘的容量不能少于25 GB。
  • 缓存分区:选择数据盘是否使用缓存分区
    • 自动模式:系统自动为已选择的硬盘批量匹配服务器上的缓存分区。
    • 手动模式:用户可手动为已选择的每一块硬盘单独选择需要绑定的缓存分区。
    Note: 可用缓存分区数量小于已选硬盘数时,超出数量的硬盘将无法添加为数据盘。
图 1所示:
图 1. 创建数据盘


创建存储池

ZStack ZStone主菜单,点击存储资源 > 存储池,进入存储池界面。点击创建存储池,弹出创建存储池界面。

支持创建以下三种类型存储池:
  • 块存储存储池
  • 对象存储存储池
  • 文件存储存储池

创建存储池-块存储

可参考以下示例输入相应内容:
  • 名称:设置存储池名称

    存储池名称需符合以下命名规则:支持1~128字符,输入内容只能包含中文汉字、英文字母、数字和以下7种英文字符“-”、“_”、“.”、“(”、“)”、“:”、“+”。

  • 类型:选择块存储
  • 角色:默认显示数据池角色,且不支持修改
  • 数据安全策略
    • 类型:默认显示副本类型,且不支持修改
    • 副本数:设置存储池的副本数,支持选择的副本数范围:2~6
      Note: 生产环境中建议至少设置为3副本以确保数据安全。
    • 级别:可按照拓扑中的规划,选择服务器、机架、机房级别的故障域。
    • 数据盘:根据拓扑视图选择需要添加的数据盘
      Note:
      • 选择的数据盘需满足数据冗余级别要求。
      • 建议尽量选择大小一致的数据盘。
图 1所示:
图 1. 创建存储池-块存储


创建存储池-对象存储

可参考以下示例输入相应内容:
  • 名称:设置存储池名称

    存储池名称需符合以下命名规则:支持1~128字符,输入内容只能包含中文汉字、英文字母、数字和以下7种英文字符“-”、“_”、“.”、“(”、“)”、“:”、“+”。

  • 类型:选择对象存储
  • 角色:选择存储池的角色,包括数据池、索引池、复合池
    Note:
    1. 数据池:用于存储数据。
    2. 索引池:用于存储对象的索引信息。
    3. 复合池:支持多用途复用,可被存储策略中的索引池、数据中转池选用。
  • 数据安全策略
    • 类型:选择数据冗余类型,包括副本、EC
      • 若选择副本,可参考以下示例填写相应内容:
        • 副本数:设置存储池的副本数,支持选择的副本数范围:2~6
        Note:
        • 索引池和复合池角色的存储池仅支持副本类型的数据冗余策略。
        • 生产环境中建议至少设置为3副本以确保数据安全。
      • 若选择EC,可参考以下示例填写相应内容:
        • EC策略:设置存储的EC策略,包括推荐值、自定义
          • 推荐值:选择系统推荐的六种EC策略,包括2+1、4+2、8+3、4+2:1、8+2:1、16+2:1
          • 自定义:支持自定义EC策略,输入数据块+校验块
            Note: 需输入正整数,数据块数量需大于校验块数量,校验块数量需小于等于4。
          Note:
          • EC策略由数据块和校验块构成,其中数据块指数据分片的数量,校验块指通过校验算法生成的校验分片的数量,以服务器级别的4+2的EC策略为例,其表示允许当2台服务器发生故障时,数据仍可正常使用。
          • 支持实时展示得盘率,计算方法:数据块/(数据块+校验块)。
    • 级别:可按照拓扑中的规划,选择服务器、机架、机房级别的故障域。
    • 数据盘:根据拓扑视图选择需要添加的数据盘
      Note:
      • 选择的数据盘需满足数据安全策略的故障域要求。
      • 建议尽量选择大小一致的数据盘。
图 2所示:
图 2. 创建存储池-对象存储