一、服务器及RAID磁盘阵列介绍
①、RAID 是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列;
②、把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术
③、组成磁盘阵列的不同方式称为RAID级别(RAID Levels)
④、成用的RAID级别:RAID0、RAID1、RAID5、RAID6、RAID01、RAID1+0等
1、 RAID 0
①RAID0 俗称“条带”,是连续以位或字节为单位分割数据,并行读/写于多个磁盘上,但他没有数据冗余
②RAID 0只是单纯的提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据
③N块硬盘并行组个成一个新的逻辑盘,RAID 0不能应用于数据安全性要求高的场合,比如音像、视频文件的存储等
2、 RAID 1
①RAID1 俗称“镜像”,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据
②党员是数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能
③RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
④N(偶数)块硬盘组合成一组镜像,N/2容量,RAID1 适合对数据安全性要求非常高的场景,比如存储数据库数据文件之类
4、 RAID 5
①N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有一份校验(奇偶校验)数据,共N份数据在N块盘上循环均衡存储
②N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
③(N-1)/N磁盘利用率
④可靠性高,允许坏一块盘,不影响所有数据
5、 RAID 6
①N(N>=4)块盘组成阵列,(N-2)/N磁盘利用率
②与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息快
③两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
④相对于RAID有更大的“写损失”,因此写性能较差
6、 RAID 1+0
①N(偶数,N>=4)快盘两两镜像后,在组合成一个RAID 0
②N/2快盘同时写入,N快盘同时读取
③N/2磁盘利用率
④性能高,可靠性高
以上是当前主流的 RAID 组合方式,至于如何选择,则是结合到使用者对数据安全性、数据冗余、数据可用性、投入成本等各方面的综合衡量。
二、阵列卡介绍
阵列卡的全称叫磁盘阵列卡是用来做 RAID 的。磁盘阵列是一种把若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统。
1、阵列卡接口类型
接口类型目前主要有:IDE 接口、SCSI 接口、SATA 接口和 SAS 接口
1.1、IDE 接口
IDE 的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。
1.2、SCSI 接口
SCSI 的英文全称为“Small Computer System Interface”(小型计算机系统接口),是同 IDE 完全不同的接口,IDE 接口是普通 PC 的标准接口,而 SCSI 并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI 接口具有应用范围广、多任务、带宽大、CPU 占用率低,以及支持热插拔等优点,但较高的价格使得它很难如 IDE硬盘般普及,因此 SCSI 硬盘主要应用于中、高端和高档工作站中。SCSI 硬盘和普通 IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU 占用率低,扩展性远优于 IDE 硬盘,并且支持热插拔。
1.3、SATA 接口
使用 SATA(Serial ATA)口的硬盘又叫串口硬盘,是目前 PC 硬盘的主流。串口硬盘是一种完全不同于并行 ATA 的硬盘接口类型,由于采用串行方式传输数据而知名。相对于并行 ATA 来说,就具有非常多的优势:
首先,Serial ATA 以连续串行的方式传送数据,一次只会传送 1 位数据。这样能减少 SATA 接口的针脚数目,使连接电缆数目变少,效率也会更高。实际上,Serial ATA 仅用四支针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,同时这样的架构还能降低系统能耗和减小系统复杂性。其次,Serial ATA 的起点更高、发展潜力更大,Serial ATA 1.0 定义的数据传输率为150MB/s,这比并行 ATA(即 ATA/133)所能达到 133MB/s 的最高数据传输率还高,而在Serial ATA 2.0 的数据传输率达到 300MB/s,SATA Revision 3.0 可达到 750 MB/s 的最高数据传输率。
1.4、SAS 接口
SAS 是新一代的 SCSI 技术,和现在流行的 Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS 是并行 SCSI 接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行 ATA (Serial ATA,缩写为 SATA)硬盘的兼容性。
SAS 系统的背板(Backpanel)既可以连接具有双端口、高性能的 SAS 驱动器,也可以连接高容量、低成本的 SATA 驱动器。因为 SAS 驱动器的端口与 SATA 驱动器的端口形状看上去类似,所以 SAS 驱动器和 SATA 驱动器可以同时存在于一个存储系统之中。但需要注意的是,SATA 系统并不兼容 SAS,所以 SAS 驱动器不能连接到 SATA 背板上。
串行 SCSI 是点到点的结构,可以建立磁盘到控制器的直接连接。具有以下特点:
更好的性能
点到点的技术减少了地址冲突以及菊花链连结的减速;
为每个设备提供了专用的信号通路来保证最大的带宽;
全双工方式下的数据操作保证最有效的数据吞吐量;
简便的线缆连结
细的电缆搭配更小的连接器;
更好的扩展性
可以同时连结更多的磁盘设备。
2、阵列卡的缓存
缓存(Cache)是 RAID 卡与外部总线交换数据的场所,RAID 卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。它是 RAID 卡电路板上的一块存储芯片,与硬盘盘片相比,具有极快的存取速度,实际上就是相对低速的硬盘盘片与相对高速的外部设备(例如内存)之间的缓冲器。
Write Through 和 Write Back 是阵列卡缓存的两种使用方式,也称为透写和回写。WriteThrough 也是 RAID 阵列卡的默认模式。当选用 write through 方式时,系统的写磁盘操作并不利用阵列卡的 Cache,而是直接与磁盘进行数据的交互。而 write Back 方式则利用阵列 Cache 作为系统与磁盘间的二传手,系统先将数据交给 Cache,然后再由 Cache 将数据传给磁盘。
3、构建软 RAID 磁盘阵列
首先为 linux 服务器添加 4 块 SCSI 硬盘,使用 mdadm 软件包,构建 RAID5 磁盘阵列,提高磁盘存储的性能和可靠性
3.1、构建磁盘阵列
①安装 mdadm 工具
②准备用于 RAID 阵列的分区
为 Linux 服务器添加 4 块 SCSI 硬盘。使用 fdisk 工具各划分出一块 2GB 的分区,依为/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1,将分区的类型 ID 均更改为 fd。fd 分区类型对应“Linux raid autodetect”,表示支持用于 RAID 磁盘阵列。例如:
③创建 RAID 设备
使用 mdadm 命令创建 RAID,执行以下命令即可创建名称为 md0 的 RAID5。
上述命令的参数的作用:
-C:等同于 create,表示新建;
-v:显示创建过程中的信息;
/dev/md0:创建 RAID5 的名称;
-a:--auto,表示通知 mdadm 是否创建设备文件,并分配一个未使用的次设备号,
后面跟 yes 代表如果有什么设备文件没有存在的话就自动创建;
-n:指定使用几块硬盘创建 RAID,n4 表示使用 4 块硬盘创建 RAID;
-l:指定 RAID 的级别,l5 表示创建 RAID5;
/dev/sd[bcde]1:指定四块磁盘分区。
查看 RAID5 创建结果
④创建并挂载文件系统
先进行格式化
创建挂载点,进行挂载并进行查看
从上述 df -hT 命令的结果中的值/dev/md0 容量为 6G。4 块 2G 磁盘应该 8G,为什么容量只显示 6G?这是 RAID5 的特性,用于存放校验数据的部分不显示。
2.RAID 阵列管理及设备恢复
①扫描查看磁盘阵列信息
参数解释:
D:detail 的缩写,打印一个或多个磁盘阵列的详细信息;
v:对正在发生的事情显示更详细的信息;
s:扫描/proc/mdstat 中的阵列设备列表。
②建立配置文件
为了方便日后启动/停止 RAID 阵列,可以创建一个配置文件来进行管理。把RAID的信息导出来放到mdadm的配置文件里:
③启动和停止进行测试
④实现故障恢复