1. DAS (Direct-attached Storage)
直连式存储,顾名思义这是一种通过总线适配器直接将硬盘等存储介质连接到主机上的存储方式,在存储设备和主机之间没有任何网络设备的参与,此概念主要用于区别NAS和SAN等网络存储。可以说DAS是最原始最基本的存储方式,在个人电脑、服务器上随处可见。常见的用于连接DAS和主机系统的协议/标准主要有ATA、SATA、eSATA、SCSI、SAS和FibreChannel等。DAS的优势在于简单易用、读写效率高等;缺点在于容量有限、难于共享,从而造成“信息孤岛”(Islandsof Information)。
2. RAID (Redundant Array of Independent/InexpensiveDisks)
独立磁盘冗余阵列,是一种将多块独立的硬盘(物理硬盘)按不同的组合方式形成一个硬盘组(逻辑硬盘),从而提供比单块硬盘更大的存储容量、更高的可靠性和更快的读写性能等。该概念最早由加州大学伯克利分校的几名教授于1987年提出。早期主要通过RAID控制器等硬件来实现RAID磁盘阵列,后来出现了基于软件实现的RAID,比如mdadm等。按照磁盘阵列的不同组合方式,可以将RAID分为不同级别,包括RAID0到RAID6等7个基本级别,以及RAID0+1和RAID10等扩展级别。不同RAID级别代表着不同的存储性能、数据安全性和存储成本等。下面我们将分别介绍这几种RAID级别。
RAID 0: 简单地说,RAID0主要通过将多块硬盘“串联”起来,从而形成一个更大容量的逻辑硬盘。RAID0通过“条带化(striping)”将数据分成不同的数据块,并依次将这些数据块写到不同的硬盘上。因为数据分布在不同的硬盘上,所以数据吞吐量得到大大提升。但是,很容易看出RAID0没有任何数据冗余,因此其可靠性不高。
RAID 1:如果说RAID 0是RAID中一种只注重存储容量而没有任何容错的极端形式,那么RAID1则是有充分容错而不关心存储利用率的另一种极端表现。RAID1通过“镜像(mirroring)”,将每一份数据都同时写到多块硬盘(一般是两块)上去,从而实现了数据的完全备份。因此,RAID1 支持“热替换”,在不断电的情况下对故障磁盘进行更换。一般情况下,RAID1 控制器在读取数据时支持负载平衡,允许数据从不同磁盘上同时读取,从而提高数据的读取速度;但是,RAID1在写数据的性能没有改善。
RADI 2:RAID 2以比特(bit)为单位,将数据“条带化(striping)”分布存储在不同硬盘上;同时,将不同硬盘上同一位置的数据位用海明码进行编码,并将这些编码数据保存在另外一些硬盘的相同位置上,从而实现错误检查和恢复。因为技术实施上的复杂性,商业环境中很少采用RAID2。
RAID 3:与RAID 2类似,不同的是:1)以字节(byte)为单位进行“条带化”处理;2)以奇偶校验码取代海明码。RAID3的读写性能都还不错,而且存储利用率也相当高,可达到(n-1)/n。但是对于随即读写操作,奇偶盘会成为写操作的瓶颈。
RAID 4:与RAID 3的分布结构类似,不同的是RAID 4以数据块(block)为单位进行奇偶校验码的计算。另外,与RAID2和RAID3不同的是,RAID4中各个磁盘是独立操作的,并不要求各个磁盘的磁头同步转动。因此,RAID4允许多个I/O请求并行处理。
RAID 5: RAID 3和RAID 4都存在同一个问题,就是奇偶校验码放在同一个硬盘上,容易造成写操作的瓶颈。RAID5与RAID4基本相同,但是其将奇偶校验码分开存放到不同的硬盘上去,从而减少了写奇偶校验码带来瓶颈的可能性。
RAID 6:在RAID 5的基础上,RAID 6又另外增加了一组奇偶校验码,从而获得更高的容错性,最多允许同时有两块硬盘出现故障。但是,新增加的奇偶校验计算同时也带来了写操作性能上的损耗。
RAID 0+1: 为了获取更好的I/O吞吐率或者可靠性,将不同的RAID标准级别混合产生的组合方式叫做嵌套式RAID,或者混合RAID。RAID0+1是先将硬盘分为若干组,每组以RAID0的方式组成“条带化”的硬盘阵列,然后将这些组RAID0的硬盘阵列以RAID1的方式组成一个大的硬盘阵列。
RAID 10: 类似于RAID 0+1, RAID 10则是先“镜像”(RAID 1)、后“条带化”(RAID0)。RAID0+1和RAID10性能上并无太大区别,但是RAID10在可靠性上要好于RAID0+1。这是因为在RAID10中,任何一块硬盘出现故障不会影响到整个磁盘阵列,即整个系统仍将以RAID10的方式运行;而RAID0+1中,一个硬盘出现故障则会导致其所在的RAID0子阵列全部无法正常工作,从而影响到整个RAID0+1磁盘阵列 – 在只有两组RAID0子阵列的情况下,整个系统将完全降级为RAID0级别。
3. JBOD (Just a Bunch Of Disks)
JBOD是指在一个底板上安装的带有多个磁盘驱动器的存储设备,类似于RAID,但实质上又不同。因此中文多将其翻译为磁盘簇。JBOD通过SCSI电缆或其他连接方式,将多块磁盘串联起来,组成一个大的逻辑磁盘 。因此,相比起一堆松散的磁盘,JBOD更容易管理。典型的JBOD磁盘系统可以容纳8个或者16个硬盘。连接在这个JBOD上的服务器将所有这些磁盘识别成为一系列单独的磁盘。因此,一个16个硬盘合并的JBOD磁盘系统需要16个设备地址。在一些I/O技术,比如SCSI和光纤环路中,这会引发设备地址不足等问题。
和RAID磁盘阵列不同,JBOD没有前段逻辑来管理磁盘上的数据分布,每个磁盘都是进行独立寻址。常见的情况是,JBOD上的数据简单地从第一块磁盘开始存储,当第块磁盘存储空间用完后,在依次存储到其他磁盘上。另外,相比起智能磁盘系统,JBOD磁盘系统尤其不适合于支持RAID或者其他类型的虚拟化。尽管如此,如果的确需要的话,这些都可以在JBOD磁盘系统的外部实现,比如使用服务器端的软件实现或者在存储网络中采用单独的虚拟化实体。相比较于RAID磁盘阵列,JBOD缺乏数据安全保障和数据分布管理等功能,但是基于其低成本、大容量和易管理等特点,JBOD最近几年在业界还是得到了广泛的使用。
4. SCSI (Small Computer System Interface)
小型计算机系统接口,是一种智能的通用接口标准,定义了一系列用于连接计算机和各种外部设备的命令、协议以及接口规范等,常见用于硬盘和磁带等设备。第一个版本的SCSI标准于1986年由美国国家标准协会(ANSI)制定,至今已形成很多新的标准和扩展等,比如FastSCSI、UltraSCSI等。
SCSI initiator和target: 在一个SCSI会话(session)中,负责发起会话和发送SCSI命令的一端被称作initiator。而另一端主要负责接收、处理各种SCSI命令,并负责数据的传输,被称作target。简单地讲,可以分别将initiator和target类比于C/S架构中的客户端(client)和服务端(server)。一般情况下,用户计算机或服务器扮演initiator的角色,而存储设备承担了target的角色。
SCSI ID 和LUN: 依照不同版本的SCSI标准,一个SCSI总线最多可以连接8个或16个SCSI设备—实际情况中,在总线的末端一般要安装一个SCSI终结器(terminator),所以最多可用的SCSI设备为7个或15个。每个连接在SCSI总线上的设备都一个唯一的ID号。鉴于一个SCSI总线上设备数量的限制(最多8个或16个),一般SCSI存储设备都会由若干个子设备组成,比如RAID磁盘阵列、磁带库等。为了标识这些子设备,SCSI标准引入了LUN的概念,即逻辑单元号(LogicalUnit Number)。所以,一个SCSI会话中,为了标识一个SCSItarget,需要同时指明SCSI控制器ID、SCSI ID和LUN。
SCSI有多种接口形式,早期主要是并行的SCSI接口(如SPI);在2008年,串行的SCSI接口SAS(Serial Attached SCSI)以其在数据吞吐率方面的潜力和优势取代了SPI。另外,还有SCSI和光纤信道结合产生的FCP协议(SCSI-over-FibreChannel Protocol)。而ISCSI则完全摒弃SCSI在接口上规范,将SCSI的命令和协议等其他部分移植到TCP/IP网络上来,通过普通的TCP/IP网络来传输SCSI的数据和命令等。
5. SAN
SAN的全称是Storage Area Network,是指一个提供统一的,块级别数据存取的专门网络。SAN主要用来制作存储设备,比如磁盘阵列,磁带库等,服务器可以读取这些设备,就好像这些设备是操作系统的一个逻辑上附加的设备。
一个典型的SAN有它自己存储设备的网络,这个网络通常不能被其他设备的本地局域网访问到。SAN只提供块级别的操作,而并不提供文件级别的操作。但是,文件系统可以建立在SAN之上,以提供文件级别的读取,这种文件系统被称为SAN文件系统或者共享磁盘文件系统。
EMC的CLARiiON CX4系列,就是这样一种提供块级别数据存取的SAN存储。
SAN通常和Fibre Channel(光纤通道)技术一同使用,表示采用光纤通道建立的一块存储区域网络,称为FCSAN。同时,SAN还可以和其他技术一起使用,比如iSCSISAN或者FCoESAN。
可以在多端口的存储系统上建立SCSI SAN,如下图所示。
6. NAS
NAS的全称是Network-attached storage,是指连接到计算机网络的文件级别计算机数据存储,可以为不同客户端提供数据存取。
NAS系统是包含一个或多个硬盘驱动器的网络设备,这些硬盘驱动器通常安排为逻辑的、冗余的存储容器或者RAID阵列。
NAS通常采用NFS、SMB/CIFS等网络文件共享协议提供文件存取。
NFS
Network File System(NFS)是一个最早在1984年由Sun公司提出的网络文件系统协议,它允许客户计算机上的用户按照类似于存取本地文件的方式来存取位于网络上的文件。类似于其他很多协议,NFS建立在开放网络计算远程过程调用(OpenNetwork Computing Remote Procedure Call ,ONC RPC) 系统之上。NFS是一个按照RFCs定义的公开标准,允许任何人实现。
CIFS/SMB
Common Internet File System(CIFS)又被认为是ServerMessage Block(SMB),是一个应用程序层的网络协议,这种协议允许主要用于提供对文件、打印机、串口和各种网络节点之间通信的共享存取。它还提供了一种认证的过程内通信机制。微软使用CIFS在所有Windows上提供网络功能,Unix/Linux也通过SMB使用CIFS,Apple也有一些可以使用CIFS的客户端和服务器。因此,它是一个允许各操作系统之间相互协作的协议。
NAS vs DAS
a)DAS是一个对于已有服务器的简单扩展,并且网络连接不是必需的;NAS设计为一个容易的并且自给自足的用于在网络上共享文件的解决方案。
b)当都在网络上提供服务时,NAS比DAS的性能更好,因为NAS可以为文件服务做精确地调整。
c)当NAS和本地(无网络连接的)DAS进行比较时,NAS的性能主要取决于网络的速度和拥塞程度。
d)NAS通常不会按照硬件(CPU、内存、存储)或者软件(扩展、plug-in、附加协议)进行额外的定制,而DAS通常会。
e)DAS和NAS都可以通过使用RAID或集群来扩展数据的可用性。
f)NAS和DAS都可以有不同数量的cache,可以大大的提升性能。
NAS vs SAN
a)NAS同时提供存储和文件系统;SAN只提供基于块的存储,而将文件系统留给客户端。
b)NAS采用的协议是NFS和CIFS/SMB;SAN采用的协议是SCSI、Fibre Channel、 iSCSI、ATAover Ethernet(AoE)或者HyperSCSI。
c)对于Client OS来说,NAS显示为一个文件服务器,客户端可以将网络驱动器映射为该服务器上的共享;而SAN对ClientOS仍然显示为一个磁盘,该磁盘与客户端的其他本地磁盘一样在磁盘管理工具中可见,并且可以随着文件系统格式化和挂载。
d)但是,NAS和SAN并不是相互排斥的,可以连接起来作为SAN-NAS混合体,从同一个系统中同时提供基于文件的协议(NAS)和基于块的协议(SAN)。如下图所示,EMC的Unified Storage产品VNX/VNXe就可以同时提供NAS和SAN的访问方式。
相关推荐
- **元数据存储**:规划元数据的存储和检索机制。 8. **项目计划与管理** - **时间线**:制定项目的里程碑和进度计划。 - **风险管理**:识别可能的风险并提出应对策略。 - **资源分配**:分配人员、预算和其他...
综上所述,“美萍服装销售管理系统”作为一个毕业设计参考项目,不仅涵盖了实际业务流程的模拟,还涉及到了软件开发中的界面设计、模块划分、性能优化和数据安全等多个重要知识点。对于学生来说,通过深入研究和实践...
主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据,分布式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。...
数据中心机房建设是一个复杂而关键的过程,涉及到多个方面的规划、设计和实施,主要分为装修工程、机房电气工程、空调新风工程以及安防系统工程四大领域。以下将详细阐述这些内容: 1. 装修工程: - 基础工程:...
掌握这些数据存储方法,不仅有助于工程技术人员提高驾驭程序的能力,还能帮助他们在设计和实施工业自动化项目时,更高效地实现控制逻辑和数据处理任务。 由于文档内容和格式的限制,文中出现了一些OCR扫描导致的字...
数据管理不仅涉及到技术层面,如数据清洗、整合、存储和分析,也涵盖组织结构、政策制定、人员培训等方面。通过学习这些参考资料,企业可以更好地理解如何在各自的业务环境中实施有效数据管理,从而提升决策质量,...
【运维项目工作总结】 运维项目是IT领域中至关重要的部分,其目标在于确保系统的稳定运行,...一个成功的运维项目需要全面考虑系统的各个层面,确保人员配置合理,工作流程顺畅,从而达到提高服务质量和效率的目的。
《××项目数据仓库管理程序使用手册》为操作人员提供了详细的操作指导,帮助他们理解和使用数据仓库管理系统,包括数据加载、查询、更新和维护等日常任务。 《××项目数据仓库管理需求分析说明书》是对项目需求的...
2. **M+RDAData_ImportGB_R**:这个FB库则服务于RDA联动防护频带用文件的数据导入,同样将数据存储到ZR寄存器,以支持系统安全性的评估和监控。 3. **M+RDAData_ImportMR_R**:该FB库处理RDA联动多元回归分析用文件...
主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据,分布式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。...
软件项目运维工作记录表的部分内容包括:工作内容类型、检查结果、检查时间、检查人员、日常检查、定期检查、随机抽查、平台运行政务服务子系统、电子监察子系统、中心门户网站、数据交换子系统、LED显示屏、触摸屏...
区块链技术自诞生以来,就以其去中心化、不可篡改和透明可信的特性,在数据存储和管理领域展现了巨大的潜力。然而,随着区块链技术应用的普及,尤其是在涉及结构化数据管理的场景中,存储容量和结构扩展性成为了亟待...
8.3 存储外部数据/非结构化数据 159 8.4 外部数据/非结构化数据的不同 组成部分 160 8.5 建模与外部数据/非结构化数据 160 8.6 间接报告 161 8.7 外部数据归档 161 8.8 内部数据与外部数据的比较 161 8.9 小结 162 ...
数据存储方面,工程实例中可能包含了将采集到的数据保存为文本文件的功能。这通常是通过读取工作线程中的数据并在适当的时间将其写入文件来完成的。文本文件存储具有易于读取和分析的优点,对于后期的数据处理和分析...
综上所述,虚拟存储技术和数据结构优化是信息技术中密不可分的两个方面,它们共同作用于提升数据存储和处理的效率。通过合理的设计和优化,可以实现对大数据的有效管理和分析,满足不断增长的数据需求。专业人士应该...
《29505-f40使用订阅数据的统一数据存储库服务UDR》文档不仅为5G网络架构的设计者和开发者提供了宝贵的参考资料,而且对于理解5G网络中数据管理的核心原理具有重要意义。随着5G技术的不断进步和发展,UDR服务也将...
在大型医院开展数据挖掘项目时,遇到了一系列的问题,主要包括需求分析不明确、数据来源不清、数据质量不高以及技术人员管理不足等。以下对这些问题进行详细分析,并探讨相应的解决对策。 首先,需求分析不明确是一...
2. **组织机构及项目人员**:在5.2.1组织机构图中,应详细列出项目团队的结构,包括项目经理、团队成员以及他们的报告关系。5.2.2项目人员及职责明确了每个人的角色和责任,确保任务分配得当,责任清晰。5.2.3技能...
在工程项目管理中,大数据挖掘技术的应用策略研究,主要涉及以下几个方面: 一、建立基础数据模型 大数据挖掘要求有海量、多维度的数据来源,需要通过建立合理的基础数据模型来实现对数据的有效存储和快速处理。...