CN113849136A - 一种基于国产平台的自动化fc块存储处理方法和*** - Google Patents

一种基于国产平台的自动化fc块存储处理方法和*** Download PDF

Info

Publication number
CN113849136A
CN113849136A CN202111195297.8A CN202111195297A CN113849136A CN 113849136 A CN113849136 A CN 113849136A CN 202111195297 A CN202111195297 A CN 202111195297A CN 113849136 A CN113849136 A CN 113849136A
Authority
CN
China
Prior art keywords
storage
block
block storage
distributed
processing method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111195297.8A
Other languages
English (en)
Other versions
CN113849136B (zh
Inventor
彭龙根
张运德
季照杨
刘蓓蕾
张从辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai V&g Information Technology Co ltd
Original Assignee
Shanghai V&g Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai V&g Information Technology Co ltd filed Critical Shanghai V&g Information Technology Co ltd
Priority to CN202111195297.8A priority Critical patent/CN113849136B/zh
Publication of CN113849136A publication Critical patent/CN113849136A/zh
Application granted granted Critical
Publication of CN113849136B publication Critical patent/CN113849136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于国产平台的自动化FC块存储处理方法和***,所述基于国产平台的自动化FC块存储处理方法包括如下步骤:配置FC网关和添加分布式存储池;创建分布式块存储资源;配置客户端访问控制;监控和管理块存储资源。本发明能够实现自动化块存储资源的管理和FC SAN存储环境的快速搭建,避免繁琐的命令行配置模式,提出块存储多副本、负载均衡高可用架构及实现,避免单点失效及数据丢失风险,提升了国产平台存储聚合带宽和IOPS能力,满足存储密集型业务需求和海量数据存储需求。

Description

一种基于国产平台的自动化FC块存储处理方法和***
技术领域
本发明涉及数据存储领域,具体涉及一种基于国产平台的自动化FC块存 储处理方法和***。
背景技术
在大数据时代,随着企业数据量的增加和智能存储业务需求的不断增长, 传统的SDS存储架构(Software Defined Storage,软件定义存储)和SAN (Storage AreaNetwork,存储区域网络)存储架构已经不能满足企业迅速增 长的数据存储需求,企业数据存储存在数字化、智能化和场景化的存储特性, 不同类型的业务对存储资源的需求也存在差异。在金融、通讯、电力、国防 等行业领域数据存储存在“高性能、低延迟、高可靠”等特点,而在大容量 存储但又非IO密集型的音视频、多媒体、数据容灾等行业应用领域数据存储 又存在“融合性、可扩展、多副本”等特性。
SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准,SAN 存储分为IP SAN和FC(Fibre Channel,光纤通道)SAN,IP SAN存在传输速 度慢、可靠性差的缺点,经常在传输过程存在丢包现象,且IP SAN大部分采 用单控来实现的,TCP/IP传输时常受到IP网络干扰,又经过了ISCSI协议的 打包拆包过程,在传输的安全性和高效性上面不能满足特定密集型和安全性 较高的场所;FC SAN采用光纤网,服务器通过存储网络直接同光纤存储设备 交换数据,利用光纤通道协议上加载SCSI协议来达到可靠的块级数据传输。 FC存储采用一种双向、点对点的高性能串行通信技术,在传输性能及可靠性 方面都得到了用户的认可。数据采用FCP协议以块方式存取,几乎不占用服 务器CPU运算处理资源。它满足SAN存储原始定义的所有条件,在其构建的 区域存储网络内部,全程采用FC通道传输数据,传输速度到达目前技术的最 高水平,存储综合性能强大,适合于政府、通信、金融、大型企业高端的关 键应用。
但在应用到国产平台过程中,现有的FC存储配置比较繁琐,因处理器架 构不同需要对核心进行编译,当Target存储服务器故障后就导致不能快速数 据恢复和切换,现有FC存储缺乏自动化配置和管理功能,针对内核没有优化, 在传输性能及高可用方面都不能满足项目高安全性需求;另外,国产平台在 传输海量数据块过程中存在传输效率低下的情况;在某些交易***或对实时 存储性能要求较高的存储***中,网络传输达不到高可靠低延迟传输需求。
发明内容
本发明提供一种基于国产平台的自动化FC块存储处理方法和***,通过 可视化界面实现自动化存储池的管理和FC SAN存储环境的搭建,兼容申威、 飞腾、龙芯平台,突破国产平台上存储***的I/O性能瓶颈和传输速度慢等 难题,利用高可用技术解决存储节点单点故障和存储聚合带宽低等问题,为 国产平台FC块存储提供更加优化的解决方案,满足存储密集型业务需求和海 量数据存储需求。本发明详细的阐述了自动化FC块存储处理方法,包括如下 步骤:
(1)配置FC网关和添加分布式存储池;
(2)创建分布式块存储资源;
(3)配置客户端访问控制;
(4)监控和管理块存储资源。
进一步的,在配置FC网关和添加分布式存储池之前还执行如下步骤:
1)在线部署分布式存储自动化安装包;
2)优化和配置国产分布式存储环境。
进一步的,所述部署分布式存储自动化安装包的具体步骤为:
1)先进行主机名、地址、Apt源的配置,再安装Bcache加速包;
2)部署存储管理***数据库及服务,并进行服务检测和启动。
进一步的,所述优化和配置国产分布式存储环境的具体步骤为:
1)配置分布式存储集群和块资源存储池;
2)配置块存储网关和数据服务。
进一步的,所述配置FC网关具体包括如下步骤:
1)选择FC网关节点,并对驱动检查及内核增强处理;
2)配置FC网关并检查FC网关链路状态。
进一步的,所述添加分布式存储池的具体步骤为:
1)创建块资源存储池;
2)创建FC块存储设备;
3)映射FC块存储到主机节点。
进一步的,所述创建分布式存储块资源的具体步骤为:
1)获取分布式***块存储资源列表;
2)映射分布式块存储资源设备;
3)创建目标块资源;
4)创建物理磁盘逻辑分区。
进一步的,在所述配置客户端访问控制过程还包括以下步骤:
1)创建ACL控制列表;
2)输入客户端WWN通信识别号;
3)映射所有逻辑分区到客户端。
进一步的,在所述监控和管理块存储资源的过程中还包括以下步骤: 1)配置块存储资源多副本策略;
2)设置存储集群的LVS负载均衡策略;
3)配置存储集群的双活特性。
本发明还提供一种基于国产平台的自动化FC块存储处理***,用于执行 上述的FC块存储处理方法。
本发明提出一种FC块存储处理方法和***,基于分布式存储***块存储 为存储资源池,通过创建FC网关节点再把块存储资源基于国产服务器共享给 多个客户端使用,通过对块存储资源池的划分、块设备的创建、Target创建、 Lun创建及客户端的添加实现客户端通过FC网络快速访问块设备能力,相比 传统FC SAN网络,本发明的有益效果是:能够实现自动化存储池的管理和FC SAN存储环境的搭建,避免繁琐的命令行配置模式;基于国产申威、飞腾、龙 芯服务器研制,在国产CPU性能不足的前提下提出基于多副本、负载均衡高可用架构及实现,避免单点失效及数据丢失;采用高可用和实时资源监控技 术对使用的块资源进行高可用数据管理及数据资源监控,方便管理员及时扩 容及对块存储资源进行管理;基于分布式存储***基础上进行FC SAN存储的 扩展和自动化配置,运用自动化混合存储数据处理和智能运维管理技术,通 过整合传统分布式存储和SAN存储,满足不同业务场景数据存储需求。
附图说明
图1为FC块存储处理方法总体流程图;
图2为FC网关配置及存储环境初始化检查流程图;
图3为自动化分布式存储***部署流程图
图4为块存储资源创建流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种基于国产平台的自动化FC块存储处理方法,如图1所 示,包括如下步骤:
S101、配置FC网关和添加分布式存储池;
S201、创建分布式块存储资源;
S301、配置客户端访问控制;
S401、监控和管理块存储资源。
本实施例中,FC存储支持双控制器和主机多路径管理,且具有高传输速 率的光通道的直接连接方式,提供SAN内部任意节点之间的多路可选择的数 据交换,并且将数据存储管理集中在相对独立的存储区域网内,传统Windows ***或X86架构服务器都有成熟的软件来完成存储环境的搭建,但在国产申 威、飞腾、龙芯平台需要移植开源工具及对内核进行定制化编译才能支持HBA 卡的传输。FC存储主要分为Target(存储提供端)和SCSIInitator(存储使用 端)两者之间的通讯,本文提出一种基于国产平台可视化FC SAN存储Target 和Initator通讯方式,具体包括FC网关配置及分布式存储池的添加。
FC存储环境初始化包括FC相关安装包的部署及配置检查,基于国产FC 平台的存储需要安装HBA卡的驱动,本实施例采用适配的HBA卡为QLogic ISP2532,通过界面一个按钮即可完成FC网关配置和存储环境的初始化工作, 具体配置和初始化流程,如图2所示,选择FC网关所在的主机节点,通过界 面选择分布式存储集群中的主机节点作为FC的网关节点,也是FC target节 点;通过执行远程shell脚本检查qla2xxx驱动,如果能够检测到tcm_qla2xxx、target_core_mod、qla2xxx、scsi_transport_fc四个模块已加载, 证明内核驱动已适配,或者需要通过核心源码,配置SCSI device support->SCSI low-leveldrivers(SCSI_LOWLEVEL[=y]),把TCM_QLA2XXX 重新编译到module中。核心检测模块逻辑如下:
Figure BDA0003301784800000061
本实施例中,还针对国产内核源码进行优化,主要优化的有iomem、 ioremap、memset函数接口,这些函数通过汇编指令与国产平台的CPU指令 集相关,根据CPU提供的指令集进行针对性的优化;增加SR-IOV设备热插 拔等功能支持,为同时实现高性能和共享的需求,其最适合的虚拟化方式是 直通共享,即设备支持SR-IOV扩展功能,包含多个功能接口VF,结合硬件 辅助虚拟化技术VT-d/IOMMU,使每个接口VF通过直通的方式单独分配给一个虚拟机,以便虚拟机直接和设备通信,提高I/O性能;调整大页等功能, 当超出TLB(页表寄存器缓冲)的存储极限时,就会发生TLB丢失,之后, 操作***就会命令CPU去访问内存上的页表。如果频繁的出现TLB丢失, 程序的性能会下降地很快,所以可以通过设置大页,提升存储***的I/O性能, 让国产平台针对FC传输能力更高效。
检查FC交换机与FC target服务器连通性,通过界面调用远程服务器命 令查询cat/sys/class/fc_host/hostxx/port_state的状态Online还是Offline来判 断是否连通。
FC环境初始化还包括通过命令在FC网关节点安装targetcli工具包和设 置options qla2xxx qlini_mode="disabled"的参数;
再挂载configfs模块到内核中,通过界面执行mount-t configfs configfs /sys/kernel/config脚本实现;
最后执行update-initramfs-u-k all更新initramfs;
重启FC网关节点服务器完成配置和初始化。
本实施例中,添加分布式存储池的步骤具体为:通过分布式存储***的 资源池管理界面,打开分布式存储仓库,创建存储资源池,填写存储池名称、 选择故障域、填写归置组数、多副本或纠删码策略进行存储池的创建操作, 创建过程中通过JAVA HTTP请求调用Shell或Python脚本到对应的存储系 统执行命令或者直接存储***对应的Restful API进行块存储池的创建。
作为进一步的实施方式,创建存储池主要逻辑代码如下:
PoolPerf agentPoolPerf=this.manageSAO.runPoolPerfTask(this.cluster,this.poolPerf);
通过JAVA代码调用python语言接口如下:
Figure BDA0003301784800000071
存储池创建后,通过界面创建块存储设备,包括SCSI块存储设备、 Target、LUN存储资源,创建块设备时需要输入块存储设备名称、所属存储 池,块存储大小,条带深度和宽度,通过调用HTTP Requst调用Python创建 块存储设备。
Figure BDA0003301784800000081
块存储池及块设备镜像创建完成后,接下来就是需要把块存储资源映射 到主机节点,操作机器上的块设备一样操作该设备了,进行块设备本地化映 射的目的是让分布式存储池里的块设备进行本地化挂载,相当于本地提供了 多个块设备供客户端去使用。调用流程为通过J2EE的JS页面点击映射到主 机按钮,通过点击块设备管理页面里的“映射”按钮,再通过JS里的request 请求调用java action里的serviceRBDMap()函数,再通过java的函数接口调用 python的rbdmap()操作进行rbd map命令操作,rbd map命令操作的顺序为 execute_map-->do_kernel_map-->krbd_map-->map_image-->do_map--> sysfs_write_rbd_add。调用完成后把操作的结果显示在状态栏。rbd-nbd server 与client的通信是使用socketpair(AF_UNIX,SOCK_STREAM,0,fd)产生fd 进行的。client端通过fd[0]向server发送请求与接收结果。server端通过fd[1] 接收client端发送的请求,并返回结果。Rbd map映射主要调用函数如下:
(1)Js页面请求rdb映射函数
Figure BDA0003301784800000082
Figure BDA0003301784800000091
(2)Rbd函数调用pthyon命令
Figure BDA0003301784800000092
(3)Python调用底层rbd map操作c函数
Shell::Action action_map(
{"map"},{},"Map image to a block device using the kernel.","",
&get_map_arguments,&execute_map);
通过nbd map的块设备只可能有两个cache,一个是内核中的块设备缓存, 一个是librbd的缓存,nbd本身没有做缓存,rbd-nbd会监控rbd image size的 变化,发生变化时,会依次清空blk设备缓存ioctl(fd,BLKFLSBUF,NULL), 设置新size到nbd clientioctl(fd,NBD_SET_SIZE,new_size),重新扫描分区表 ioctl(fd,BLKRRPART,NULL),清空image缓存image.invalidate_cache()。
作为一种优选的实施方式,在配置FC网关和添加分布式存储池之前还执 行如下步骤:
1)在线部署分布式存储自动化安装包;
2)优化和配置国产分布式存储环境。本实施例中,如图3所示,所述在线 部署分布式存储自动化安装包的具体步骤为:
1)先进行主机名、地址、Apt源的配置,再安装Bcache加速包;
2)部署存储管理***数据库及服务,并进行服务检测和启动。
分布式存储自动化安装包的制作和部署包括主机名及地址配置、Apt源配 置、Bcache存储缓存加速配置及安装包部署、部署数据库及应用服务、服务 检查及启动几个过程,这几个过程通过组件方式集成到Web界面中,通过提 交安装包进行自动化脚本执行及结果返回,实时监控安装的状态及安装进度, 通过http request请求json数据结构体进行返回,并把实时状态记录到数据库 中。核心接口函数为
Figure BDA0003301784800000101
MVC中Controller调用python脚本完成检查结果的传递和返回,通过java调用ssh命令到远程对应的服务器上执行结果, sshTool.exCommandWithResult(checkRpmCmd,1800L),把部署步骤进行脚本 封装成组件,并通过Web页面调用组件方式去部署,简化部署流程,让部署 运维门槛变低。主要执行结果函数如下:
pkg_setup=GuochanOSInstaller(mode,ceph_version,admin_ip,port_list[3], os_version,BASE_DIR,is_external,external_source)
本实施例中,所述优化和配置国产分布式存储环境的具体步骤为:
1)配置分布式存储集群和块资源存储池;
2)配置块存储网关和数据服务。
基础包及环境部署完成后,需要对分布式存储***进行集群配置,配置 的目的是使用分布式存储***提供的块存储功能,包括集群配置、存储池配 置、服务配置等过程,这些配置也是基于界面完成,提供可视化、智能化运 维管理,轻松部署及运营,通过浏览器界面完成多集群配置创建、添加集群 主机节点、配置集群相关物理环境、存储环境、分布环境和服务配置等,用 户不用关心后台命令的执行,底层架构屏蔽了国产申威、飞腾、龙芯平台架 构的差异性,通过一套分布式存储***完成国产文件、块、对象存储类型的 支撑,在统一管理软件下,管理所有存储资源,包括资源创建、资源管理和 资源监控、存储资源共享、存储资源配置,这些配置在其他平台都是通过命 令行后台进行配置的,给使用者或不懂Linux命令的人员带来巨大烦恼,经过 改进和优化,采用基于WEB界面的可视化配置,方便存储的管理和运维。主 要存储环境组件配置如下:
(1)存储集群配置
包括集群主机加入到集群中,填写主机root用户名和密码进行初始化配 置,获取主机详细信息列表,设置集群管理员及资源访问权限,配置集群容 量及告警阀值,设置集群网络及集群里主机的BMC卡地址,添加集群监控节 点环境,让Monitor节点收集集群信息、更新集群信息以及发布集群信息。针 对分布式存储的改进方式是以机柜和集群为单元,把资源进行扁平化管理, 在一个集群下建立多个机柜,一个机柜里添加多个主机,而且是基于WEB界 面的可视化操作,方便存储集群的管理和运维。
(2)存储池配置
存储池的配置包括存储池的副本及EC容错配置,存储节点上的机械盘及 固态盘的按照类别进行故障域的设置,配置不同存储模式、对数据的存储提 供不同保护机制。包括存储池的故障域数、故障域、归置组数、存储池容量 大小、分级缓存进行配置,通过对存储池配置完成存储节点存储盘所有资源 的统一收集再划分进行使用,通过smartctl及megacli命令结合对硬盘进行亮 灯和精确定位、寿命进行精细化管理,通过自动化流程完成存储池的可视化 配置。
(3)服务配置
国产分布式存储的服务配置包括对象存储服务配置、文件存储服务配置 和块存储服务配置。对象存储包括超级租户的配置,数据索引仓库和数据存 储仓库的添加;文件服务配置包括元数据的配置、冷热数据分层配置和默认 数据存储池配置;也包括数据恢复策略配置和数据校验配置等,国产分布式 集群***每天检测集群容量使用情况,在容量达到阈值后,产生告警。在国 产平台中通过Web界面把复杂的命令行操作简化成简单的页面可视化配置, 针对国产平台进行改进和优化。
本实施例中,如图4所示,所述创建分布式存储块资源的具体步骤为: 获取分布式***块存储资源,判断存储池及镜像资源是否存储,如果存在则 在本地挂载块存储资源;
映射FC网关节点存储资源,判断FC存储环境是否通过,如果通过,则 创建目标资源和物理磁盘的逻辑分区。
FC网关及分布式存储块资源添加完成后就需要在Target存储端进行块 存储资源的创建和配置,包括块存储挂载的路径和块存储名称的选择,再通 过后台命令进行存储服务器端块存储的本地化映射、创建存储管理端Target 及下属所有Lun。所有过程都是通过Web命令和后台进行交付的,并把返回 结果输出到页面中进行提示。
1)分布式***块存储资源映射
分布式存储***通过块设备管理把存储资源池的存储资源进行分块管理, 这些资源需要给使用这挂载到本地磁盘使用,除了要获取分布式存储***提 供的块设备名称外,还需要挂载路径,类似/dev/test的形式,分布式存储*** 已经把块存储设备通过rbdmap命令挂载到本地了,现在就需要把这个路径映 射到targetcli下的iblock块设备中。
块存储资源映射页面需要选择块设备的名称,映射到客户端的路径,点 击确认后把前台提交的json参数通过http request发送到FC网关节点上执行, 通过targetcli/backstores/iblock create name={devname}dev={devmap}进行创 建,创建成功后返回sshtools执行结果,其他两个参数readonly属性表示读写 权限,WWN号为卷资源的唯一标号,默认页面可用不加。
2)目标资源Target创建
Target为目标资源,也是存储资源的提供者,客户端和目标资源之间的通 讯通过WWN号来唯一标识,类似IP地址一样,只要把客户端的WWN号加 入到Target服务器端的控制列表中即可实现两者资源的通讯,对Target资源 的创建需要知道HBA卡的WWN号,如果HBA卡自带多个WWN端口,则 通过界面可以获取到所有HBA卡的WWN端口并让管理员进行选择,再填写 Target名称和备注即可完成Target的创建,通过前端页面到对应的FC网关节 点执/sys/class/fc_host/host*/port_name|sed-e s/0x//-e's/../&:/g'-e s/:$/命令完成所有Target端WWN号的获取,再通过界面输入自定义Target名称完成Target的创建。核心接口程序如下:
Figure BDA0003301784800000141
3)逻辑分区Lun创建
Lun是物理磁盘的逻辑分区,是对Target磁盘的再细分,一个物理磁盘 可用拥有多个Lun,这样对于用户来说就是多个分离的磁盘驱动器,Lun管理 功能包括支持整个存储配置过程,包括映射到盘阵特定端口,屏蔽特定主机 总线适配器(HBA),进行功能性报告以及对空闲存储的回收。通过界面填写 Lun名称、选择上一步创建的Target名称、选择Target下设备的名称即可完 成Lun的创建。后台执行targetcli/qla2xxx/targetwwn/lunscreate /backstores/iblock/{lunname}进行lun的创建操作。核心接口代码如下:
Figure BDA0003301784800000142
本实施例中,在所述配置客户端访问控制后还包括以下步骤:
1)创建ACL控制列表并输入客户端WWN通信识别号;
2)映射所有逻辑分区到客户端。
在完成了存储服务端Target的配置和块设备映射后,接下来就是客户端 使用Target端的块存储设备,我们需要创建一个ACL控制访问列表,让需 要用到存储服务的客户端都可以有权限使用到这个Luns,让两者之间通过 WWN号完成互联通讯。在Web页面添加客户端时输入客户端WWN号, WWN号可以通过提示执行命令去查询到,默认是映射所有Lun到客户端, 也可以让客户端看到部分Lun,通过对add_mapped_luns参数设置关联客户端用户和Luns的对应关系。核心接口程序如下:
Figure BDA0003301784800000151
本实施例中,在所述监控和管理块存储资源过程中主要通过高可用技术 实现存储资源的管理,通过同时创建多个网关,并基于FC网关做LVS负载 均衡器,把读写存储IO分摊到多个存储服务器执行,具体包括配置块存储资 源多副本策略、设置存储集群的LVS负载均衡策略和配置存储集群的双活特 性。
在多副本高可用方面,块存储资源的高可用性包括存储资源池的副本数 及块设备的快照功能,采用分布式存储***的块设备作为FC SAN存储的镜 像资源,不仅提供一种FC SAN存储与分布式存储***直接的对接方法和思 路,也可以利用分布式存储的副本数及节点高可用性增加资源的安全性和可 靠性,分布式存储***采用多网关负载均衡高可用策略,同时创建多个网关, 并基于网关做LVS负载均衡器,把读写存储I/O进行分摊到多个存储服务器 执行,减少服务器的压力,提升存储效率;***采用PAXOS(基于消息传递 且具有高度容错特性的一致性算法,是目前公认的解决分布式一致性问题最 有效的算法之一)算法来保证多个***集群的高可用,通过CRUSH的分布 式算法来实现多组不同的OSD的服务无单点高可用,采用多活MDS(元数 据服务)的设计方式,来保证文件***元数据舒服无单点高可用;存储网关 采用无状态的设计方式,保证网关能够横向扩展无单点、高可用。
客户端通过浏览器访问存储***,上传块存储数据,通过LVS负载均衡 器网关进行转发,把任务转发到3个存储节点,每个存储节点接收一部分文 件分片之后的判断进行存储,提升存储效率。
分布式***容错、提高可用性的基本手段就是使用副本。对于数据副本 的分布方式直接影响***的可扩展性和存储空间的实际可用率。一种基本的 数据副本策略是以机器为单位,若干机器互为副本,副本机器之间的数据完 全相同。这种策略适用于各种数据分布方式。其优点是非常简单,其缺点是 恢复数据的效率不高、可扩展性也不高。首先、使用该方式时,一旦出现副 本数据丢失,需要恢复副本数据时效率不高。假设有3个副本机器,某时刻 其中某台机器磁盘损坏,丢失了全部数据,此时使用新的机器替代故障机器,为了使得新机器也可以提供服务,需要从正常的两台机器上拷贝数据。此种 全盘拷贝数据一般都较为消耗资源,为了不影响服务质量,实践中往往采用 两种方式:一是将一台可用的副本机器下线,专门作为数据源拷贝数据,这 样做的缺点是造成实际正常副本数只有1个,对数据安全性造成巨大隐患, 而且如果服务由于分布式协议设计或压力的要求必须2个副本才能正常工作, 则该做法完全不可行。二是以较低的资源使用限速的方法从两个正常副本上 拷贝数据,此方法不停服务,但可以选择服务压力较小的时段进行,该方法 的缺点是速度较慢。再者,该种方式不利于提高***扩展性。一个极端的例 子是,假设***原有3台机器,互为副本,现在如果只增加2台机器,由于2 台机器无法组成新的副本组,则无法扩容。最后、这种方式不利于***容错。 当出现一台机器宕机时,该机器上的原有压力只能被剩下的副本机器承担, 假设有3个副本,宕机一台后,剩下两台的压力将增加50%,有可能直接超 过单台的处理能力。理想的情况是,若集群有N台机器,宕机一台后,该台 机器的压力可以均匀分散到剩下的N-1台机器上,每台机器的压力仅仅增加 1/(N-1)。
在LVS负载均衡策略方面,数据存储系通过数据在存储服务器集群中的 条带化分步实现负载均衡功能,利用硬件和网络性能,提高IO吞吐量。大多 数磁盘***都对访问次数(每秒的I/O操作,IOPS)和数据传输率(每秒传 输的数据量,TPS)有限制。当达到这些限制时,后面需要访问磁盘的进程就 需要等待,这时就是所谓的磁盘冲突。
避免磁盘冲突是优化I/O性能的一个重要目标,而I/O性能的优化与其 他资源(如CPU和内存)的优化有着很大的区别,I/O优化最有效的手段是 将I/O最大限度的进行平衡。条带化技术就是一种自动的将I/O的负载均衡 到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部 分并把他们分别存储到不同磁盘上去。这就能使多个进程同时访问数据的多 个不同部分而不会造成磁盘冲突,而且在需要对这种数据进行顺序访问的时 候可以获得最大程度上的I/O并行能力,从而获得非常好的性能。本***将 大文件进行分片操作,通过Hash算法,将每个分片均匀的分布到不同的OSD 上进行存储。最大限度的利用***的硬件资源,达到***整体的负载均衡和 各类软硬件资源的充分利用。
分布式存储***提供资源监控管理,通过使用分布式存储***提供的块 存储可以实时对块资源进行监控,包括所有存储池的容量,存储池的个数及 每个存储池资源使用情况,存储池下块存储镜像数,块存储对应的Target、Lun、 镜像快照数量及资源使用情况,客户端连接数,客户端读写IOPS及FC SAN 的读写流量,通过可视化柱状图及饼图直观显示出来,让管理员及时了解存 储资源使用情况及客户使用情况。同时分布式存储***提供资源的性能监控 和分析功能,通过分布式存储***可以了解到块存储FC网关的健康状态,客户端活跃用户数,FC读写I/O延迟情况,块存储资源写满警告,存储节点服 务器CPU、内存使用率等情况,方便管理员做出适时调整和优化配置。
在Web应用双活设计方面,数据中心服务器一般都会采用双机或集群设 计,以保证当一台服务器出现故障时,重要的业务不会中断。但随着计算机 应用深入到企业的各个方面,企业中都会有大量的***在各个领域中运行, 需要数量庞大的服务器支撑这些应用。相当一部分企业很难保证所有的服务 器都能做到双机或者集群。而随着信息***在企业中应用集成度的不断提高, 各应用***间的关系日益紧密,一个看似不重要的***可能与核心***密切 相关,一般***的故障可能直接导致关键***无法正常运行。因此,在服务 器的配置上,不但要考虑关键***的无单点故障,对大量的非关键应用*** 也同样需要考虑双机或集群,实现无单点故障设计,以全面保证企业的应用 不会由于非核心***的故障对核心***造成影响。
分布式存储***平台在软件层面需要做到无单点故障的软件设计以保证 数据高可靠性。这方面,首先是管理节点或者管理软件的HA。通过集群存储 的方式提供数据存储服务,集群存储主要通过冗余技术解决可用性和可靠性 问题,除了多副本技术、纠删码技术之外,还要实现的管理***高可用,指 的是管理***的主备或双活HA技术。
借鉴集群***HA实现方式,当存储节点服务器发生故障时,从正常工 作的其他存储节点中选择一个节点来接管故障节点的资源和服务,继续对外 提供数据服务,保证业务的连续性。这种接管不仅接管故障节点的IP和服务 进程资源,而且接管故障节点的存储软件服务进程和物理存储资源,支持NFS/CIFS/HTTP/FTP/ISCSI等协议。如果使用的是以太网,还可以利用TCP/IP 协议的可靠性技术,实现类似CTDB对故障节点的透明接管,不会产生接管 期间的业务中断。这些方法保证集群存储***的存储利用率以及***性能不 会受到影响,并且可以透明接管完整的***资源,提供更高的***可用性。
基本设计原则如下:
当某个节点由于停机,或者***出现异常,不能再向上层的应用提供数 据存储服务时,则需要由备份节点接管连接到该节点上的存储设备,并启动 相应的服务,以保证前端应用仍然可以正常地进行数据存储操作。
除此之外,FC存储管理***基于Keepalived、Nginx服务做了高可用管 理,即使集群管理节点宕机也不会影响业务的正常运行。
FC存储管理***使用了Nginx反向代理服务器,采用轮询策略实现负载 均衡。当用户通过客户端访问***时,会将请求发送至Nginx服务器,由Nginx 进行代理转发,将请求分发至后台应用服务器,进行数据交互,并定时将数 据备份至备用数据库。即使在管理集群节点发生故障也会自动迁移到另外一 个集群管理节点,采用主从数据库复制机制,保障数据的一致性及集群的高 可用性。
实施例2
本实施例提供一种基于国产平台的自动化FC块存储处理***,用于执行 实施例1中的FC块存储处理方法。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而 言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行 多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限 定。

Claims (10)

1.一种基于国产平台的自动化FC块存储处理方法,其特征在于,包括如下步骤:
配置FC网关和添加分布式存储池;
创建分布式块存储资源;
配置客户端访问控制;
监控和管理块存储资源。
2.根据权利要求1所述的FC块存储处理方法,其特征在于,在配置FC网关和添加分布式存储池之前还执行如下步骤:
在线部署分布式存储自动化安装包;
优化和配置国产分布式存储环境。
3.根据权利要求2所述的FC块存储处理方法,其特征在于,所述在线部署分布式存储自动化安装包的具体步骤为:
先进行主机名、地址、Apt源的配置,再安装Bcache加速包;
最后部署存储管理***数据库及存储管理服务,并进行服务检测和启动。
4.根据权利要求2所述的FC块存储处理方法,其特征在于,所述优化和配置国产分布式存储环境的具体步骤为:
配置分布式存储集群和块资源存储池;
配置块存储网关和数据服务。
5.根据权利要求1所述的FC块存储处理方法,其特征在于,所述配置FC网关具体包括如下步骤:
选择FC网关节点,并对驱动检查及内核增强处理;
配置FC网关并检查FC网关链路状态。
6.根据权利要求1所述的FC块存储处理方法,其特征在于,所述添加分布式存储池的具体步骤为:
创建块资源存储池;
创建FC块存储设备;
映射FC块存储到主机节点。
7.根据权利要求1所述的FC块存储处理方法,其特征在于,所述创建分布式块存储资源的具体步骤为:
获取分布式***块存储资源列表;
映射分布式块存储资源设备;
创建目标块资源;
创建物理磁盘逻辑分区。
8.根据权利要求1所述的FC块存储处理方法,其特征在于,在所述配置客户端访问控制的具体步骤为:
创建ACL控制列表;
输入客户端WWN通信识别号;
映射所有逻辑分区到客户端。
9.根据权利要求1所述的FC块存储处理方法,其特征在于,所述监控和管理块存储资源的具体步骤为:
配置块存储资源多副本策略;
设置存储集群的LVS负载均衡策略;
配置存储集群的双活特性。
10.一种基于国产平台的自动化FC块存储处理***,其特征在于,用于执行权利要求1-9任一项所述的FC块存储处理方法。
CN202111195297.8A 2021-10-13 2021-10-13 一种基于国产平台的自动化fc块存储处理方法和*** Active CN113849136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111195297.8A CN113849136B (zh) 2021-10-13 2021-10-13 一种基于国产平台的自动化fc块存储处理方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111195297.8A CN113849136B (zh) 2021-10-13 2021-10-13 一种基于国产平台的自动化fc块存储处理方法和***

Publications (2)

Publication Number Publication Date
CN113849136A true CN113849136A (zh) 2021-12-28
CN113849136B CN113849136B (zh) 2023-03-31

Family

ID=78978277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111195297.8A Active CN113849136B (zh) 2021-10-13 2021-10-13 一种基于国产平台的自动化fc块存储处理方法和***

Country Status (1)

Country Link
CN (1) CN113849136B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265702A (zh) * 2022-03-02 2022-04-01 苏州浪潮智能科技有限公司 一种iSCSI服务负载均衡方法、装置、设备及介质
WO2024016595A1 (zh) * 2022-07-20 2024-01-25 天翼云科技有限公司 一种rbd-nbd映射方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290529A1 (en) * 2011-01-10 2013-10-31 Storone Ltd. Large scale storage system
US20190212934A1 (en) * 2018-01-10 2019-07-11 EMC IP Holding Company LLC System and method for predicting data storage characteristics
CN111930303A (zh) * 2020-07-02 2020-11-13 苏州浪潮智能科技有限公司 一种基于分布式对象存储***分级迁移优化方法与***
CN112000421A (zh) * 2020-07-15 2020-11-27 北京计算机技术及应用研究所 基于超融合架构的管理调度技术

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290529A1 (en) * 2011-01-10 2013-10-31 Storone Ltd. Large scale storage system
US20190212934A1 (en) * 2018-01-10 2019-07-11 EMC IP Holding Company LLC System and method for predicting data storage characteristics
CN111930303A (zh) * 2020-07-02 2020-11-13 苏州浪潮智能科技有限公司 一种基于分布式对象存储***分级迁移优化方法与***
CN112000421A (zh) * 2020-07-15 2020-11-27 北京计算机技术及应用研究所 基于超融合架构的管理调度技术

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265702A (zh) * 2022-03-02 2022-04-01 苏州浪潮智能科技有限公司 一种iSCSI服务负载均衡方法、装置、设备及介质
WO2024016595A1 (zh) * 2022-07-20 2024-01-25 天翼云科技有限公司 一种rbd-nbd映射方法及装置

Also Published As

Publication number Publication date
CN113849136B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
US10963289B2 (en) Storage virtual machine relocation
US11334454B2 (en) Trust relationship migration for data mirroring
US11262931B2 (en) Synchronous replication
JP6317856B2 (ja) クラスタ間冗長構成におけるスムーズな制御部交代
US9747179B2 (en) Data management agent for selective storage re-caching
US9020895B1 (en) Disaster recovery for virtual machines across primary and secondary sites
US7058731B2 (en) Failover and data migration using data replication
US20220058159A1 (en) Cloned virtual machine disk replication
US9817721B1 (en) High availability management techniques for cluster resources
US8473692B2 (en) Operating system image management
US9692645B2 (en) Distributed control protocol for high availability in multi-node storage cluster
US10423332B2 (en) Fibre channel storage array having standby controller with ALUA standby mode for forwarding SCSI commands
US11416354B2 (en) Techniques for providing intersite high availability of data nodes in a virtual cluster
US20140122816A1 (en) Switching between mirrored volumes
JP2005267327A (ja) ストレージシステム
US10423584B2 (en) Synchronous replication for file access protocol storage
EP2142995A2 (en) System and method for failover of guest operating systems in a virtual machine environment
CN113849136B (zh) 一种基于国产平台的自动化fc块存储处理方法和***
US20050234916A1 (en) Method, apparatus and program storage device for providing control to a networked storage architecture
US9602341B1 (en) Secure multi-tenant virtual control server operation in a cloud environment using API provider
EP3616069B1 (en) Methods for improved data replication in cloud environments and devices thereof
Dell
US10768834B2 (en) Methods for managing group objects with different service level objectives for an application and devices thereof
US11481138B2 (en) Creating indentical snapshots
Tate et al. Implementing the IBM System Storage SAN Volume Controller with IBM Spectrum Virtualize V8. 2.1

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant