1.1. 存储
说到存储介质,实际上它的范围非常的广,小到计算机系统中的几百KB的ROM芯片,大到上百TB的磁盘阵列系统都可以用来保存数据,又都可以称为存储,这里我们介绍的存储主要是给服务器提供数据的企业存储服务器。
1.1.1. 企业级存储的几种架构
存储设备与服务器的连接方式通常有如下几种形式:
1)存储设备与服务器直接相连接,又称为DAS,连接通道通常采用SCSI连接,最为经济的一种架构。
2)存储设备直接联入现有的TCP/IP的网络中,这种设备称为NAS,其实就是处于以太网上的一台利用NFS、CIFS等网络文件系统的文件共享服务器。
3)将各种存储设备集中起来形成一个存储网络,以便于数据的集中管理,这样的网络称为SAN。
SAN根据协议的不同,可以分为FC-SAN(FC存储) 和IP-SAN(IP存储).
FC-SAN(FC存储)采用的是光纤通道协议,需要连接专用光纤交换机。
IP-SAN(IP存储)的通信通道是使用IP通道,而不是光纤通道,把服务器与存储设备连接起来的技术,除了标准已获通过的iSCSI,还有FCIP、iFCP等正在制定的标准。
5)还有一种形式的数据存储是通过软硬件结合的架构,充分利用服务器本地磁盘加上软件调度算法结合的存储模式,称为超融合存储。
参考指标 | DAS | NAS | FC-SAN | IP-SAN | 超融合 |
成本 | 低 | 较低 | 高 | 较高 | 较低 |
数据传输速度 | 快 | 慢 | 极快 | 较快 | 较快 |
扩展性 | 无扩展性 | 较低 | 易于扩展 | 最易扩展 | 易于扩展 |
访问存储方式 | 直接访问存储数据块 | 以文件方式访问 | 直接访问存储数据块 | 直接访问存储数据块 | 直接访问存储数据块 |
性能开销 | 低 | 较低 | 低 | 较高 | 较高 |
安全性 | 高 | 低 | 高 | 低 | 中 |
是否集中管理 | 否 | 是 | 是 | 是 | 是 |
备份效率 | 低 | 较低 | 高 | 较高 | 较高 |
网络传输协议 | SCSI | TCP/IP | Fibre Channel | TCP/IP | TCP/IP |
特点 | 初始费用比较低。每台PC或服务器单独拥有自己的存储磁盘,容量的再分配困难;对于整个环境下的存储系统管理,工作烦琐而重复,没有集中管理解决方案,所以整体的管理成本较高。 | NAS系统有较低的成本,易于实现文件共享,但由于它是采用文件请求的方式,相比块请求的设备性能差,并且NAS系统不适合于不采用文件系统进行存储管理的系统,如某些数据库,但是也有一定的需求场景,如计算服务器集群。 | 更远的传输距离; 高可靠性及高性能; 服务器和存储设备之间可以任意连接, 集中的存储设备替代多个独立的存储设备,支持存储容量共享; 高的扩展性; 可以通过软件集中管理和控制SAN上的存储设备, 由于SAN通常是基于光纤通道的解决方案,需要专用的光纤通道交换机和管理软件,所以SAN的初始费用比DAS和NAS高。 |
IP存储超越了地理距离的限制,适合于对关键数据的远程备份。 IP网络技术成熟,不存在互操作性问题 IP存储减少了配置、维护、管理的复杂度。 网络技术的发展,使IP存储在性能上可以超越FC存储。 |
计算与存储一体化融合,节约存储采购成本,弹性横向扩展能力强,存储性能方面搭配SSD磁盘阵列换车性能不弱。 |
下面我们介绍下目前主流的几种存储方案。
1.1.2. FC-SAN
通常SAN由磁盘阵列(RAID)连接光纤通道(Fibre Channel)组成(为了区别于IP SAN,通常SAN也称为FC-SAN)。SAN和服务器和客户机的数据通信通过SCSI命令而非TCP/IP,数据处理是“块级”(block level)。SAN也可以定义为是以数据存储为中心,它采用可伸缩的网络拓扑结构,通过具有高传输速率的光通道的直接连接方式,提供SAN内部任意节点之间的多路可选择的数据交换,并且将数据存储管理集中在相对独立的存储区域网内。SAN最终将实现在多种操作系统下,最大限度的数据共享和数据优化管理,以及系统的无缝扩充。
FC-SAN的组成
在FC-SAN中,有一些专用的硬件和软件。硬件包括FC卡、FC HUB、FC交换机、存储系统等,软件主要是FC控制卡针对各种操作系统的驱动程序和存储管理软件。
FC卡:主要用于主机与FC设备之间的连接。
FC HUB:内部运行仲裁环拓扑,连接到HUB的节点共享100MB/S带宽(或更高)。
FC交换机:内部运行Fabric拓扑,每端口独占100MB/S带宽(或更高)。
FC存储设备:采用FC连接方式,光纤接口可以有一到多个。FC存储设备通常采用光纤的硬盘,也有Fibre to SCSI(Fibre to ATA)的解决方案,使用SCSI(或ATA)的硬盘,在整个配置上较便宜。
存储网络管理软件:存储管理软件主要的功能是自动发现网络拓扑及映射,当在存储网络中增加或减少时自动发现及组态。
高性能的光纤通道交换机和光纤通道网络协议是FC-SAN的关键。把以光纤通道交换机为骨干的网络拓扑结构称为“SAN Fabric”。而光纤通道协议是FC-SAN的另一个本质特征。FC-SAN正是利用光纤通道协议上加载SCSI协议来达到可靠的块级数据传输。
FC-SAN的应用场合
由于FC-SAN是为在服务器和存储设备之间传输大块数据而进行优化的,因此对于以下应用来说是理想的选择:
关键任务数据库应用,其中可预计的响应时间、可用性和可扩展性是基本要素。
集中的存储备份,其中性能、数据一致性和可靠性可以确保企业关键数据的安全。
高可用性和故障切换环境可以确保更低的成本、更高的应用水平。
扩展的存储虚拟化,可使存储与直接主机连接相分离,并确保动态存储分区。
改进的灾难容错特性,在主机服务器及其连接设备之间提供光纤通道高性能和扩展的距离。
FC-SAN的主要好处
面对迅速增长的数据存储需求,企业和服务提供商渐渐开始选择FC-SAN作为网络基础设施,因为SAN具有出色的可扩展性。事实上,SAN比传统的存储架构具有更多显著的优势。例如,传统的服务器连接存储通常难于更新或集中管理。每台服务器必须关闭才能增加和配置新的存储。相比较而言,FC-SAN不必宕机和中断与服务器的连接即可增加存储。FC-SAN还可以集中管理数据,从而降低了总体拥有成本。
利用光纤通道技术,FC-SAN可以有效地传输数据块。通过支持在存储和服务器之间传输海量数据块,SAN提供了数据备份的有效方式。因此,传统上用于数据备份的网络带宽可以节约下来用于其他应用。
开放的、业界标准的光纤通道技术还使得FC-SAN非常灵活。FC-SAN克服了传统上与SCSI相连的线缆限制,极大地拓展了服务器和存储之间的距离,从而增加了更多连接的可能性。改进的扩展性还简化了服务器的部署和升级,保护了原有硬件设备的投资。
此外,FC-SAN可以更好地控制存储网络环境,适合那些基于交易的系统在性能和可用性方面的需求。SAN利用高可靠和高性能的光纤通道协议来满足这种需要。
FC-SAN的另一个长处是传送数据块到企业级数据密集型应用的能力。在数据传送过程中,FC-SAN在通信结点(尤其是服务器)上的处理费用开销更少,因为数据在传送时被分成更小的数据块。因此,光纤通道FC-SAN在传送大数据块时非常有效,这使得光纤通道协议非常适用于存储密集型环境。
1.1.3. NAS
NAS(Network Attached Storage)网络附加存储。在NAS存储结构中,存储系统不再通过I/O总线附属于某个服务器或客户机,而直接通过网络接口与网络直接相连,由用户通过网络访问。
NAS实际上是一个带有瘦服务器的存储设备,其作用类似于一个专用的文件服务器。这种专用存储服务器去掉了通用服务器原有的不适用的大多数计算功能,而仅仅提供文件系统功能。与传统以服务器为中心的存储系统相比,数据不再通过服务器内存转发,直接在客户机和存储设备间传送,服务器仅起控制管理的作用。
NAS的主要特点
NAS使用了传统以太网协议,当进行文件共享时,则利用了NFS和CIFS以沟通NT和Unix系统。由于NFS和CIFS都是基于操作系统的文件共享协议,所以NAS的性能特点是进行小文件级的共享存取。
NAS设备是直接连接到以太网的存储器,并以标准网络文件系统如NFS、SMB/CIFS over TCP/IP接口向客户端提供文件服务。NAS设备向客户端提供文件级的服务。但内部依然是以数据块的层面与它的存储设备通讯。文件系统是在这个NAS 存储器里。
NAS的主要长处
NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。
NAS设备非常易于部署。可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。
NAS应用于高效的文件共享任务中,例如UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。
1.1.4. 超融合与分布式
超融合基础架构(hyper-converged infrastructure)是一个软件定义的 IT 基础架构,它可虚拟化常见“硬件定义”系统的所有元素。HCI 包含的最小集合是:虚拟化计算(hypervisor),虚拟存储(SDS)和虚拟网络。HCI 通常运行在标准商用服务器之上。
超融合架构本身包含存储,虚拟化,计算等,计算与存储融合,通过全分布式的架构,有效提升系统可靠性与可用性,并具备易于扩展的特性。
超融合架构特点分析:
1)计算与存储一体化融合。超融合架构将计算虚拟化和分布式存储部署在同一服务器硬件内,针对虚拟化、数据库等对 I/O 延迟要求高的应用将数据存放在本地物理服务器上,减少传统外置共享存储(SAN/NAS)带来的网络开销,提升了应用的读写性能。另外,用户可根据自身需要来设定计算和存储资源的服务等级,实际资源的分配可由管理平台自动完成,管理变得轻松而简单。
2)分布式、无共享存储系统。超融合架构的分布式存储系统一般采用分布式、无共享的设计理念,通过分布式算法,将数据分散式存放在集群中的所有节点上,可以拥有跨节点2/3副本的数据冗余模式,大大提升了数据可靠性。另外,超融合架构没有主从节点的设置,每一个计算/数据节点都有能力承担另一计算/数据节点的功能,节点之间通过内部高效的分布式协议完成相互协作和通信。
3)按需采购,降低采购成本。改变采购模式,无需一次性大规模采购,保护现有投资,延伸到云计算架构。基于X86服务器的构架可避免购买传统的外置共享存储设备(SAN/NAS)和交换机,可有效降低采购成本。当存储空间不够时,在现有物理服务器上添加性价比较高的存储磁盘或者添加物理服务器,即可有效扩展存储空间。
4)弹性横向扩展能力。由于超融合架构采用分布式架构,可最小部署、按需扩容,具备强大的横向扩展能力。无节点数和单点故障限制,内置本地备份、同城和异地容灾能力。扩容节点时,无需迁移系统内所有数据,可以快速达到负载均衡状态;增加节点时,系统IOPS、吞吐量等性能,以及系统存储容量能够实现同步线性增长。
5)快速部署与交付。超融合架构采用了以虚拟机(VM)为核心,软件定义方式来规划和运用底层硬件资源,然后向终端用户交付需要的资源。可以单一厂商保障所有软硬件,包括计算、存储和虚拟化支持,从上机架开始几十分钟内即可交付使用,快速部署。
超融合模式下的应用场景:
任何产品都有其适用的场景,传统意义上的超融合是适合于各种虚拟化的场景,对于裸金属服务器就不适合了。所以有一些重负载的应用,在虚拟化都不用的情况下,自然不会考虑超融合。
另外,超融合的架构模式决定了计算和存储资源应该均衡增长,否则就不是非常适合,比如海量的非结构化数据。
1.1.5. RAID
说完存储还必须得介绍一下RAID概念,这是存储系统里的接触比较多的功能。
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称硬盘阵列。其基本思想就是把多个相对硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘,这样做既提高了磁盘读写性能,又起到了数据保护的作用,缺点是损失一部分磁盘空间。
RAID级别
常见的有以下几种
RAID 0 – Disk Striping
RAID 1 – Disk Mirroring
RAID 5 – Disk Striping with Parity
1)RAID 0
它将两个以上的磁盘串联起来,成为一个大容量的磁盘。它可以合并的硬盘数量是2-32个硬盘,合并后的硬盘容量即为每个硬盘容量的总和。举个例子,有四块硬盘,每个硬盘容量都是250GB,那么Disk Striping Array的容量就为1TB。
它在向磁盘存放数据时,将数据分段(以位或字节为单位)后分散存储在这些磁盘中。比如要保存一个Excel文档,这个文档的bit 1被写到磁盘1中,bit 2被写到磁盘2中,bit 3被写到磁盘3中,bit 4被写到磁盘4中,然后bit 5又被写到bit 1中,这样循环下去,只到整个文档都被写完。因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失,危险程度很高。
Volume = Sum(S1, S2, S3,…)
优点:硬盘利用率高,读写速度快
缺点:没有冗余功能
(2) RAID 1
Disk Mirroring 的意思是多块硬盘互为镜像,其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据,当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的,可靠性最高。RAID 1支持热插拔,如果有一块硬盘坏掉,可以把它直接拔下来,然后热插上一块新硬盘,新硬盘会把另一块硬盘内容拷贝过来。在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,但写入速度有微小的降低。另外无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。
Volume = min(S1, S2, S3…)
优点:冗余功能
缺点:硬盘写速度降低,硬盘利用率低
(3) RAID 5
RAID 5可以理解为是RAID 0和RAID 1的折衷方案,它兼顾了储存性能、数据安全和存储成本。RAID 5需要至少3块硬盘,它不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID 5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用“回写高速缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。
Volume = (N – 1) * min(S1, S2, S3…, SN)
优点:磁盘容量利用率较高 (RAID 0 > RAID 5 > RAID 1)
硬盘读速度较快(RAID 0 > RAID 5 > RAID 1)
冗余功能
(4) RAID 10 / 01
RAID 10是先镜像再分割资料,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。
RAID 01则是跟RAID 10的程序相反,是先分割再将资料镜像到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。
当RAID 10有一个硬盘受损,其余硬盘会继续运作。RAID 01只要有一个硬盘受损,同组RAID 0的所有硬盘都会停止运作,只剩下其他组的硬盘运作,可靠性较低。如果以六个硬盘建RAID 01,镜像再用三个建RAID 0,那么一个硬盘坏便会有三个硬盘离线。因此,RAID 10远较RAID 01常用,零售主机板绝大部份支援RAID 0/1/5/10,但不支援RAID 01。
应该说能够与RAID10竞争的只有RAID 5了,两者在不同的场景有大量的使用。在安全性上RAID 10要比RAID 5强,当RAID 5有一块硬盘损坏时,读性能有很大的下降,因为损坏硬盘中的数据要通过其他硬盘中的数据和校验一起才能计算出来,所以在数据库存储时一般选择RAID 10。在磁盘使用率上RAID 5要比RAID 10高很多,所以对安全性要求不是特别高的场合比如文件存储一般大量使用RAID 5。相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用RAID 10的方式比较好