1 网络存储概述
1.1 存储的发展趋势
这是一个数据量爆炸的时代,不断增长的数据量引发了存储需求的激增,对存储系统设计提出了更高的要求,促使计算机存储技术快速发展。
传统服务器承载的数据存储量越来越大,其内置存储空间通常已不能满足需求,于是需要为服务器搭建外置存储来扩展存储空间。
网络存储已经成为大规模存储系统的基本体系结构。
1.2 什么是网络存储
网络存储是一种特殊的专用数据存储服务器,包括存储器件(如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,提供跨平台文件共享功能。
它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。
1.3 网络存储的优缺点
1.3.1 优点
跨平台文件共享:用户可以在不同的操作系统和设备之间共享和访问数据,提高了数据的可用性和灵活性。
集中管理:通过网络存储,数据的管理和维护变得更加集中和高效,减少了维护成本。
负载均衡:网络存储可以将负载从应用或企业服务器上卸载下来,降低总拥有成本。
1.3.2 缺点
安全性问题:网络存储依赖于网络,可能会面临网络安全威胁和数据泄露的风险。
维护复杂度:虽然集中管理简化了维护工作,但网络存储设备的配置和管理仍然需要一定的技术知识。
1.4 网络存储的应用场景
网络存储广泛应用于各种需要数据共享和集中管理的场景,如企业、学校、医院等。
它能够有效地支持多用户访问和数据备份,提高工作效率和数据安全性。
2 网络存储架构详解
网络存储结构大致分为三种:
直连式存储(DAS:Direct Attached Storage)
网络附加存储(NAS:Network Attached Storage)
存储区域网(SAN:Storage Area Network)
由于NAS对于普通消费者而言较为熟悉,所以一般网络存储都指NAS。
2.1 直连式存储(DAS)
直连式存储又称直连附加存储,其英文全称为Direct Attached Storage,简称DAS。
直连式存储是将存储设备通过SCSI线缆或光纤通道等方式直接连接到服务器的一种存储技术。
直连式存储对服务器的依赖性很强,需要依赖服务器主机的操作系统处理数据的IO读写和存储维护管理。
数据备份和恢复会占用服务器主机资源,因为数据流需要回到服务器再到服务器连接着的备份存储空间中,为了不影响正常业务系统的运行,许多用户的日常数据备份经常在深夜或业务系统不繁忙的时候进行。
当直连式存储的数据量变得越来越大时,数据备份和恢复所需的时间就越长,对服务器硬件的依赖性和影响也就越大。
直连式存储分为内置直连式存储和外置直连式存储两种:
内置直连式存储:存储设备和服务器通过串行或并行SCSI总线直接连接
外置直连式存储:服务器通过SCSI或光纤通道与外部的存储设备建立直连
典型DAS架构使用了多台服务器或多台计算机,存储结构相对简单,配置和管
理也都比较容易,费用也比较低,每台服务器或每台计算机都单独拥有自己的直连存储磁盘。
缺点是不利于存储容量的充分利用和服务器间的数据共享,不同的应用各有一套存储设备,没有集中管理解决方案,数据维护繁琐,因而该直连式存储不适合作为规模性企业级的存储解决方案。
直连式存储是比较常见的一种存储形式,大多应用在一些规模较小的企业中,其特点是配置简单,部署实施快速,成本较低。
直连式存储的使用过程通常和使用本机硬盘并无太大差别,要求服务器提供有相应的外接SCSI接口即可,并且无需专业人员操作和维护,可以节省用户投资,对中小型企业具有一定的吸引力。
直连式存储的缺点:
数据备份操作复杂
存储资源得不到充分的利用
SCSI连接的带宽有限,服务器本身容易成为系统瓶颈,若服务器发生故障,则数据不可访问
对于存在多个服务器的系统来说,设备分散而不便维护与管理
无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集(Cluster),或存储阵列容量的扩展,都会造成业务系统的停机,从而给企业带来经济损失,对于银行、电信、传媒等行业7×24小时服务的关键业务系统,这是不可接受的。
并且直连式存储或服务器主机的升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。
2.2 网络附加存储(NAS)
随着网络的飞速发展,数据量的激增,以及客户端的增多,这些情况对服务器的存储能力提出了更高的要求,同时对服务器的访问性能也提出了新的挑战, 促使了服务器和存储设备的分离。
这样,便产生了一种连接到计算机网络的专门用于共享文件的高性能文件存储设备,它通过网络连接到计算机、服务器或其他设备,为用户提供一个以太网接口并使用TCP/IP协议进行通信。
它以数据为中心,存储设备与服务器是彻底分离的,允许用户在网络上存取数据,网络附加存储(NAS)集中管理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来,释放带宽,减轻网络中其他服务器的负担。
相比于传统的直连式存储(DAS)而言,网络附加存储(NAS)具有更好的灵活性和可扩展性,用户可以通过网络对存储设备进行远程访问和控制。
从广义上来说,将网络附加存储(NAS)定义为一种特殊的专用数据存储服务器更合适,因为网络附加存储(NAS)通常由硬件和软件两大部分组成:
硬件主要包括NAS服务器(含处理器、内存、网络接口等)、存储设备(例如磁盘阵列、固态硬盘、磁带驱动器或可移动的存储介质)等。
软件则主要为负责数据管理、安全保护、备份和恢复等操作的内嵌系统软件,使用网络协议和文件共享协议实现文件归档和存储等功能。
主要涉及用于数据传输的TCP/IP网络协议和用于远程文件服务的网络文件系统协议NFS和CIFS。
网络附加存储(NAS)的典型组成实施例如下图所示:
NAS系统通过协议(或规则)将硬件和软件有机结合,提供跨平台文件共享功能,硬件主要包括NAS服务器和存储设备。
2.2.1 网络附加存储的硬件组成
从用途特性来划分,又可以将网络附加存储(NAS)分为:
客户端、DNS服务器、存储设备
NAS服务器主要负责相应文件请求,它通过以太网接口与前端局域网建立连接关系,通过ATA、SATA或FC等存储设备接口与处于后端的存储设备建立互连关系。
存储设备通常由高性能的专有RAID磁盘阵列组成,以实现网络附加存储(NAS)系统的数据保护和冗余。
NAS服务器与后端存储设备的连接方式包括集成式和分散式两种:
集成式将NAS服务器和后端存储设备采用直接连接的方式集成为一个统一的整体,结构简单,管理容易。
分散式通过光纤网络等方式将NAS服务器和后端存储设备连接,后端存储设备既可以被NAS服务器和其他服务器所共有,也可以由一个NAS服务器管理多个后端存储设备,结构较为复杂,相比集成式,分散式在管理方面要复杂得多,会牵扯到后端整个存储网络。
网络附加存储(NAS)设备的部署非常容易,支持即插即用,可以使NAS服务器(主机)、客户端和其他设备广泛分布在整个企业的网络环境中,无需改造即可用于混合Unix/Windows NT局域网内,应用非常灵活。
2.2.2 网络附加存储的软件组成
操作系统、文件协议、存储管理软件
操作系统主要负责管理NAS设备的硬件和软件资源,支持通过网络共享文件。
它实际上相当于通用操作系统的缩减版或精简版——大致将通用操作系统的文件服务功能和相关文件通信协议保留下来,其他多余的功能统统去掉,因此该操作系统被形象地称为“瘦”操作系统,而NAS服务器也被称为“瘦”服务器或“瘦”型网络文件服务器。
文件协议目前主要有NFS和CIFS,也支持FTP、HTTP等
NFS为网络文件系统(Network File System)的简称,它保留了Unix的文件格式特性,FreeBSD(一种Unix操作系统)和Linux等操作系统支持该文件系统,NFS允许网络中的计算机共享资源,如同访问本地文件一样。
CIFS为通用Internet文件系统(Common Internet FileSystem)的简称,是一个应用在NT/Windows环境下的比较实用的协议,由微软公司开发,它使程序可以访问远程internet计算机上的文件并要求此计算机提供服务,实现在Windows主机之间进行网络文件共享,在断线时可自动恢复与网络的连接。面向于网络连接的共享协议(常使用TCP/IP)的传输效率优于NFS,原因在于没用太多冗余信息传送。
2.2.3 网络附加存储的优点
部署NAS设备非常容易,其存储设备可以不受地域限制,既可以放置在工作组内、靠近数据中心的应用服务器,也可以放置在其他位置,无论身处何处,都可以通过物理连接和网络连接将它们互连起来,并能够很好地发挥作用。
特别适合于通过网络将文件数据传送到多台客户机的应用场合。
NAS是一种专业且安全的网络文件存储备份设备,不像U盘、移动硬盘等存储设备必须依赖接口协议和其他操作系统,NAS拥有一个“瘦”化的、可智能化的嵌入式操作系统,比一般服务器能连接更加多种类的操作系统,支持在网络上为各种客户端提供数据存取服务。
NAS运行自己的专有操作系统,可供Windows、Unix、Linux、Mac等操作系统访问,不同的主机与客户端通过文件共享协议(如Unix中的NFS和Windows NT中的CIFS等)存取NAS上的资料,实现文件共享功能。
NAS独立于主服务器,不需要依靠任何其他主机设备,当其他设备停机时,NAS仍能正常访问。
NAS是专业的存储和文件服务器,使用优化过的专用操作系统,它剥离了其他非必要功能,更加专注于数据存储和网络共享,比传统服务器更加便宜和使用方便,而且响应速度快,数据传输速率较高,稳定性好,基本不会占用网络服务器的系统资源,无需在服务器上安装软件。
NAS设备是即插即用的,安装和使用方便,当在网络中增加或删除NAS设备时不会造成网络的中断。
此外,NAS存储设备使用了RAID技术,让数据在多个硬盘间实现冗余备份,一旦某个硬盘遇到意外的硬件故障时,用户可以轻松恢复数据。
2.2.4 网络附加存储的缺点
NAS使用网络进行数据备份和恢复,在备份过程中会消耗带宽,同时容易受网络上其他流量的影响,数据泄露等安全问题也需重视。
在NAS设备与客户端在企业网内部连接的典型应用案例中,数据存储和数据备份过程都会占用网络的带宽,从而影响企业内部网络上的其他应用,当其他应用使用较为频繁时,容易对用户网络造成严重的堵塞现象,因而共用网络带宽
成为限制NAS性能的主要问题,而NAS的备份机制需要根据企业网络使用情况进行必要优化。
NAS的存储是以文件方式进行的,其访问需要经过文件系统格式转换,与普通文件系统一样直接访问物理数据块不同,在某些应用情况下会严重影响系统效率,因此NAS不适合数据块(Block)级的应用,例如要求使用裸设备的大型数据库不要使用NAS。
NAS虽然具有较好的扩展性,但是这只是相对的,譬如增加一台新NAS设备很容易,但是要想将两个NAS设备的存储空间进行无缝合并就很不容易了。
2.2.5 NAS分类
电器型服务器:
电器型服务器是NAS系列设备中最低端的产品。电器型服务器不是专门附加的存储设备。
它们为网络提供了一个存储的位置,但是由于没有冗余的以及和高性能的组件,它们相对比较便宜。
在工作组环境中,电器型服务器要起很多作用。典型服务包括网络地址翻译(NAT)、代理、DHCP、电子邮件、Web服务器、DNS、防火墙和VPN。
工作组NAS:
工作组级的NAS特别适合于存储需求相对较低的小型和中型公司,它们的存储需要一般从几百GB到1TB。
运行电子商务软件或者大型数据库的公司会需要几TB的存储空间,他们使用的属于中型NAS。
一般来说,当从工作组升级到中型NAS时,你会发现热插拔驱动器和一些可以放置额外的驱动器或更多的故障恢复产品的设备盒、增强的管理功能以及系统复杂性的少许提高。
中型NAS
中型NAS解决方案提供了更好的扩展性和可靠性,而且有着与低端NAS类似的优点,例如方便、专用的存储空间和简单的安装和管理过程。
与电器型服务器和工作组级NAS相比,这些NAS设备的成本明显要高很多。
大型NAS:
这类存储设备,系统的易扩展性以及高可用性和冗余性都是十分关键的。
这些设备还必须提供高端服务器的性能、灵活的管理以及与异类网络平台交互的能力。
2.2.6 应用场景
NAS可用于创建家庭云存储、构建中小型FTP服务器、监控存储设备、数据备份/容灾、电子游戏库等。
对于那些希望降低存储成本,但是又无法承受SAN昂贵成本支出的中小企业来说,选择NAS设备是比较具有性价比的一种实用方案。
NAS可以作为大型集中备存储系统的有益补充,例如在公司的一些关键部门,如人事部、设计部、财务部等独自布置一台或多台NAS作为部门内部的数据备份设备,便于部门内文件共享、交换与分发,还能提高数据的安全性,内部局域网使用时有助于降低部门秘密信息被泄露的风险,对实施办公自动化也有积极的意义。
2.2.7 应用实例
办公自动化NAS解决方案
要使整个企、事业单位内部的数据得到统一管理和安全应用,就必须有一个安全、性价比好、应用方便、管理简单的物理介质来存储和备份企业内部的数据资料。
税务NAS解决方案
税务行业需要的是集业务、信息、决策支持为一体的综合系统。
为合理解决数据业务资料备份和存储的问题,可以使用一台NAS网络存储服务器来存储和备份业务数据资料以及日常办公数据。在业务主机内,数据库里的信息资料直接通过数据增量备份功能备份到NAS中。
连同局域网内部的业务资料以及工作人员的日常办公文件资料或是基于光盘的数据资料,都可以存储到NAS服务器上,以便工作人员随时使用和浏览这些数据资料。
使用NAS后,管理员能够有效、合理地安排和管理其内部数据资料,使数据文件从其它网络机器上分离出来,实现数据资料的分散存储,统一管理数据资料环境系统。
广告NAS解决方案
很多广告公司的数据存储模式比较落后,成本较高且效率低下,主要问题在于数据安全性差;整体数据量大以及原有大量陈旧的数据难以存储管理;存在多操作系统平台,设备繁杂导致存放的数据难以共享和管理,造成效率低下;广告设计人员的离职造成设计资料无辜丢失。
采用NAS存储和备份广告设计行业网络中的业务数据资料,实现数据的集中存储、备份、分析与共享,依据设计研究单位对不同数据的不同要求,充分利用现有数据,合理构建广告设计行业的数据存储平台,从而提高了信息资料的传送速度,节省了时间,提高了工作效率。
教育NAS解决方案
医疗数据存储NAS方案
制造业NAS解决方案
2.3 存储区域网络(SAN)
存储区域网络(Storage Area Network,SAN)采用网状通道(Fibre Channel ,简称FC,区别与FiberChannel光纤通道)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。
SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。
SAN实际上是一种可独立于TCP/IP网络之外的并且专门为存储而建立的专用网络,其扩展性较强,在SAN系统中增加一定的存储设备或增加几台使用存储设备的服务器都很方便。
SAN支持存储设备的集中化设计和服务器群集的应用,统一管理更加方便,投资费用更省。
SAN架构十分适合现代企业资源规划和客户资源管理类的工作负载。
2.3.1 SAN的结构组件
SAN服务器
提供SAN解决方案的“首脑”,它可以是多种服务器平台的混合体,如Windows NT、不同风格的UNIX等。
SAN存储设备
包括磁盘阵列、磁带机、磁带库、光盘机等,SAN解放了这些存储设备,使它们不依赖于特定的服务器总线,而是融入到网络中,存取速度快(目前一般的SAN能提供2Gbps~4Gbps的传输速率,高端SAN能提供更高
的传输速率),SAN存储设备一般采用高端的RAID阵列,使SAN的性能在几种专业存储方案中出类拔萃。
SAN互连设备
主要作用是通过光纤通道等技术实现SAN存储设备和SAN服务器组件的互连互通性。
SAN控制管理软件
管理着SAN服务器、SAN互连设备、SAN存储设备之间的接口及交互,可以通过可视化窗口在一个中心控制台进行诸多资源的集中监控与管理。
2.3.2 SAN的存储网络细分架构
目前SAN已经发展出多种存储网络细分架构,比较典型的有FC-SAN、IP-SAN、IB-SAN等,前两种比较常见。
FC-SAN:通过光纤通道协议转发SCSI协议。
IP-SAN:通过TCP协议转发SCSI协议。
FC-SAN与IP-SAN相比,前者在设备稳定性和可扩展性方面均具有一定的优势,但是在管理上较为复杂,成本也昂贵,不适合中小企业使用,而后者操作简单,价格低廉,可远距离实现数据的存取、镜像和迁移,对跨平台共享数据更友好、便捷。
2.3.3 SAN的存储协议
光纤通道协议(Fibre Channel Protocol,FCP)
互联网光纤通道协议(internet Fibre Channel Protocol,iFCP)
Internet小型计算机系统接口(iSCSI)
以太网光纤通道(Fibre Channel over Ethernet, FCoE)
基于光纤通道的非易失性内存标准(Non-VolatileMemory Express over Fibre Channel,FC-NVMe)
2.3.4 SAN的优点
SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。不受现今主流的、基于SCSI存储结构的布局限制。特别重要的是,随着存储容量的爆炸性增长,SAN允许企业独立地增加它们的存储容量。
SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。
SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。
SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。
光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。
2.3.5 SAN的局限
成本和复杂性,特别是在光纤信道中这些缺陷尤其明显。使用光纤信道的情况下,合理的成本大约是1千兆或者两千兆大概需要五万到六万美金。
虽然新推出的基于iSCSI的SAN解决方案大约只需要两万到三万美金,但是其性能却无法和光纤信道相比较。
2.3.6 使用场景
主要用于存储量大的工作环境,如ISP(网络业务提供商)、银行等。
但成本高、标准尚未确定等问题影响了SAN的市场。
3 分布式存储详解
3.1 产生背景
传统的网络存储系统采用集中的存储服务器存放所有数据,随着科学技术的发展和互联网行业的飞速发展,人们对数据存储的需求变得愈来愈大,集中式存储在一些应用场合成为了数据中心系统的瓶颈,可靠性和安全性也会经常遇到问题,难以满足大规模存储应用的需求。
3.2 分布式存储的概念
分布式存储是一种数据存储技术,它将数据通过网络分散存储到多个存储服务器/存储设备上,并将这些分散的存储资源构成一个虚拟的存储设备,实际上数据是分散地存储在企业的各个角落。
3.3 分布式存储架构
客户端(或应用端):负责发送读写请求,缓存文件数据和文件元数据
元数据服务器:处理客户端请求,管理元数据
数据服务器:存放文件数据,保证数据的可用性和完整性
元数据服务器是整个分布式存储系统的核心组件。
客户端(或应用端)和元数据服务器之间的交互是“信令交互”
客户端(或应用端)到数据服务器是“媒体交互”
当客户端需要从存储系统中读取某一个文件的信息,客户端会将相应的要求传送至元数据服务器,而元数据服务器查询后将指示传送至客户端,而客户端获取该指示后向相应的数据服务器发出指令(告诉用户端到哪台或哪几台数据服务器的相应地址读取数据),数据节点获得指令后便将相应的数据返回给客户端,从而客户端便读取到所需的信息了。
3.4 分布式存储的存储方式
3.4.1 块存储
块存储的应用特点是将裸磁盘空间整个映射给主机使用,在使用上和平常主机内置硬盘的方式并无二样,由主机操作系统里的文件系统进行管理。
块存储使用的典型设备是磁盘阵列和硬盘。
由于采用了RAID磁盘阵列等技术手段,可以对数据提供冗余保护。
多块磁盘组合成一个大容量的逻辑盘使用,提升了容量,几块磁盘可以实现并行写入,读写效率高。
将块存储以SAN架构组网,可提升传输速度和读写速率,但是通常需要为主机购买光纤通道卡和光纤交换机,组网成本高。
块存储的劣势在于主机之间的数据不易共享,也不利于不同操作系统主机间的数据共享。
主机之间的数据不易共享的原因在于块存储裸盘映射给主机并格式化使用后,在形式上就相当于变成了主机的“本地盘”,在服务器不做集群的情况下,别的主机无法使用该主机的“本地盘”。
3.4.2 文件存储
文件存储的出现是为了克服块存储无法共享的问题。
搭建FTP、NFS服务器等这些典型设备其实就是文件存储的应用范例,文件管理功能由相应的文件存储系统处理,整体造价低,一台机器加上普通以太网便可以组网,不需要专用的SAN网络。
文件存储通常通过“目录+文件名+偏移量”进行检索,文件间呈现目录层次结构。
缺点是在以太网上传下载,传输速率慢,读写速率低,读写需要一台服务器里的存储设备来承担,比起磁盘阵列同时读写,速率自然就慢了很多。
3.4.3 对象存储
为了克服块存储与文件存储各自的缺点,并发挥两者各自的优点,便有了对象存储。比较常见的对象存储方案是在多台服务器内置大容量硬盘,安装对象存储软件,接着额外配置若干台安装有对象存储管理软件的服务器用于管理节点(通常构成元数据服务器),可以管理其他服务器对外提供读写访问功能。
对象存储存储特性是呈现扁平化特点的,没有层次,其通常采用“唯一对象ID+偏移量”进行检索。
在同样的容量下,对象存储比文件存储提供更好的存储性能,还能如同文件存储一样提供很好的共享性。
存储性能只是一方面,但是在实际使用时,对象存储更关注的是容量,有些时候,如果想要高性能,则可以采用块存储的方式来进行解决。为了保障数据的安全性,对象存储可以采用单机Raid也可以采用网络Raid集群等存储架构。
在实际应用案例中,Google基于GFS的存储便是典型的对象存储。