网络存储技术的工作原理是什么?有图解释么?

网络存储技术的工作原理是什么?有图解释么?,第1张

网络存储技术(Network Storage Technologies)是基于数据存储的一种通用网络术语。网络存储结构大致分为三种:直连式存储(DAS:Direct Attached Storage)、网络存储设备(NAS:Network Attached Storage)和存储网络(SAN:Storage Area Network)。

网络存储技术

直连式存储(DAS):这是一种直接与主机系统相连接的存储设备,如作为服务器的计算机内部硬件驱动。到目前为止,DAS 仍是计算机系统中最常用的数据存储方法。 DAS即直连方式存储,英文全称是Direct Attached Storage。中文翻译成“直接附加存储”。顾名思义,在这种方式中,存储设备是通过电缆(通常是SCSI接口电缆)直接到服务器的。I/O(输入/输入)请求直接发送到存储设备。DAS,也可称为SAS(Server-Attached Storage,服务器附加存储)。它依赖于服务器,其本身是硬件的堆叠,不带有任何存储操作系统。

DAS的适用环境为:

1) 服务器在地理分布上很分散,通过SAN(存储区域网络)或NAS(网络直接存储)在它们之间进行互连非常困难时(商店或银行的分支便是一个典型的例子); 2) 存储系统必须被直接连接到应用服务器(如Microsoft Cluster Server或某些数据库使用的“原始分区”)上时; 3) 包括许多数据库应用和应用服务器在内的应用,它们需要直接连接到存储器上,群件应用和一些邮件服务也包括在内。 典型DAS结构如图所示: 典型DAS结构如图所示

对于多个服务器或多台PC的环境,使用DAS方式设备的初始费用可能比较低,可是这种连接方式下,每台PC或服务器单独拥有自己的存储磁盘,容量的再分配困难;对于整个环境下的存储系统管理,工作烦琐而重复,没有集中管理解决方案。所以整体的拥有成本(TCO)较高。目前DAS基本被NAS所代替。下面是DAS与NAS的比较。 DAS与NAS的比较图

网络存储设备(NAS):NAS 是一种采用直接与网络介质相连的特殊设备实现数据存储的机制。由于这些设备都分配有 IP 地址,所以客户机通过充当数据网关的服务器可以对其进行存取访问,甚至在某些情况下,不需要任何中间介质客户机也可以直接访问这些设备。

NAS网络存储器

1. 最大存储容量

最存储大存储容量是指NAS存储设备所能存储数据容量的极限,通俗的讲,就是NAS设备能够支持的最大硬盘数量乘以单个硬盘容量就是最大存储容量。这个数值取决于NAS设备的硬件规格。不同的硬件级别,适用的范围不同,存储容量也就有所差别。通常,一般小型的NAS存储设备会支持几百GB的存储容量,适合中小型公司作为存储设备共享数据使用,而中高档的NAS设备应该支持T级别的容量(1T=1000G)。

2. 处理器

同普通电脑类似,NAS产品也都具有自己的处理器(CPU)系统,来协调控制整个系统的正常运行。其采用的处理器也常常与台式机或服务器的CPU大体相同。目前主要有以下几类。 (1)Intel系列处理器 (4)AMD系列处理器 (5)PA-RISC型处理器 (6)PowerPC处理器 (7)MIPS处理器 一般针对中小型公司使用NAS产品采用AMD的处理器或Intel PIII/PIV等处理器。而大规模应用的NAS产品则使用Intel Xeon处理器、或者RISC型处理器等。但是也不能一概而论,视具体应用和厂商规划而定。

3. 内存

NAS从结构上讲就是一台精简型的电脑,每台NAS设备都配备了一定数量的内存,而且大多用户以后可以扩充。在NAS设备中,常见的内存类型由SDRAM(同步内存)、FLASH(闪存)等。不同的NAS产品出厂时配备的内存容量不同,一般为几十兆到数GB(1GB=1000MB)容量不等,这取决于NAS产品的应用范围,一般来讲,应用在小规模的局域网当中的NAS,如果只是应付几台设备的访问,64M以下内存容量即可。如果是上百个节点以上的访问,就得需要上G容量的内存。当然,这不是绝对的因素,NAS产品的综合性能发挥还取决于它的处理器能力、硬盘速度及其网络实际环境等因素的制约。总之,选购NAS产品时,应该综合考虑各个方面的性能参数。

4. 接口

NAS产品的外部接口比较简单,由于只是通过内置网卡与外界通讯,所以一般只具有以太网络接口,通常是RJ45规格,而这种接口网卡一般都是100M网卡或1000M网卡。另外,也有部分NAS产品需要与SAN(存储区域网络)产品连接提供更为强大的功能,所以也可能会有FC(Fiber Channel光纤通道)接口。

5. 预置软件系统

预制操作系统是指NAS产品出厂时随机带的操作系统或者管理软件。目前NAS产品一般带有以下几种系统软件。 精简的WINDOWS2000系统 这类系统只是保留了WINDOWS2000 SERVER系统核心网络中最重要的部分,能够驱动NAS产品正常工作。我们可以把它理解为WINDOWS2000的“精简版”。 FreeBSD嵌入式系统 FreeBSD是类UNIX系统,在网络应用方面具备极其优异的性能。 Linux嵌入式系统 Linux系统类似于UNIX操组系统,但相比之下具有界面友好、内核升级迅速等特点。常常用来作为电器等产品的嵌入式控制系统。

6. 网络管理

网络管理,是指网络管理员通过网络管理程序对网络上的资源进行集中化管理的操作,包括配置管理、性能和记账管理、问题管理、操作管理和变化管理等。一台设备所支持的管理程度反映了该设备的可管理性及可操作性。 一般的网络满足SNMP MIB I / MIB II统计管理功能。常见的网络管理方式有以下几种: (1)SNMP管理技术 (2)RMON管理技术 (3)基于WEB的网络管理 SNMP是英文“Simple Network Management Protocol”的缩写,中文意思是“简单网络管理协议”。SNMP首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。 SNMP是目前最常用的环境管理协议。SNMP被设计成与协议无关,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的传输协议上被使用。SNMP是一系列协议组和规范(见下表),它们提供了一种从网络上的设备中收集网络管理信息的方法。SNMP也为设备向网络管理工作站报告问题和错误提供了一种方法。 目前,几乎所有的网络设备生产厂家都实现了对SNMP的支持。领导潮流的SNMP是一个从网络上的设备收集管理信息的公用通信协议。设备的管理者收集这些信息并记录在管理信息库(MIB)中。这些信息报告设备的特性、数据吞吐量、通信超载和错误等。MIB有公共的格式,所以来自多个厂商的SNMP管理工具可以收集MIB信息,在管理控制台上呈现给系统管理员。 通过将SNMP嵌入数据通信设备,如交换机或集线器中,就可以从一个中心站管理这些设备,并以图形方式查看信息。目前可获取的很多管理应用程序通常可在大多数当前使用的操作系统下运行,如Windows3.11、Windows95 、Windows NT和不同版本UNIX的等。 一个被管理的设备有一个管理代理,它负责向管理站请求信息和动作,代理还可以借助于陷阱为管理站提供站动提供的信息,因此,一些关键的网络设备(如集线器、路由器、交换机等)提供这一管理代理,又称SNMP代理,以便通过SNMP管理站进行管理。

7. 网络协议

网络协议即网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。 一台计算机只有在遵守网络协议的前提下,才能在网络上与其他计算机进行正常的通信。网络协议通常被分为几个层次,每层完成自己单独的功能。通信双方只有在共同的层次间才能相互联系。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。在局域网中用得的比较多的是IPX/SPX.。用户如果访问Internet,则必须在网络协议中添加TCP/IP协议。 TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议)协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。 对普通用户来说,并不需要了解网络协议的整个结构,仅需了解IP的地址格式,即可与世界各地进行网络通信。 IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip地址,而是使用网卡的物理地址即(MAC)地址。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft等,到现在很多软件和硬件也均支持这种协议。 NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。总之NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,局域网的计算机最好也安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。

8. 网络文件协议

网络文件系统是基于网络的分布式文件系统,其文件系统树的各节点可以存在于不同的联网计算机甚至不同的系统平台上,可以用来提供跨平台的信息存储与共享。 当今最主要的两大网络文件系统是Sun提出的NFS(Network File System)以及由微软、EMC和NetApp提出的CIFS(Common Internet File System),前者主要用于各种Unix平台,后者则主要用于Windows平台,我们熟悉的“网上邻居”的文件共享方式就是基于CIFS系统的。其他著名的网络文件系统还有Novell公司的NCP(网络控制协议)、Apple公司的AFP以及卡内基-梅隆大学的Coda等,NAS的主要功能之一便是通过各种网络文件系统提供存储服务。

9. 网络备份软件

目前在数据存储领域可以完成网络数据备份管理的软件产品主要有Legato公司的NetWorker、IBM公司 的Tivoli、Veritas公司 的NetBackup等。另外有些操作系统,诸如Unix的tar/cpio、Windows2000/NT的Windows Backup、Netware的Sbackup也可以作为NAS的备份软件。

NetBackup

NetBackup是Veritas公司推出的适用于中型和大型的存储系统的备份软件,可以广泛的支持各种开放平台。另外该公司还推出了适合低端的备份软件Backup Exec。

NetWorker

NetWorker是Legato公司推出的备份软件,它适用于大型的复杂网络环境,具有各种先进的备份技术机制,广泛的支持各种开放系统平台。值得一提的是, NetWorker中的Cellestra技术第一个在产品上实现了Serverless Backup(无伺服器备份)的思想。

IBM Tivoli

IBM Tivoli是IBM公司推出的备份软件,与Veritas的NetBackup和Legato的NetWorker相比,Tivoli Storage Manager更多的适用于IBM主机为主的系统平台,其强大的网络备份功能可以胜任大规模的海量存储系统的备份需要。 此外,CA公司原来的备份软件ARCServe,在低端市场具有相当广泛的影响力。其新一代备份产品--BrightStor,定位直指中高端市场,也具有不错的性能。 选购备份软件时,应该根据不同的用户需要选择合适的产品,理想的网络备份软件系统应该具备以下功能:

集中式管理

网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服务器或应用服务器相连的任意一台磁带库内。

全自动的备份

备份软件系统应该能够根据用户的实际需求,定义需要备份的数据,然后以图形界面方式根据需要设置备份时间表,备份系统将自动启动备份作业,无需人工干预。这个自动备份作业是可自定的,包括一次备份作业、每周的某几日、每月的第几天等项目。设定好计划后,备份作业就会按计划自动进行。

数据库备份和恢复

在许多人的观念里,数据库和文件还是一个概念。当然,如果你的数据库系统是基于文件系统的,当然可以用备份文件的方法备份数据库。但发展至今,数据库系统已经相当复杂和庞大,再用文件的备份方式来备份数据库已不适用。是否能够将需要的数据从庞大的数据库文件中抽取出来进行备份,是网络备份系统是否先进的标志之一。

在线式的索引

备份系统应为每天的备份在服务器中建立在线式的索引,当用户需要恢复时,只需点取在线式索引中需要恢复的文件或数据,该系统就会自动进行文件的恢复。

归档管理

用户可以按项目、时间定期对所有数据进行有效的归档处理。提供统一的Open Tape Format 数据存储格式从而保证所有的应用数据由一个统一的数据格式作为永久的保存,保证数据的永久可利用性。

有效的媒体管理

备份系统对每一个用于作备份的磁带自动加入一个电子标签,同时在软件中提供了识别标签的功能,如果磁带外面的标签脱落,只需执行这一功能,就会迅速知道该磁带的内容。

满足系统不断增加的需求

备份软件必须能支持多平台系统,当网络上连接上其它的应用服务器时,对于网络存储管理系统来说,只需在其上安装支持这种服务器的客户端软件即可将数据备份到磁带库或光盘库中。

10. 网站浏览器支持

网站浏览器支持是指能否够通过WEB(就是WWW,俗称互联网)手段对NAS产品进行管理,以及管理时使用的浏览器类型。绝大部分的NAS产品都支持WEB管理,这样的好处是管理方便,用户在任何地方只要能够上网就可以轻松的管理NAS设备。 目前NAS产品支持的常用浏览器有微软的IE(Internet Explorer)浏览器以及网景公司的Netscape浏览器。

11. 网络服务

网络服务是指NAS产品在运行时系统能够提供何种服务。典型的网络服务有DHCP、DNS、FTP、Telnet、WINS、SMTP等。

DHCP

DHCP的全名是“Dynamic Host Configuration Protocol”,即动态主机配置协议。在使用DHCP的网络里,用户的计算机可以从DHCP服务器那里获得上网的参数,几乎不需要做任何手工的配置就可以上网。 一般情况下,DHCP服务器会尽量保持每台计算机使用同一个IP地址上网。如果计算机长时间没有上网或配置为使用静态地址上网,DHCP服务器就会把这个地址分配给其他计算机。

WINS

WINS是“Windows Internet Name Service”的简称,中文为Windows网际命名服务,WINS服务器主要用于NetBIOS名字(计算机名称)服务,它处理的是NetBIOS计算机名(Computer Name),所以也被称为NetBIOS名字服务器(NBNS,NetBIOS Name Server)。WINS服务器可以登记WINS-enabled工作站(下面简称为“WINS工作站”)的计算机名、IP地址、DNS域名等数据,当工作站查询名字时,它又可以将这些数据提供给工作站。

DNS

DNS,Domain Name System或者Domain Name Service(域名系统或者余名服务)。域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。

FTP

文件传输协议FTP(File Transfer Protocol)是Internet传统的服务之一。FTP使用户能在两个联网的计算机之间传输文件,它是Internet传递文件最主要的方法。使用匿名(Anonymous)FTP, 用户可以免费获取Internet丰富的资源。除此之外,FTP还提供登录、目录查询、文件操作及其他会话控制功能。

SMTP

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转你发出的电子邮件。

Telnet

有的时候我们需要运行一些很大的程序,而自己的PC又达不到运行这个程序所必须的配置,在这种情况下,我们可以通过网络连接上一台功能强大的计算机,并且把自己的PC模拟成那台计算机的终端,进而达到在该计算机上运行程序的目的。这种利用网络远程登录到其他计算机上,并且以虚拟终端方式遥控程序运行的做法就是TELNET。随着计算机硬件的发展,目前TELNET在一般网络用户中已经不是很普遍了,但是对于网络管理员来说,它仍然是个得力助手。

12. 网络安全

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 网络安全实际上包括两部分:网络的安全和主机系统的安全。网络安全主要通过设置防火墙来实现,也可以考虑在路由器上设置一些数据包过滤的方法防止来自Internet上的黑客的攻击。至于系统的安全则需根据不同的操作系统来修改相关的系统文件,合理设置用户权限和文件属性。 NAS产品的网络安全应具有以下四个方面的特征: 保密性:信息不泄露给非授权用户、实体或过程,或供其利用的特性。 完整性: 数据未经授权不能进行改变的特性。即信息在存储或传输过程中保持不被修 改、不被破坏和丢失的特性。 可用性:可被授权实体访问并按需求使用的特性。即当需要时能否存取所需的信息。例 如网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击; 可控性:对信息的传播及内容具有控制能力。

13. NAS

NAS是英文“Network Attached Storage”的缩写, 中文意思是“网络附加存储”。按字面简单说就是连接在网络上, 具备资料存储功能的装置,因此也称为“网络存储器”或者“网络磁盘阵列”。 从结构上讲,NAS是功能单一的精简型电脑,因此在架构上不像个人电脑那么复杂,在外观上就像家电产品,只需电源与简单的控制钮, 结构图如下: NAS是一种专业的网络文件存储及文件备份设备,它是基于LAN(局域网)的,按照TCP/IP协议进行通信,以文件的I/O(输入/输出)方式进行数据传输。在LAN环境下,NAS已经完全可以实现异构平台之间的数据级共享,比如NT、UNIX等平台的共享。 一个NAS系统包括处理器,文件服务管理模块和多个硬盘驱动器(用于数据的存储)。 NAS 可以应用在任何的网络环境当中。主服务器和客户端可以非常方便地在NAS上存取任意格式的文件,包括SMB格式(Windows)NFS格式(Unix, Linux)和CIFS(Common Internet File System)格式等等。典型的NAS的网络结构如下图所示: 存储网络(SAN):SAN 是指存储设备相互连接且与一台服务器或一个服务器群相连的网络。其中的服务器用作 SAN 的接入点。在有些配置中,SAN 也与网络相连。SAN 中将特殊交换机当作连接设备。它们看起来很像常规的以太网络交换机,是 SAN 中的连通点。SAN 使得在各自网络上实现相互通信成为可能,同时并带来了很多有利条件。 SAN英文全称:Storage Area Network,即存储区域网络。它是一种通过光纤集线器、光纤路由器、光纤交换机等连接设备将磁盘阵列、磁带等存储设备与相关服务器连接起来的高速专用子网。 SAN由三个基本的组件构成:接口(如SCSI、光纤通道、ESCON等)、连接设备(交换设备、网关、路由器、集线器等)和通信控制协议(如IP和SCSI等)。这三个组件再加上附加的存储设备和独立的SAN服务器,就构成一个SAN系统。SAN提供一个专用的、高可靠性的基于光通道的存储网络,SAN允许独立地增加它们的存储容量,也使得管理及集中控制(特别是对于全部存储设备都集群在一起的时候)更加简化。而且,光纤接口提供了10 km的连接长度,这使得物理上分离的远距离存储变得更容易.

磁盘阵列(Disk Array)原理

1.为什么需要磁盘阵列?

如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效

的利用磁盘空间,一直是电脑专业人员和用户的困扰而大容量磁盘的价格非常昂贵,对

用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。

过去十几年来,CPU的处理速度增加了五十倍有多,内存(memory)的存取速度亦大

幅增加,而数据储存装置--主要是磁盘(hard disk)--的存取速度只增加了三、四倍,形

成电脑系统的瓶颈,拉低了电脑系统的整体性能(through put),若不能有效的提升磁盘

的存取速度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。

目前改进磁盘存取速度的的方式主要有两种。一是磁盘快取控制(disk cache

controller),它将从磁盘读取的数据存在快取内存(cache memory)中以减少磁盘存取

的次数,数据的读写都在快取内存中进行,大幅增加存取的速度,如要读取的数据不在快

取内存中,或要写数据到磁盘时,才做磁盘的存取动作。这种方式在单工环境(single-

tasking envioronment)如DOS之下,对大量数据的存取有很好的性能(量小且频繁的存

取则不然),但在多工(multi-tasking)环境之下(因为要不停的作数据交换(swapping)

的动作)或数据库(database)的存取(因为每一记录都很小)就不能显示其性能。这种方

式没有任何安全保障。

其二是使用磁盘阵列的技术。磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘

使用,它将数据以分段(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相

关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用率。磁盘阵列所利用

的不同的技术,称为RAID level,不同的level针对不同的系统及应用,以解决数据安全

的问题。

一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的把磁盘快取控制及磁盘

阵列结合在一个控制器(RAID controler或控制卡上,针对不同的用户解决人们对磁

盘输出入系统的四大要求:

(1)增加存取速度,

(2)容错(fault tolerance),即安全性

(3)有效的利用磁盘空间

(4)尽量的平衡CPU,内存及磁盘的性能差异,提高电脑的整体工作性能。

2.磁盘阵列原理

磁盘阵列中针对不同的应用使用的不同技术,称为RAID level,RAID是Redundent

Array of Inexpensive Disks的缩写,而每一level代表一种技术,目前业界公认的标

准是RAID 0~RAID 5。这个level并不代表技术的高低,level 5并不高于level 3,level

1也不低过level 4,至于要选择那一种RAID level的产品,纯视用户的操作环境

(operating environment)及应用(application)而定,与level的高低没有必然的关系。

RAID 0及RAID 1适用于PC及PC相关的系统如小型的网络服务器(network server)及

需要高磁盘容量与快速磁盘存取的工作站等,比较便宜RAID 3及RAID 4适用于大型电

脑及影像、CAD/CAM等处理RAID 5多用于OLTP,因有金融机构及大型数据处理中心的

迫切需要,故使用较多而较有名气, RAID 2较少使用,其他如RAID 6,RAID 7,乃至RAID

10等,都是厂商各做各的,并无一致的标准,在此不作说明。介绍各个RAID level之前,

先看看形成磁盘阵列的两个基本技术:

磁盘延伸(Disk Spanning):

译为磁盘延伸,能确切的表示disk spanning这种技术的含义。如图磁盘阵列控制器,

联接了四个磁盘,这四个磁盘形成一个阵列(array),而磁盘阵列的控制器(RAID

controller)是将此四个磁盘视为单一的磁盘,如DOS环境下的C:盘。这是disk

spanning的意义,因为把小容量的磁盘延伸为大容量的单一磁盘,用户不必规划数据在

各磁盘的分布,而且提高了磁盘空间的使用率。并使磁盘容量几乎可作无限的延伸而各

个磁盘一起作取存的动作,比单一磁盘更为快捷。很明显的,有此阵列的形成而产生

RAID的各种技术。

磁盘或数据分段(Disk Striping or Data Striping):

因为磁盘阵列是将同一阵列的多个磁盘视为单一的虚拟磁盘(virtual disk),所以其数

据是以分段(block or segment)的方式顺序存放在磁盘阵列中,数据按需要分段,从第一

个磁盘开始放,放到最后一个磁盘再回到第一个磁盘放起,直到数据分布完毕。至于分段

的大小视系统而定,有的系统或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB

的,但除非数据小于一个扇区(sector,即521bytes),否则其分段应是512byte的倍数。

因为磁盘的读写是以一个扇区为单位,若数据小于512bytes,系统读取该扇区后,还要

做组合或分组(视读或写而定)的动作,浪费时间。从上图我们可以看出,数据以分段于在

不同的磁盘,整个阵列的各个磁盘可同时作读写,故数据分段使数据的存取有最好的效

率,理论上本来读一个包含四个分段的数据所需要的时间约=(磁盘的access time+数据

的tranfer time)X4次,现在只要一次就可以完成。

若以N表示磁盘的数目,R表示读取,W表示写入,S表示可使用空间,则数据分段的性能

为:

R:N(可同时读取所有磁盘)

W:N(可同时写入所有磁盘)

S:N(可利用所有的磁盘,并有最佳的使用率)

Disk striping也称为RAID 0,很多人以为RAID 0没有甚么,其实这是非常错误的观念,

因为RAID 0使磁盘的输出入有最高的效率。而磁盘阵列有更好效率的原因除数据分段

外,它可以同时执行多个输出入的要求,因为阵列中的每一个磁盘都能独立动作,分段放

在不同的磁盘,不同的磁盘可同时作读写,而且能在快取内存及磁盘作并行存取

(parallel access)的动作,但只有硬件的磁盘阵列才有此性能表现。

从上面两点我们可以看出,disk spanning定义了RAID的基本形式,提供了一个便宜、

灵活、高性能的系统结构,而disk striping解决了数据的存取效率和磁盘的利用率问

题,RAID 1至RAID 5是在此基础上提供磁盘安全的方案。

RAID 1

RAID 1是使用磁盘镜像(disk mirroring)的技术。磁盘镜像应用在RAID 1之前就在很

多系统中使用,它的方式是在工作磁盘(working disk)之外再加一额外的备份磁盘

(backup disk),两个磁盘所储存的数据完全一样,数据写入工作磁盘的同时亦写入备份

磁盘。磁盘镜像不见得就是RAID 1,如Novell Netware亦有提供磁盘镜像的功能,但并

不表示Netware有了RAID 1的功能。一般磁盘镜像和RAID 1有二点最大的不同:

RAID 1无工作磁盘和备份磁盘之分,多个磁盘可同时动作而有重叠(overlaping)读取的

功能,甚至不同的镜像磁盘可同时作写入的动作,这是一种最佳化的方式,称为负载平衡

(load-balance)。例如有多个用户在同一时间要读取数据,系统能同时驱动互相镜像的

磁盘,同时读取数据,以减轻系统的负载,增加I/O的性能。

RAID 1的磁盘是以磁盘延伸的方式形成阵列,而数据是以数据分段的方式作储存,因而

在读取时,它几乎和RAID 0有同样的性能。从RAID的结构就可以很清楚的看出RAID 1

和一般磁盘镜像的不同。

下图为RAID 1,每一笔数据都储存两份:

从图可以看出:

R:N(可同时读取所有磁盘)

W:N/2(同时写入磁盘数)

S:N/2(利用率)

读取数据时可用到所有的磁盘,充分发挥数据分段的优点写入数据时,因为有备份,所

以要写入两个磁盘,其效率是N/2,磁盘空间的使用率也只有全部磁盘的一半。

很多人以为RAID 1要加一个额外的磁盘,形成浪费而不看好RAID 1,事实上磁盘越来越

便宜,并不见得造成负担,况且RAID 1有最好的容错(fault tolerence)能力,其效率也

是除RAID 0之外最好的。

在磁盘阵列的技术上,从RAID 1到RAID 5,不停机的意思表示在工作时如发生磁盘故障,

系统能持续工作而不停顿,仍然可作磁盘的存取,正常的读写数据而容错则表示即使磁

盘故障,数据仍能保持完整,可让系统存取到正确的数据,而SCSI的磁盘阵列更可在工

作中抽换磁盘,并可自动重建故障磁盘的数据。磁盘阵列之所以能做到容错及不停机,

是因为它有冗余的磁盘空间可资利用,这也就是Redundant的意义。

RAID 2

RAID 2是把数据分散为位(bit)或块(block),加入海明码Hamming Code,在磁盘阵列中

作间隔写入(interleaving)到每个磁盘中,而且地址(address)都一样,也就是在各个磁

盘中,其数据都在相同的磁道(cylinder or track)及扇区中。RAID 2的设计是使用共

轴同步(spindle synchronize)的技术,存取数据时,整个磁盘阵列一起动作,在各作磁

盘的相同位置作平行存取,所以有最好的存取时间(accesstime),其总线(bus)是特别的

设计,以大带宽(band wide)并行传输所存取的数据,所以有最好的传输时间(transfer

time)。在大型档案的存取应用,RAID 2有最好的性能,但如果档案太小,会将其性能拉

下来,因为磁盘的存取是以扇区为单位,而RAID 2的存取是所有磁盘平行动作,而且是作

单位元的存取,故小于一个扇区的数据量会使其性能大打折扣。RAID 2是设计给需要连

续且大量数据的电脑使用的,如大型电脑(mainframe to supercomputer)、作影像处理

或CAD/CAM的工作站(workstation)等,并不适用于一般的多用户环境、网络服务器

(network server),小型机或PC。

RAID 2的安全采用内存阵列(memory array)的技术,使用多个额外的磁盘作单位错误校

正(single-bit correction)及双位错误检测(double-bit detection)至于需要多少个

额外的磁盘,则视其所采用的方法及结构而定,例如八个数据磁盘的阵列可能需要三个

额外的磁盘,有三十二个数据磁盘的高档阵列可能需要七个额外的磁盘。

RAID 3

RAID 3的数据储存及存取方式都和RAID 2一样,但在安全方面以奇偶校验(parity

check)取代海明码做错误校正及检测,所以只需要一个额外的校检磁盘(parity disk)。

奇偶校验值的计算是以各个磁盘的相对应位作XOR的逻辑运算,然后将结果写入奇偶校

验磁盘,任何数据的修改都要做奇偶校验计算,如图:

如某一磁盘故障,换上新的磁盘后,整个磁盘阵列(包括奇偶校验磁盘)需重新计算一次,

将故障磁盘的数据恢复并写入新磁盘中如奇偶校验磁盘故障,则重新计算奇偶校验值,

以达容错的要求.

较之RAID 1及RAID 2,RAID 3有85%的磁盘空间利用率,其性能比RAID 2稍差,因为要

做奇偶校验计算共轴同步的平行存取在读档案时有很好的性能,但在写入时较慢,需要

重新计算及修改奇偶校验磁盘的内容。RAID 3和RAID 2有同样的应用方式,适用大档

案及大量数据输出入的应用,并不适用于PC及网络服务器。

RAID 4

RAID 4也使用一个校验磁盘,但和RAID 3不一样,如图:

RAID 4是以扇区作数据分段,各磁盘相同位置的分段形成一个校验磁盘分段(parity

block),放在校验磁盘。这种方式可在不同的磁盘平行执行不同的读取命今,大幅提高磁

盘阵列的读取性能但写入数据时,因受限于校验磁盘,同一时间只能作一次,启动所有

磁盘读取数据形成同一校验分段的所有数据分段,与要写入的数据做好校验计算再写

入。即使如此,小型档案的写入仍然比RAID 3要快,因其校验计算较简单而非作位(bit

level)的计算但校验磁盘形成RAID 4的瓶颈,降低了性能,因有RAID 5而使得RAID 4

较少使用。

RAID 5

RAID5避免了RAID 4的瓶颈,方法是不用校验磁盘而将校验数据以循环的方式放在每一

个磁盘中,如下图:

磁盘阵列的第一个磁盘分段是校验值,第二个磁盘至后一个磁盘再折回第一个磁盘的分

段是数据,然后第二个磁盘的分段是校验值,从第三个磁盘再折回第二个磁盘的分段是

数据,以此类推,直到放完为止。图中的第一个parity block是由A0,A1...,B1,B2计算

出来,第二个parity block是由B3,B4,...,C4,D0计算出来,也就是校验值是由各磁盘

同一位置的分段的数据所计算出来。这种方式能大幅增加小档案的存取性能,不但可同

时读取,甚至有可能同时执行多个写入的动作,如可写入数据到磁盘1而其parity

block在磁盘2,同时写入数据到磁盘4而其parity block在磁盘1,这对联机交易处理

(OLTP,On-Line Transaction Processing)如银行系统、金融、股市等或大型数据库的

处理提供了最佳的解决方案(solution),因为这些应用的每一笔数据量小,磁盘输出入

频繁而且必须容错。

事实上RAID 5的性能并无如此理想,因为任何数据的修改,都要把同一parityblock的

所有数据读出来修改后,做完校验计算再写回去,也就是RMW cycle(Read-Modify-Write

cycle,这个cycle没有包括校验计算)正因为牵一而动全身,所以:

R:N(可同时读取所有磁盘)

W:1(可同时写入磁盘数)

S:N-1(利用率)

RAID 5的控制比较复杂,尤其是利用硬件对磁盘阵列的控制,因为这种方式的应用比其

他的RAID level要掌握更多的事情,有更多的输出入需求,既要速度快,又要处理数据,

计算校验值,做错误校正等,所以价格较高其应用最好是OLTP,至于用于图像处理等,

不见得有最佳的性能。

2.磁盘阵列的额外容错功能:Spare or Standby driver

事实上容错功能已成为磁盘阵列最受青睐的特性,为了加强容错的功能以及使系统在磁

盘故障的情况下能迅速的重建数据,以维持系统的性能,一般的磁盘阵列系统都可使用

热备份(hot spare or hot standby driver)的功能,所谓热备份是在建立(configure)

磁盘阵列系统的时候,将其中一磁盘指定为后备磁盘,此一磁盘在平常并不操作,但若阵

列中某一磁盘发生故障时,磁盘阵列即以后备磁盘取代故障磁盘,并自动将故障磁盘的

数据重建(rebuild)在后备磁盘之上,因为反应快速,加上快取内存减少了磁盘的存取,

所以数据重建很快即可完成,对系统的性能影响很小。对于要求不停机的大型数据处理

中心或控制中心而言,热备份更是一项重要的功能,因为可避免晚间或无人值守时发生

磁盘故障所引起的种种不便。

另一个额外的容错功能是坏扇区转移(bad sector reassignment)。坏扇区是磁盘故障

的主要原因,通常磁盘在读写时发生坏扇区的情况即表示此磁盘故障,不能再作读写,甚

至有很多系统会因为不能完成读写的动作而死机,但若因为某一扇区的损坏而使工作不

能完成或要更换磁盘,则使得系统性能大打折扣,而系统的维护成本也未免太高了。坏扇

区转移是当磁盘阵列系统发现磁盘有坏扇区时,以另一空白且无故障的扇区取代该扇区,

以延长磁盘的使用寿命,减少坏磁盘的发生率以及系统的维护成本。所以坏扇区转移功

能使磁盘阵列具有更好的容错性,同时使整个系统有最好的成本效益比。其他如可外接

电池备援磁盘阵列的快取内存,以避免突然断电时数据尚未写回磁盘而损失或在RAID

1时作写入一致性的检查等,虽是小技术,但亦不可忽视。

3.硬件磁盘阵列还是软件磁盘阵列

市面上有所谓硬件磁盘阵列与软件磁盘阵列之分,因为软件磁盘阵列是使用一块SCSI

卡与磁盘连接,一般用户误以为是硬件磁盘阵列。以上所述主要是针对硬件磁盘阵列,

其与软件磁盘阵列有几个最大的区别:

l 一个完整的磁盘阵列硬件与系统相接。

l 内置CPU,与主机并行运作,所有的I/O都在磁盘阵列中完成,减轻主机的工作负载,

增加系统整体性能。

l 有卓越的总线主控(bus mastering)及DMA(Direct Memory Access)能力,加速数据

的存取及传输性能。

l 与快取内存结合在一起,不但增加数据的存取及传输性能,更因减少对磁盘的存取

而增加磁盘的寿命。

l 能充份利用硬件的特性,反应快速。

软件磁盘阵列是一个程序,在主机执行,透过一块SCSI卡与磁盘相接形成阵列,它最大

的优点是便宜,因为没有硬件成本(包括研发、生产、维护等),而SCSI卡很便宜(亦有的

软件磁盘阵列使用指定的很贵的SCSI卡)它最大的缺点是使主机多了很多进程

(process),增加了主机的负担,尤其是输出入需求量大的系统。目前市面上的磁盘阵列

系统大部份是硬件磁盘阵列,软件磁盘阵列较少。

4.磁盘阵列卡还是磁盘阵列控制器

磁盘阵列控制卡一般用于小系统,供单机使用。与主机共用电源,在关闭主机电源时存

在丢失Cache中的数据的的危险。磁盘阵列控制卡只有常用总线方式的接口,其驱动程

序与主机、主机所用的操作系统都有关系,有软、硬件兼容性问题并潜在地增加了系统

的不安定因素。在更换磁盘阵列卡时要冒磁盘损坏,资料失落,随时停机的风险。

独立式磁盘阵列控制一般用于较大型系统,可分为两种:

单通道磁盘阵列和多通道式磁盘阵列,单通道磁盘阵列只能接一台主机,有很大的

扩充限制。多通道磁盘阵列可接多个系统同时使用,以群集(cluster)的方式共用磁盘阵

列,这使内接式阵列控制及单接式磁盘阵列无用武之地。目前多数独立形式的磁盘阵列

子系统,其本身与主机系统的硬件及操作环境?BR>

--

※ 来源:.广州网易 BBS bbs.nease.net.[FROM: 202.103.153.151]

发信人: secu (secu), 信区: WinNT

标 题: Re: NT下做RAID

发信站: 广州网易 BBS (Mon Aug 24 17:59:42 1998), 转信

【 在 davychen (xiaoque) 的大作中提到: 】

: 【 在 Magicboy (师傅仔) 的大作中提到: 】

: : 请问用SCSI硬盘做软件RAID与用性能更高一些的IDE硬盘做软件镜象,哪个

: : 性能更好一些?

: 当然是SCSI,但用软件镜象不能实现双工。因为备分的只是数据部分,引导区部分不在

: 上面。如果用IDE的话,无论RAID0,1,5,10,50都必须同时读写。可能很快斐捎才袒?/font>

: 道或扇区。RAID 0,1只要求两个硬盘,RAID 5则至少三个硬盘。

首先,IDE的性能不会比SCSI更高的。特别是在多任务的情况下。一般广告给出的是

最大传送速度,并不是工作速度。同一时期的IDE与SCSI盘相比,主要是产量比较大,

电路比较简单,所以价格比SCSI低很多,但要比性能,则差远了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/315557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存