什么是存储
用于存放数据信息的设备和介质,等同于计算机系统中的外部存储,是一个完整的系统。
存储的结构和趋势
存储的体系结构
当前存储的主要体系结构有三种:
- DAS
- NAS
- SAN
存储的发展趋势
- ssd固态硬盘
- 云存储
- 一体化应用存储设备
- 非结构化数据存储与管理
- 备份容灾
硬盘的组成
硬盘接口比较
存储设备的组成
RAID技术
传统raid
RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起 来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存 储性能和提供数据备份技术。
RAID全称Redundant Array of Independent Disks;即独立磁盘冗余 阵列。
RAID优势:容量易扩展、分块提高性能、可用性提高及可靠性提 高。
RAID级别的选择
-
不同的RAID级别代表着不同的性能、数据安全性和存储成本。
-
RAID常用级别:RAID0、RAID1、RAID10、RAID5、RAID6。
raid2.0+
RAID 2.0+ 是华为的块虚拟化技术,该技术将物理空间和数据空间分散分布成分散的块, 可以充分发挥系统的读写能力,方便扩展,也方便了空间的按需分配,数据的热度排 布,迁移,它是华为所有Smart软件特性的实现基础。同时,由于热备空间也是分散在 多个盘上的,因此硬盘数据的重构写几乎可以同时进行,避免了写单个热备盘造成的 性能瓶颈,大大减少了重构时间。
RAID2.0+将每个硬盘空间被划分成一个个小粒度的数据块,基于数据块来构建RAID组, 使得数据均匀地分布到存储池的所有硬盘上,同时,以数据块为单元来进行资源管理, 大大提高了资源管理的效率
OceanStor存储系统支持不同类型(SSD、SAS、NL-SAS)的硬盘,这些硬盘组成一个个 的硬盘域(Disk Domain)。在一个硬盘域中,同种类型的硬盘构成一个存储层。
各存储层的硬盘被划分为固定大小的Chunk(CK),其中,SSD层和SAS层的CK的大小为64MB,NL-SAS层的CK大小为256M。
OceanStor 存储系统通过随机算法,将每一个存储层的Chunk(CK)按照用户设置的 “RAID策略”来组成Chunk Group(CKG),用户可以为存储池(Storage Pool)中的每 一个存储层分别设置“RAID策略”。
lOceanStor存储系统会将Chunk Group(CKG)切分为更小的Extent。Extent作为数据迁 移的最小粒度和构成Thick LUN的基本单位,在创建存储池(Storage Pool)时可以在“ 高级”选项中进行设置,默认4MB。对于Thin LUN或文件系统,会在Extent上再进行更 细粒度的划分(Grain),并以Grain为单位映射到Thin LUN、文件系统。
若干Extent组成了卷(Volume),卷(Volume)对外体现为主机访问的LUN(这里的 LUN为Thick LUN)。在处理用户的读写请求以及进行数据迁移时,LUN向存储系统申请 空间、释放空间、迁移数据都是以Extent为单位进行的。在用户创建Thin LUN或文件系 统时,OceanStor存储系统还会在Extent的基础上再进行更细粒度的划分(Grain),并 以Grain为单位映射到Thin LUN或文件系统,从而实现对存储容量的精细化管理。
RAID2.0+技术会根据热备策略自动在存储池中预留一定数量的热备空间,用户无需进 行设置,当系统自动检测到硬盘上某个区域不可修复的介质错误或整个硬盘发生故障 时,系统会自动进行重构,将受影响的数据块数据快速重构到其他硬盘的热备空间中, 实现系统的快速自愈合
主机文件系统
Windows下常见的文件系统:FAT16、FAT32、NTFS
Linux下常见的文件系统:ext3、jfs、Reiserfs、xfs
其它文件系统:ZFS、HFS、VMFS、UFS、GFS
数据备份
数据备份是将数据以某种方式加以保留,以便在系统遭受破坏或其他特定 情况下重新加以利用的一个过程。
数据备份的核心是恢复,一个无法恢复的备份对于任何系统来说都是毫无 意义的。
备份系统的组成部分
备份客户端
备份服务器
备份存储单元
备份管理软件
备份组网
LAN-BASE备份
LAN-FREE备份
数据备份的类型
全备份:备份系统中的所有数据
优点:恢复时间最短,最可靠,操作最方便
缺点:备份的数量大,备份所需时间长
增量备份:备份上一次备份以后更新的所有数据
优点:每次备份的数据少,占用空间少,备份时间短
缺点:恢复时需要全备份及多份增量备份
差量备份:备份上一次全备份以后更新的所有数据
优点:数据恢复时间短
缺点:备份时间长,恢复时需要全备份及差量备份
SAN和NAS对比
SAN和NAS是两种主流的存储方式
描述 | SAN | NAS |
---|---|---|
适用场景 | 基于块操作的高I/O要求应用中,如数据库 | 适用于非机构化数据(如文件、语音、图像),性能和可扩展性强的应用 |
支持协议 | FC、ISCSI | NFS、FCIFS、FTP、HTTP |
数据共享 | 一般独享 | 同一文件被多个服务器同时访问 |
组网方式 | 光纤 | 以太网 |
建设成本 | 主机需要HBA卡,组网需要光纤交换机,成本较高 | 通过GE网络或者10G网络,成本较低 |
多路径问题
当主机到存储设备有多条链路时,在存储设备上的同一个卷,在主机端将呈现多个卷。 在图示中,用虚线标记的链路,是4条独立的从主机到存储设备的链路,当存储设备中 的一个LUN映射给主机后,由于主机到存储设备的4条虚线链路是独立的,所以在主机 端将会看到4个独立的LUN。这种混乱的情况有一个名字:多路径问题。
在存储设备上的同一个LUN,由于主机到存储设备有多条链路时,在主机端呈现的多个 磁盘,多路径软件能够屏蔽这些磁盘,而生成一个虚拟的磁盘,读写操通过虚拟的磁 盘进行。
路径软件功能:
最优路径选择:选择多条路径中的最佳的路径进行操作,能获取最佳的性能。
路径I/O负载均衡:自动选择多条路径进行下发,提高IO性能,以及根据路径繁忙程度进行业务路径选择。
故障倒换:业务链路发生故障的时候,故障倒换( Failover )随之发生,实现业 务不中断。
故障恢复:故障倒换之前的业务链路恢复后,业务恢复(Failback)随之发生,用户无需介入,自动完成,且业务不中断。
操作系统自带多路径,如Windows使用的是MPIO,Linux使用的是DM-Multipath
FC网络
在一个SAN环境中通常至少需要配置两个光纤交换机,这种配置不仅仅是为了满足交换 机冗余的需求,也是为了满足SAN设计的需求。一个FC SAN最优的设计必须由两个独立 的网络组成。
根据所需SAN基础设施的规模,在入门级的FC光纤交换机和高端的核心交换机之间选择 光纤交换机的型号
IP-SAN
IP SAN 就是使用iSCSI协议传输SCSI数据块的SAN网络。一个IP SAN是把SCSI块封装到一个以太网数据包中,然后把它们发送到网络上进行传输
IP-SAN典型组网方式有:
-
直连:主机与存储之间直接通过以太网卡、TOE卡或iSCSI HBA卡连接,这种组网方式简单、经济,但较多的主机分享存储资源比较困难;
-
单交换:主机与存储之间由一台以太网交换机,且主机安装以太网卡或TOE卡或 iSCSI HBA卡实现连接。这种组网结构使多台主机能共同分享同一台存储设备, 扩展性强,但交换机处存在间点故障;
-
双交换:同一台主机到存储阵列端可由多条路径连接,扩展性强,避免了在以太网交换机处形成单点故障。
由于硬件冗余的要求,或者需要更多数量的交换机端口,IP SAN网络通常需要使用多个 交换机。但是,不管IP SAN有两个交换机,还是有多个交换机,它们都必须在同一个网 络中。IP SAN不像FC SAN一样需要两个独立的网络。在上图中的解决方案都是由一个网 络组成。
在双交换机网络模式中,具有更高的可扩展性,以及允许更多的主机共享同一存储设 备提供的存储资源。而且,当一个交换机故障时,存储资源然后可用。
将多个单独的交换机连接在一起,形成一个不同的网络。在现代交换机中,有三种选 择可用于交换机之间的互联:
-
使用一根缆线连接不同交换机上的两个端口。
-
许多交换机有一个专门的上行端口用于互联其它的交换机。
-
在中端和高端交换机中,可用选择安装一个堆叠模块。然后使用一根专门的堆叠 缆线互联两个交换机,采用堆叠模式将两个交换机堆叠在一起。堆叠使两个或者 更多的交换机获得更高的性能
NAS
网络附加存储(Network Attached Storage,NAS)是连接到一个局域网的基于IP的 文件共享设备。NAS通过文件级的数据访问和共享提供存储资源,使客户能够以最小的存储管理开销快速直接共享文件;采用NAS可以不用建立多个文件服务器,是首选的文件共享存储解决方案; NAS还有助于消除用户访问通用服务器时的瓶颈;NAS使 用网络和文件共享协议进行归档和存储,这些协议包括进行数据传输的TCP/IP和提供 远程文件服务的CIFS、NFS。
UNIX和Microsoft Windows用户能够通过NAS无缝共享相同的数据,通常有NAS和FTP 两种数据共享方式。采用NAS共享的时候,UNIX通常使用用NFS,Windows使用CIFS。 随着网络技术的发展,NAS扩展到用于满足企业访问数据高性能和高可靠性的需求。 NAS设备是专用的、高性能的、高速的、单一用途的文件服务和存储系统。 NAS客户 端和服务器之间通过IP网络通讯,大多数NAS设备支持多种接口和网络。 NAS设备使用自己的操作系统和集成的硬件、软件组件,满足特定的文件服务需求。NAS对操作系统和文件I/O进行了优化,执行文件I/O比一般用途的服务器更好。NAS设备比传统 的服务器能接入更多的客户机,达到对传统服务器进行整合目的。
NAS的实现方式
NAS实现有两种方式:统一NAS和网关NAS。
-
一个集成的NAS设备包括NAS的所有部件,例如NAS引擎和存储放在一个机框中,这使 得NAS具有一个独立的环境。NAS引擎通过IP网络对外提供连接响应客户端和服务的文 件I/O请求。存储由多个硬盘组成,可以是低成本的ATA接口到高吞吐量的FC硬盘。管 理软件对NAS引擎和存储配置进行管理。一个统一NAS解决方案的范围从单机框的低端 设备到连接外部磁盘阵列的高端方案。
-
l 一个网关NAS包括独立NAS引擎和一个或者多个存储阵列。 这里的NAS引擎和统一 NAS解决方案中的NAS引擎功能相同,存储被其它应用共享时采用块级I/O。在网关类 型的解决方案中管理功能比在集成环境中更复杂,因为需要对NAS引擎和存储单独分 别进行管理。在网关NAS解决方案中,还可以利用FC架构,比如交换机、导向器或者 直连附加存储。网关存储最容易扩展,因为在需要的时候NAS引擎和存储阵列都可以 独立的进行扩展。
NAS文件共享协议
NFS
NFS主要是用在基于UNIX的操作环境
NFS是一个客户机/服务器应用程序,使用远程过程调用(RPC)在计算机之间进行通 信。用户就像使用自己的计算机一样存储、更新远程NAS上的文件。
用户的系统需要一个NFS客户端连接到NFS服务器。由于NFS服务器和客户端使用TCP/IP传输文件,所以在客户端和服务端系统上必须安装TCP/IP。
用户或系统管理员可以使用NFS挂载所有文件系统或文件系统的一部分(任意目录或子 目录分级树中的一部分)。被挂载的文件系统可使用权限来控制访问(例如,只读或 读-写权限)。
CIFS
CIFS使用基于Microsoft Windows的操作环境
CIFS是一个客户机/服务器应用程序协议,远端客户机程序通过TCP/IP访问文件或服务 满足请求。CIFS是一个公共的、开放的、变化的服务器消息块(SMB)协议, 允许远 程客户端访问服务器上的文件。 CIFS通过使用特殊的锁能够与其他客户共享文件。 CIFS文件名使用Unicode编码字符。
CIFS提供了以下功能,以确保数据的完整性:
-
采用文件记录锁,防止文件或记录被其他用户覆盖。
-
运行在TCP/IP协议上。
-
支持容错,可以自动恢复连接和重新打开被中断的文件。 CIFS的容错功能取决于 应用程序是否启用CIFS的容错特性。此外,CIFS是一个有状态的协议,因为CIFS 服务器会维护每个客户端的相关连接信息。在网络故障或CIFS服务器故障的情况 下,客户端会接收到一个连接断开通知。如果应用程序具有嵌入式智能来恢复连 接,则用户中断最小化。如果没有,用户则必须重新建立CIFS连接。
用户为远程文件系统配置易于使用的文件命名方案:
\\server\share
\\servername.domain.suffix\share
超融合软件特性
Scale-Out:
-
硬件层面,重用盘古硬件平台的双控结构。
-
软件层面,我们在双控软件上有较多积累,目前的设计有利于继承这些软件。
-
有利于将来扩展控制器个数。
块虚拟化:
-
提升坏盘重构速度,缩短重构时间。
-
方便实现分级存储。
-
通过将物理硬盘划分成细粒度的CHUNK实现块虚拟化,将业务分散到所有的硬盘 上,充分发挥硬盘的性能。
分级存储和热点迁移(I/O enhancement):
-
通过识别应用的I/O热度,采用智能的算法以细粒度的方式进行分级存储,并保存 到不同性能的tie storage上。
-
同时配合热点迁移技术实现负载的均衡,保证整体系统I/O性能的最大化。
线程集中和受控原则:
-
整个软件系统由CSched模块进行I/O和命令调度。
-
整个系统只允许CSched模块拥有线程,其它模块不得拥有线程。
-
线程受控,模块运行模式统一。
-
I/O 和命令的优先级容易控制。
-
减少线程切换,提升性能。
集中控制:
-
各业务模块只负责提供原子的功能机制,Control子系统负责全系统的策略的控制。
-
基于卷的控制,Control子系统会向各业务模块下发基于卷的控制命令(而不是基 于模块的)。
RAID类型选择
在进行RAID级别选择时,需考虑到以下三点:可靠性、读写性能和硬盘利用率。
-
数据安全性:RAID 6 >RAID 10 > RAID 5。
-
读性能:RAID 5 > RAID 10 > RAID 6。
-
写性能:RAID 10 > RAID 5 > RAID 6。
建议对于核心业务(如运营商的计费等系统或金融A类在线交易系统等),性能层RAID 策略配置为RAID 6(8D+2P),容量层RAID策略必须配置为RAID 6。
对于非核心业务,性能层RAID策略可配置为RAID 5(8D+1P),容量层RAID策略必须配 置为RAID 6。