NAS服务器与RAID重组

NAS服务器

NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。

简单来说:就相当于一个便宜的、低功耗的电脑,塞进去好几块硬盘,里面预装了现成的文件服务器和其它一些备份用的软件。你把这个连到家里网上,就好像给自己架设了一个云盘,可以保存很多小姐姐和小哥哥,然后去到哪都可以访问里面的文件、图片、视频……还可以做虚拟服务机下载各种东西。

RAID重组

1.什么是RAID存储?

独立磁盘冗余阵列(RAID)是一种存储技术,通过将两个或多个硬盘驱动器(HDD)或固态硬盘(SSD)合并成一个协调的存储单元或阵列,从而创建数据丢失的故障安全机制。

2.RAID存储有什么好处?

RAID存储通过将数据重复或重新创建,并将其存储在附加的驱动器上来防止磁盘驱动器数据的完全丢失,这个过程也被称为数据冗余。

提供数据丢失保护的配置被称为“容错”配置,这意味着即使磁盘驱动器发生故障,阵列仍然可以成功运行并提供可恢复的数据。

3.常见的RAID级别有哪些?

(1)RAID 0:条带化(数据分块)但没有冗余,提供较高的读写性能。

RAID 0 是一种非常简单的的方式,它将多块磁盘组合在一起形成一个大容量的存储。当我们要写数据的时候,会将数据分为N份,以独立的方式实现N块磁盘的读写,那么这N份数据会同时并发的写到磁盘中,因此执行性能非常的高。

img

RAID 0 的读写性能理论上是单块磁盘的N倍(仅限理论,因为实际中磁盘的寻址时间也是性能占用的大头)

但RAID 0的问题是,它并不提供数据校验或冗余备份,因此一旦某块磁盘损坏了,数据就直接丢失,无法恢复了。因此RAID 0就不可能用于高要求的业务中,但可以用在对可靠性要求不高,对读写性能要求高的场景中。

(2)RAID 1:镜像,数据完全复制到另一个驱动器,提供容错能力。

img

RAID1 是磁盘阵列中单位成本最高的一种方式。因为它的原理是在往磁盘写数据的时候,将同一份数据无差别的写两份到磁盘,分别写到工作磁盘和镜像磁盘,那么它的实际空间使用率只有50%了,两块磁盘当做一块用,这是一种比较昂贵的方案。

RAID1其实与RAID0效果刚好相反。RAID1 这种写双份的做法,就给数据做了一个冗余备份。这样的话,任何一块磁盘损坏了,都可以再基于另外一块磁盘去恢复数据,数据的可靠性非常强,但性能就没那么好了。

(3)RAID 5:条带化加分布式奇偶校验,提供数据冗余和读取性能。目前美亚杯考核最常出现的类型,重点掌握。

这是目前用的最多的一种方式。
因为 RAID5 是一种将 存储性能、数据安全、存储成本 兼顾的一种方案。

在了解RAID5之前,我们可以先简单看一下RAID3,虽然RAID3用的很少,但弄清楚了RAID3就很容易明白RAID5的思路。

RAID3的方式是:将数据按照RAID0的形式,分成多份同时写入多块磁盘,但是还会另外再留出一块磁盘用于写「奇偶校验码」。例如总共有N块磁盘,那么就会让其中额度N-1块用来并发的写数据,第N块磁盘用记录校验码数据。一旦某一块磁盘坏掉了,就可以利用其它的N-1块磁盘去恢复数据。

但是由于第N块磁盘是校验码磁盘,因此有任何数据的写入都会要去更新这块磁盘,导致这块磁盘的读写是最频繁的,也就非常的容易损坏。

RAID5的方式可以说是对RAID3进行了改进。

RAID5模式中,不再需要用单独的磁盘写校验码了。它把校验码信息分布到各个磁盘上。例如,总共有N块磁盘,那么会将要写入的数据分成N份,并发的写入到N块磁盘中,同时还将数据的校验码信息也写入到这N块磁盘中(数据与对应的校验码信息必须得分开存储在不同的磁盘上)。一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。

img

RAID5校验位算法原理:P = D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)

RAID5的方式,最少需要三块磁盘来组建磁盘阵列,允许最多同时坏一块磁盘。如果有两块磁盘同时损坏了,那数据就无法恢复了。

(4)RAID 6:类似于RAID 5,但提供更高级别的容错能力。

为了进一步提高存储的高可用,聪明的人们又提出了RAID6方案,可以在有两块磁盘同时损坏的情况下,也能保障数据可恢复。

为什么RAID6这么牛呢,因为RAID6在RAID5的基础上再次改进,引入了双重校验的概念。

RAID6除了每块磁盘上都有同级数据XOR校验区以外,还有针对每个数据块的XOR校验区,这样的话,相当于每个数据块有两个校验保护措施,因此数据的冗余性更高了。

但是RAID6的这种设计也带来了很高的复杂度,虽然数据冗余性好,读取的效率也比较高,但是写数据的性能就很差。因此RAID6在实际环境中应用的比较少。

(5)RAID 10:RAID 1+0,将RAID 1镜像组合成RAID 0条带化,提供较高的容错能力和读写性能。

img

RAID10兼备了RAID1和RAID0的有优点。首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术讲数据分为N份并发的读写,这样也保障了数据的效率。

但也可以看出RAID10模式是有一半的磁盘空间用于存储冗余数据的,浪费的很严重,因此用的也不是很多。

(6)RAID 50:RAID 5组合成RAID 0,提供较高的性能和容错能力。

(7)RAID 60:RAID 6组合成RAID 0,提供更高级别的性能和容错能力。

4.软RAID和硬RAID的区别

根据实现模式,RAID又分为软RAID和硬RAID。

软件磁盘阵列(Software RAID):只需要主板支持即可(通常是芯片组内置的RAID功能,如Intel Matrix RAID,Intel Rapid Storage Technology),不需要任何磁盘阵列卡。若主板损坏,可能难以购买同款主板重建RAID。

硬件辅助磁盘阵列(Hardware-Assisted RAID):需要一张基于Fake RAID的RAID卡,以及厂商所提供的驱动程序,但此类RAID卡仍然通过CPU进行运算。这款RAID较易迁移到其他电脑。RAID功能靠运行于操作系统的厂商驱动程序和CPU运算提供。

操作系统的RAID功能:如Linux、FreeBSD、Windows Server等操作系统内置RAID功能。

5.美亚杯当中关于RAID检材常出现的名词有哪些?

物理盘:即物理磁盘,是一种实际存在的硬件存储设备。

逻辑盘:逻辑盘是在物理盘的基础上,通过软件或操作系统的设置划分出来的具有一定逻辑结构的存储区域。逻辑盘必须建立在物理盘之上,没有物理盘提供实际的存储介质,就无法创建逻辑盘。例如,一块容量为 1TB 的硬盘(物理盘),可以通过操作系统的磁盘管理工具将其划分成几个不同大小的逻辑盘,如 C 盘、D 盘、E 盘等(在 Windows 系统中常见的分区形式)。

物理和逻辑盘的关系在Linux系统当中常以下面这样的形式存在:

img

dev是device的缩写,dev目录是用于存储硬件设备信息的目录,通过该目录可以直接访问硬件,/dev/sda是指整个硬盘,/dev/sda1是指该硬盘下的第一个分区。

条带大小:在磁盘阵列中,数据被分割并存储到多个磁盘上时,每次写入或读取数据的基本单元大小。也是你重组RAID时需要获取的基本信息之一。

Disk Group:磁盘组,这里相当于是阵列,例如配置了一个Raid1, 就是一个磁盘组。

VD (virtual Disk):通过软件技术模拟出来的磁盘存储设备,它并不具备实际的物理磁盘硬件结构,但在操作系统及应用程序层面却能像真实的磁盘一样被使用,用于存储数据、安装程序等操作。;

PD (physical disk):真实物理形态的存储介质,用于在计算机中存储数据、安装操作系统、运行应用程序等。常见的物理磁盘包括硬盘驱动器(Hard Disk Drive,HDD)和固态硬盘(Solid State Drive,SSD)等。。

HS(Hot Spare):指在磁盘阵列配置中,预先准备好的一块或多块额外的物理磁盘,这些磁盘在正常情况下处于空闲状态,但时刻准备着在阵列中有磁盘发生故障时,自动接替故障磁盘的工作,以保障数据存储的连续性和系统的正常运行,无需人工手动干预启动替换过程。

RAID5当中涉及到的关键名词,重构RAID5 获取其循环方式也是重组成功的另一关键要素。

左循环不对称(异步)(Left-asymmetric) 右循环不对称(异步)(Right-asymmetric )

左循环对称(同步)(Left-symmetric) 右循环对称(同步) (Right-symmetric)

在Winhex中的表示方法:
img

6.你重组RAID需要获取哪些信息呢?

1.RAID类型 2.条带大小 3.循环方式

如下图:可以看到是RAID 5,64KB,左循环对称

img