zdd2022
作者zdd2022·2022-04-12 17:19
存储工程师·某城商行

某城商行超融合建设方案设计与实践

字数 8641阅读 3686评论 0赞 8

摘要: 本文主要介绍了某城商行基于华为 FusionCompute 虚拟化 + 华为 FusionStorage 分布式存储融合部署的实施方案,其中涵盖了当前现状背景与建设的必要性、 FusionStorage 存储实施计划、 FusionStorage 存储实施过程以及 FusionStorage 存储搭建成功后的具体实践应用。希望能为同行带来一些参考。

一、项目背景与建设必要性

我行于 2015 年开展了手机银行业务,采用的是第三方托管模式,使用的为上海清算中心一代手机银行统一版本,在个性化定制、新产品线上化、线上宣传、客户体验、客户数据管理与分析等方面约束较大。

2017 年我行决定自建手机银行系统,自建的手机银行可为客户提供积极主动、知识丰富的客户服务,通过多渠道为客户提供一致的个性化无缝体验,也可提供满足客户金融需求的个性化服务。

新版手机银行采用基于 Zookeeper+Dubbo+Spring 的分布式集群服务框架,需要各类服务器资源共 30 台,每台服务器对资源的需求都很小,使用物理机会造成资源浪费。为了满足系统架构,同时到达节约成本的目的,我行决定将虚拟化技术运用到手机银行系统中,将手机银行的应用部署到虚拟机上,数据库使用两台物理服务器搭建 oracle rac 。我行此次使用的是华为研发的基于 XEN 架构的虚拟化平台,使用 8 台华为 RH2288 V3 服务器搭建集群,通过 SAN 组网 , 采用集中式存储 S5500 作为后端存储为虚拟化平台提供块存储。手机银行系统上线后,系统运行良好,虚拟化平台运行稳定。手机银行虚拟化平台的应用是我行对虚拟化技术的一次成功实践,为我行下一步科技转型提供了新思路。

为适应我行业务的快速增长,保障各信息系统安全稳定运行, 增强 市场竞争力。随着 我行 三年科技规划的出台,我行将在渠道整合、外联集成、互联网金融、客户管理、产品服务、风险内控、数据治理、内部ERP,平台建设等领域新建或升级改造近百余个业务系统。 为了解决集中式存储设备横向扩展能力差的问题,通过前期调研和需求分析,我行决定引入华为 FusionCompute+FusionStorage 融合技术,同一台服务器即可以作为存储节点,同时又能为应用提供虚拟化计算资源,能够有效的节省 IT 投入成本。

二、建设方案设计

1. 实施计划

为了满足我行三年内系统整合及新系统建设系统内存及存储容量需求,此次项目共采购 26 台服务器进行融合部署,平台部署成功后可以为虚拟化平台提供 10TB 的内存资源和 120TB 的存储资源。此次规划共创建两个虚拟化集群和两个存储池,每个虚拟化集群和存储池各 13 台服务器。(下图为建设好的存储池使用截图。)


存储池 Management_pool

存储池 ManagementII_pool

2. 设备清单

3. 项目难点

为了能够更好的学习和理解 FusionStorage ,此次项目实施为行方人员与集成商共同安装部署,实施过程中出现以下困难:

(1) 物理设施薄弱。在上一篇文章中提到过,我行的存储双活和华为 FusionCompute+FusionStorage 融合技术是同步计划实施的,为此我行对现有生产中心基础物理设施进行了升级扩容,新增了 6 组机柜、 1 台精密空调、 3 组监控设备以及其他环控需要采集指标所使用的设备。同时对每组机柜进行了功能划分,新增的分布式存储区域按照下图规划进行上架安装。

设备上架图

(2) 综合布线复杂。服务器按照规划位置上架后,由于对分布式存储原理中关于存储平面、管理平面和业务平面的概念理解不透彻,在综合布线时出现了光纤线插错口的情况,为后续网口绑定出错埋下了隐患。

(3) 自主部署困难。分布式存储搭建时,集成商和行方人员无法及时处理一些安装过程中出现的错误,由于工程进度,最终通过原厂技术支持解决错误。

三、融合部署

1.FusionStorage 概述

FusionStorage 是一款可大规模横向扩展的存储产品,通过存储系统软件将标准 X86 服务器的本地存储资源组织起来,构建全分布式存储池,实现一套存储系统向上层应用提供文件、对象或块三种存储服务,满足结构化、非结构化等多类型数据存储需求。

FusionStorage 可提供快照、精简配置、远程复制、多租户等丰富的企业级数据服务特性,帮助企业轻松应对业务快速变化时的数据灵活、高效存取需求。同时, FusionStorage 提供基于标准接口协议的开放 API ,天然融入 OpenStack 云基础架构及 Hadoop 大数据生态。

FusionStorage 将 HDD 、 SSD 等硬件存储介质通过分布式技术组织成大规模存储资源池,为上层应用和客户端提供工业界标准接口,按需提供块、文件和对象全融合存储服务能力。用户只需要在标准 X86 硬件之上部署 FusionStorage 软件,即可获得业务所需的任意类型的存储服务,而无需提前采购大量的专用存储设备,实现存储服务类型免规划。采用 FusionStorage 进行存储情况下,存在数据副本。单个存储节点故障,或者其上部分硬盘故障时,系统自动进行数据重建,不影响业务。

FusionStorage 支持计算与存储的融合部署方式,亦即将应用或虚拟机与存储在集群范围内部署在同一台服务器上。

FusionStorage 采用全分布式 DHT 架构,将所有元数据按规则分布在各存储节点,不存在跨节点的元数据访问,彻底避免了元数据瓶颈。

FusionStorage 系统架构

2. 块存储服务组网结构

2.1 组件功能介绍

2.2 FusionStorage 组网方式

FusionStorage 组网平面分为 业务平面、管理平面、存储平面和 BMC 网络。


FusionStorage 组网示意

FusionStorage 应用场景分为 10GE 组网、 RoCE 组网和 IB 组网。

2.3 10GE 组网方案

2.3.1 节点组网接口

节点组网接口示意图

2.3.2 组网实例

此次使用 26 台服务器进行计算节点和存储节点融合部署的方式进行组网。

(1) 组网实例示意图

(2)IP 网段规划

(3)IP 地址规划

3. 部署原则

本次 FusionStorage 管理采用 3 副本、 3MDC 保证产品可靠性。每台服务器两块 600G 磁盘组成 raid1 作为本地盘,安装虚拟化底层节点软件。选取 FBS_81 节点和 FBS_91 节点部署 VRM 和 FSM, 在创建 FusionCompute 管理平台的基础上创建 FSM 。由于 MDC 进程建议部署在管理虚拟机所在主机上,所以分别在 FBS_81 、 FBS_91 和 FBS101 三台服务器使用第 15 块磁盘组建 MDC 集群,其余每台 RH2288H V5 服务器使用 14 块 1.09T 本地盘为 FusionStorage 存储池提供存储空间, 1 块 894G SSD 为缓存盘。一共 364 块 SAS 盘, 26 块 SSD 盘。

此次 FusionStorage 共创建两个存储池,每个存储池各 13 台服务器,分别命名为 Management_pool 和 ManagementII_pool, 池冗余策略采用 3 副本模式。

4. 安装部署

虚拟化平台搭建方法不在此处介绍。

4.1 FSM 创建规格参考

4.2 创建 FSM 虚拟机

此次 FSM 部署采用主备方式,登录 Fusion Compute 虚拟化管理平台,在 FBS_81 上创建 FSM 虚拟机,选择使用本地磁盘,此处我们选择与 VRM 管理虚拟机共用一台宿主机部署。如下图所示:

FSM 与 VRM 部署于同一台宿主机

FSM 虚拟机

4.3 安装操作系统

(1) 在 FusionCompute 中,通过 VNC 登录已创建的 FSM 虚拟机。 挂载光驱选择存放在本地的“ FusionStorage Block V100R006C30SPH505.iso ”文件,勾选“立即重启虚拟机,安装操作系统”并单击确定。

(2) 当出现如下图所示界面时,选择“ Test this media & install EulerOS V2.0SP2 ”,按回车进行操作系统的安装。操作系统安装完成后,系统会自动重启。

4.4 配置 IP 地址

(1) 操作系统安装完成后,使用 root 帐户登录系统,默认密码为“ IaaS@OS-CLOUD8! ”。执行以下命令,为 FSM 配置临时 IP 地址和默认路由,后续使用工具配置 FSM 网络信息时使用这个 IP 地址连接 FSM 。命令如下:

ifconfig 管理平面网卡 临时 IP 地址 / 子网掩码位数 up
route add default gw 默认网关

例如:
ifconfig eth0 172.18.98.105/24 up
route add default gw 172.18.98.1

(2) 重复执行上述操作 , 在 FBS_91 上安装 FSM 虚拟机,并配置 IP 为 172.18.98.106 。

4.5 禁用 FSM 虚拟机操作权限

由于 FSM 为管理虚拟机,为了避免误操作导致系统异常,建议禁用 FSM 虚拟机的操作权限。主备 FSM 虚拟机均需要禁用操作权限。

4.6 安装 FSM 组件

配置参数如下:

(1) 在本地 PC 机上解压缩 FusionStorage Block 安装工具“ FusionStorage Block V100R006C30_InstallTool.zip ”。

(2) 进入解压缩后,双击“ FusionStorageTool.exe ”。 打开安装工具,如下图所示。

(3) 单击“配置已有的 FusionStorage Block 管理节点”。

(4) 按照之前配置的临时地址连接主机,主机信息配置完成后,单击“连接”,与主机建立连接。与主机建立连接成功后,单击“下一步”。

(5) 进入“配置网络与初始化服务”页面,根据网络规划,配置 FSM 的管理网络信息。配置信息如下:

(6) 参数配置完成后,单击“下发配置”。 FSM 配置成功后,单击“下一步”。 此时即可单击 FusionStorage Block 自助维护平台的访问链接,登录 FusionStorage Block 自助维护平台。

4.7 添加服务器

(1) 登录 FusionStorage Block 自助维护平台。默认管理员帐号为“ admin ”,默认密码为“ IaaS@PORTAL-CLOUD8! ”。首次登录需要修改默认的管理员帐号登录密码。

(2) 在 FusionStorage Block 自助维护平台,选择“硬件 > 服务器”。 选择批量导入服务器,下载模板填写服务器信息。

模板具体参数如下:

(3) 将 26 台服务器信息全部设置完成后,保存模板文件。 在“服务器导入”页面,上传已设置的模板文件。导入成功后,“服务器导入”页面会自动列出新添加的服务器。

服务器示意图

4.8 安装 FSA 组件

(1) 在 FusionStorage Block 自助维护平台,选择“硬件 > 服务器”。

(2) 在右侧单击“安装 FSA ”,在“选择软件包”页面,单击“选择”,勾选“ DSwareAgent.tar.gz ”,单击“下一步” , 进入“选择服务器”页面。

(3) 单击“选择” , 弹出“添加服务器”页面。在列表中勾选服务器 , 单击“添加”。“选择服务器”页面列出需要安装代理软件的服务器。计算节点和存储节点服务器都需要进行安装。

(4) 单击“下一步”,进入“登录参数配置”页面。在参数配置区域框配置待安装服务器的参数。根据实际环境要求,选择认证方式,并配置认证参数。此处使用密码认证,安装 FusionStorage Block 代理,安装代理约耗时 5 分钟。关闭“安装 FSA ”页面,返回“服务器”页面。

4.9 配置存储网络

配置存储网络有两种方式,第一种方式是登录 FSM 节点使用命令批量创建聚合网口,第二种方式是登录虚拟化平台手动聚合网口,此处我们采用第二种方式。

(1) 登录虚拟化平台管理界面,选择 FBS_81 宿主机,单击配置— > 网络— > 聚合网口进行配置,根据规划好的网口进行聚合,聚合网口名称为 Storage_Aggr, 绑定模式为主备。

(2) 单击逻辑接口 -> 添加存储接口,选择 Storage_Aggr, 连接设置名称为 iscsi , IP 地址为 172.18.97.1, 子网掩码 255.255.255.0 , VLAN ID 为 97 ,交换模式为 Linux 子接口模式。

(3) 按照上述步骤配置其余 25 台宿主机。

4.10 创建控制集群

(1) 在 FusionStorage Block 自助维护平台,选择“资源池”,单击“配置向导”。 进入“配置向导”的“配置系统参数”页面。设置以下参数 :

存储网络使用单网口时,网口名为 FSA 节点操作系统中用于存储网络的网口名称。 存储网络使用聚合口时,网口名为 FSA 节点操作系统中配置的用于存储网络的聚合网口名称。

(2) 单击“下一步”,进入“创建控制集群”页面。设置控制集群的“集群名称 ” 为 MDC_cluster 。

(3) 根据规划配置元数据盘。

规划元数据盘使用独立磁盘:“元数据盘”应选择为“独立磁盘”,并指定元数据盘的类型。 规划元数据盘使用 SSD 卡的分区:“元数据盘”应选择为“分区”。当使用机柜级安全时,元数据节点要分布在不同的机柜中,保证集群的最大可靠性。元数据盘配置原则如下:

如果一套 FusionStorage Block 同时存在 SATA 、 SAS 和 SSD 等多种介质的存储池时,由于使用 SSD 盘和使用 SAS 盘的存储服务器对网络带宽需求较大,可能会影响元数据间的交互,元数据优先部署在使用 SATA 盘的存储服务器上。

建议将除了 RAID 盘以外最后一个槽位的磁盘设置为元数据盘。每台服务器上的元数据盘槽位号可以不同,但为了便于管理和监控,建议为元数据盘配置相同的槽位号。

(4) 单击“添加”,弹出“添加服务器”页面。勾选规划部署元数据盘的服务器,即控制集群的服务器,单击“添加”。此处勾选 172.18.98.1 、 172.18.98.11 和 172.18.98.21 三台服务器。

控制集群支持 3 、 5 或 7 台服务器。推荐的具体配置规则如下:

(5) 控制集群参数设置完成后,单击“创建”,开始创建控制集群。 控制集群创建成功后,单击“下一步”,进入“创建存储池”页面。

4.11 创建存储池

(1) 单击创建存储池,按照规划共创建两个存储池。参数配置如下:

缓存主存比为可选参数,若不填写,则系统默认按照以下公式计算该参数:

每个服务器上缓存的总容量 /( 每个服务器上 OSD 的个数 * 单个主存的容量 )

若不填写该参数,“每个服务器上 OSD 的个数”的缺省值以下规则确定:

虚拟化场景下此参数的建议填写范围为 1% ~ 10% ,推荐设置为 2% 。 该参数精确到小数点后 3 位,例如: 2.125% 。

(2) 在“服务器和磁盘”中,单击“添加”。,弹出“添加服务器”页面,勾选规划加入存储池的服务器,每个服务器只能加入一个存储池。对于选择加入存储池的服务器,其上的存储资源只能提供给 FusionStorage Block 独占使用,原有的数据存储将会被删除。

(3) 设置每台服务器上提供给存储池使用的主存和缓存。

存储池中的 OSD 个数不能小于 12 ,即存储池中用作主存的存储资源不能少于 12 块磁盘或者总容量为 7.2TB 的 SSD 卡( SSD 卡做主存时按照每 600GB 配置 1 个 OSD 进程)。

主存和缓存支持批量选择和手动选择两种方式。

批量选择:对勾选服务器的主存和缓存进行批量选择,适用于服务器上存储介质的数量、槽位统一的场景。存储介质为 SAS 、 SATA 和 SSD 盘时,设置起始和结束槽位号;存储介质为 SSD 卡时,由于 SSD 卡不存在槽位,此时需设置磁盘数量,即选择 SSD 卡的数量。

手动选择:需要手工选择每台服务器的主存和缓存,适用于服务器上存储介质的数量、槽位有差异的场景。操作方法:单击每台服务器左侧的—> ,在显示的存储介质上进行手工选择。

4.12 创建块客户端

进入“创建块客户端”页面,单击“创建”,弹出“创建块客户端”页面。勾选所有服务器,单击“创建”,进行块客户端的创建。客户端创建成功后, FusionStorage Block 的配置完成。

4.13 将存储资源接入虚拟化环境

(1) 在 FusionCompute 左侧导航中,点击进入“资源池”页面,选择“资源池 > 存储”,进入“存储”页面。

(2) 在“存储资源”页签,单击“添加存储资源”,类型选择 FusionStorage Block ,名称 FBS ,管理 IP 填写 172.18.98.104 ,勾选关联所有主机。

(3) 在“存储设备”页签,单击扫描,勾选所有主机 , 扫描存储设备。

(4) 在“数据存储”页签中,选择“添加数据存储”,类型选择 FusionStorage Block 。填写数据存储的基本信息。名称 Management_storage 使用方式:默认为非虚拟化。

(5) 在“关联主机”区域选择需要添加数据存储的主机。可同时选择添加到多个主机。关联成功后,可以看到存储信息。

注意:虚拟机只能使用其所在主机所关联的数据存储,因此建议数据存储至少添加到一个集群内的所有主机,以便该集群内的虚拟机在迁移时可获得最大的迁移范围。

4.14 错误及解决

创建存储池时遇到了创建失败的问题(如下图),最后排错发现,未对节点管理域设置 FSA 预留 vCPU 和内存,导致 OSD 进程启动异常。

计算公式如下:

管理域内存预留 =CNA 内存预留 +FSA 内存预留

管理域 VCPU 预留 =CNA vCPU 预留 +FSA vCPU 预留

(1)FSA 预留计算

CPU 预留计算

注意:无论上述何种情况,当 OSD 进程个数大于 12 个时,每增加一个 OSD 进程,需要增加 0.5 个超线程的 CPU 。

此次部署我们使用的主存个数为 14 个, FSA 需要预留 9VCPU 。

内存预留计算

分离部署

计算节点内存容量规则:

网络类型为 TCP/IP 或 RoCE 时,为 9GB 内存。

网络类型为 IB 时,为 11.5GB 内存。

存储节点内存容量 = 操作系统占用内存容量 + 基础服务占用内存容量 + 缓存占用内存容量 + OSD 进程占用内存容量。

融合部署

服务器内存容量 = 计算节点内存容量 + 存储节点内存容量。

TCP/IP 融合部署组网场景下,使用 2288 V5 ( 14 盘位服务器)作为存储节点,使用 1.09T 的 SATA 盘做为数据盘(即 : 主存盘),使用 1 块 894G 的 SSD 卡做缓存,选择创建副本存储池的方式。计算节点需要预留内存 9GB ,存储节点所需内存为:操作系统占用 8GB + 基础服务占用内存 6GB + OSD 进程占用 2GBx14 + 缓存占用 894/128 = 49GB 。一共需要为 FSA 预留 58G 内存。

(2)CNA 预留计算

CNA 内存预留 (MB)

CNA 预留的内存大小包括: Host OS 、 libvirt 、 OVS 等虚拟化管理程序预留内存。自定义值不能小于默认值,默认值根据主机服务器内存大小按照如下条件计算:

CNA vCPU 预留(个)

CNA 预留的 vCPU 个数,自定义值不能小于默认值。默认值计算方法:物理服务器 vCPU 个数 /10 ,取值时四舍五入取整,最小为 2 个 vCPU 。我们使用的主机是 2 颗 12core 的 CPU ,所以此处取值为 5 。

根据以上公式计算,最终我们配置 FSA 内存预留为 58G , FSA vCPU 预留个数为 9 个,管理域内存预留为 71G ,管理域 vCPU 预留个数为 14 个。

四、总结

1. 使用情况

FusionCompute+FusionStorage 融合部署自上线后,系统运行稳定,目前共部署各类业务系统 50 多个,虚拟机 253 台,存储资源使用 45T 。

2. 优点

FusionCompute+FusionStorage 融合部署能够满足我行对业务创新敏捷发放和回收能力的需求。支持业务环境快速部署,简化业务发放步骤,提升部署效率,提升设备空间利用率。支持高并发数据访问和分析,支持容量和性能弹性扩展。

3. 缺点

我行于 2018 年部署的 FusionStorage 是属于华为第一代分布式存储产品,行方系统运维人员独立部署难度较大,新一代 FusionStorage8.0 支持一键融合部署。

分布式存储部署最少需要三节点,在一些小规模场景中,传统存储比 FusionStorage 更加灵活。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

8

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。

作者其他文章

相关文章

相关问题

相关资料

X社区推广