一:概述
磁盘阵列是一种广泛应用的存储技术,使用它可以在很大程度上扩展存储容量,增强数据安全性,提高系统安全性能,磁盘阵列(RAID)是由多个独立的磁盘构成的一个超大容量的磁盘组。相比较单个磁盘,磁盘阵列有着非常突出的优势。
二:详细介绍
- 超大容量:可以将多个磁盘组合起来形成一个巨大的磁盘阵列提供的存储服务。
- 安全性得到保障:如果将数据存储在单个磁盘当中,一旦磁盘破坏,就会导致数据丢失,而磁盘阵列会配置一块或多块磁盘作为冗余盘,即使磁盘阵列中的某一个磁盘损坏,冗余盘前会立即替补上去。阵列中的数冗余存储,分布在磁盘阵列中各处,即使一块数据有损坏,也可以从其他盘中恢复,除非发生在阵列中多个磁盘同时损坏,否则数据不会丢失。
- 提升性能:可以同时存储和读取数据,从而提高系统数据的吞吐量。
- 磁盘阵列有不同的级别,常见的级别从RAID0到RAID6。
- RAID0:它是最早出现的磁盘阵列技术,通过将多个磁盘以阵列控制器联系在一起,组合成一个大的磁盘阵列。RAID0中的数据为条带分布,虽然RAID0可以提高磁盘的性能,但是它并提供容错,也就是说当阵列中的某一块磁盘损坏之后数据会丢失。
- RAID1:它由两块磁盘组成,一块为主盘,另一块为备份盘。当通过主盘写入数据时,,同样也会写入备份盘,因此,RAID1S数据安全性能最好。但是也会导致一本容量的损失,写入性能也会比较低下。
- RAID2与RAID0类似,只是以条带作为单位。RAID2至少需要三块磁盘才可以组合。
- RAID3的数据存取方式与RAID2相同,把数据以位为单位,分散至磁盘各处。RAID3需要额外的一个校验盘。
- RAID4与RAID3相似,都是将数据存储在多个磁盘当中。唯一的差异之处处于RAID3按位对数据访问,RAID4以块为单位。
- RAID5应用相对广泛,它兼顾了存储性能、数据安全和存储成本等因素。RAID5至少需要三块磁盘。
- RAID6比RAID5新增加了一套独立的奇偶校检系统,两套奇偶校检系统使用不同的算法。RAID6在数据可靠性方面上得到了提升。
除了上述PAID之外还有混合RAID,例如RAID0+1,RAID1+0,这种混合的RAID结合了两种RAID的优点。
mdadm(mutiple devices admin)命令是Linux下的一款标准的RAID管理工具,它可以诊断、监控和收集详细的阵列信息。它是一个单独的集成化程序,对不同的RAID管理明林不过都有共同的语法。mdadm可执行几乎所有功能而不需要配置文件,也没有默认的配置文件。mdadm命令是创建和管理Linux系统中的磁盘阵列工具。Ubuntu中安装工具的命令为sudo apt install mdadm。
格式mdadm [模式] [选项]
其中raidevices为磁盘阵列名称。component-devices为组成磁盘阵列的各个磁盘设备。mdadn命令的模式以及说明如下表所示:
模式 |
说明 |
Assemble |
将原本属于同一阵列的设备重新组合成阵列 |
Build |
创建或组装不需要元数据的阵列(每个设备没有超级块) |
Create |
创建一个新的阵列,每个设备具有超级块 |
Follow/Monitor |
监控模式 |
Grow |
更改阵列中设备容量和数目,更改阵列属性,但不能更改阵列级别 |
Mange |
管理已经存在的阵列 |
Misc |
混杂模式,可以删除磁盘中旧的超级块或收集阵列信息 |
Auto-detect |
请求模式激活已有阵列 |
mdadm命令在不同模式下的选项及其说明如下表所示:
工作模式 |
选项 |
说明 |
模式选择 |
-A |
选择Assemb服务器托管网le模式 |
-B |
选择Build模式 |
|
-C |
选择Create模式 |
|
-F |
选择Follow或Monitor模式 |
|
-G |
选择Grow模式 |
|
模式无关 |
-c |
指定mdadm配置文件,默认为/etc/mdadm/mdadm.conf和/etc/mdadm.mdadm.conf.d |
-s |
从配置文件或/proc/mdstat |
|
-e |
定义磁盘上面的超级块格式,对于Create模式来说,默认为1.2 |
|
Create |
-n |
指定阵列中磁盘的数量,不包括冗余磁盘 |
-x |
指定阵列中冗余磁盘数量 |
|
-l |
指定阵列级别,可取值inear、raid0、0、stripe、raid1、1、morror |
|
-N |
指定阵列名称服务器托管网 |
|
-o |
以只读的方式启动阵列 |
|
-auto |
以默认选项创建阵列 |
|
–add |
向阵列中增加磁盘,用在Grow模式之中 |
|
Assemble |
-u |
指定重组阵列的UUID |
-U |
更新每个磁盘的超级块 |
|
-a |
在线添加新磁盘 |
|
-R |
重新启动该阵列 |
|
-N |
指定重组阵列名称 |
|
-a |
在线添加磁盘 |
|
-r |
移除磁盘 |
|
–re-add |
重新添加原来移除的磁盘 |
|
Misc |
-Q |
查询一个阵列或一个阵列组间的设备信息 |
-D |
查询一个阵列的详细信息 |
|
-S |
停止阵列 |
|
-o |
使阵列进入只读模式 |
|
-w |
使阵列进入读写模式 |
|
Monitor |
-m |
发送报警邮件 |
-p |
当出现报警时,启动指定程序 |
使用mdadm命令创建一个RAID5阵列,创建阵列之前需要为Ubuntu主机添加SATA硬盘,想添加几个磁盘就添加几个,硬盘的大小用户可以自定义。使用fdisk -l命令查看新添加的4个硬盘信息。
使用mdadm命令创建一个磁盘阵列/dev/md11。其中–create表示使用Create模式,–auto==yes表示使用默认值,–level=5表示创建的阵列为RAID5,–raid-devices=3表示创建组成阵列磁盘数,–spare-devices=1表示冗余热备份为1块。
由于这里我换了CentOS虚拟机,以前创建的分区和磁盘都没有了。这里就不演示了
创建之后mdadm命令会自动启动该阵列。再次使用fdisk -l命令查看磁盘列表,会发现执行结果新增了一个名为/dev/md11的设备磁盘设备。
使用
mdadm --detail /dev/md11
可以查看磁盘阵列的信息。
在Linux系统中,新创建的磁盘阵列与磁盘一样,用户可以在其中创建各种文件系统。
三:磁盘管理总结
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
在[上一章](https://www.yuque.com/docs/share/adb5b1e4-f3c6-46fd-ba4b-4dabce9b4f2a?# 《现代C++学习指南-类型系统》)我们探讨了C++的类型系统,并提出了从低到高,又从高到低的学习思路,…