Linux磁盘阵列

一.认识RAID

    什么是RAID?RAID全名是Redundant Arrays of Inexpensive Disks,中文名为容错式廉价磁盘阵列。通过一个技术,将多个较小的磁盘整合为一个较大的磁盘。不仅具有数据存储功能,还有数据保护功能。由于整个磁盘阵列选择的登记不同,所以功能上也会有所差异,比较常见的阵列等级有:RAID0,RAID1,RAID5,RAID10

二.阵列等级

1.RAID0
    使用两块或两块以上的磁盘构建,磁盘品牌容量一致时性能最佳。
    会将磁盘切割成等量的区块(chunk,一般设为4k-1M之间),然后当有文件存入时,根据chunk大小对文件进行切割,最后依次放入各磁盘中。比如使用两块磁盘构建的RAID0,当有100M数据存入时,每块磁盘会各分配到50M数据。构建RAID0使用到的磁盘数越过,性能越高,磁盘总容量就越大。
    当然,磁盘数量越多,磁盘损坏的几率越高。当任意一块磁盘损坏后,会导致整个阵列的数据丢失。
    优点:磁盘利用率高,性能最好
    缺点:安全性低,任一磁盘损坏会导致整个阵列数据丢失

 2.RAID1
    使用两块或2的倍数块硬盘构建,推荐使用相同品牌、大小的硬盘。
    当有文件存入时,会将文件完整的保存到磁盘阵列的所有磁盘中。比如使用两块磁盘构建的RAID1,当有100M数据存入时,会将100M数据同时存入两块磁盘中。所以该阵列磁盘使用率较低,只有50%。
    优点:安全性高,当任何一块磁盘损坏时,数据都能完整保留下来,适合用于数据备份
    缺点:磁盘利用率低,只有50%;磁盘写入性能差,因为要同时将数据写入多块磁盘中

 3.RAID5
    使用三块或三块以上的硬盘构建。
    与RAID0写入方式相似,会将多个文件循环写入同一组阵列的磁盘中,不过在RAID0的基础上新增了一个同位检查码,每次写入数据都需要先计算同位检查码的关系,并将同位检查码存放在除自身外的其它磁盘上,该检查码主要用于当某一块磁盘损坏时,对数据进行恢复。
    优点:性能与数据备份均衡,使用率为(n-1)/n。由于新增了同位检查码,所以需要使用一块磁盘的空间对它进行存放。
    缺点:写入性能较低,每次写入数据都需要先计算同位检查码的关系;只能支持一块硬盘的损毁。因此人们在此基础上新增了RAID6,使用两块硬盘存储同位检查码,最多可以恢复两块磁盘的数据,不过使用率会有所下降。

4.RAID10
    使用四块或四块以上的硬盘构建。
    两两组合构成一个RAID1,然后在将两个RAID1组合为一个RAID0,构成RAID10。它继承了RAID0和RAID1的优点,同时继承了它们的缺点。
    如果有100M数据写入,因为有RAID0存在,所以会向两个RAID1各分发50M的数据。由于有RAID1,所以会将收到的50M数据,同时写入两块磁盘中。该阵列为目前储存厂商所推荐方式。

 

三、部署磁盘阵列

1.mdadm命令
    一般服务器上都会配备磁盘阵列卡,而我们没有必要因为实验而去单独购买一台服务器,所以我们可以学会使用mdadm命令在Linux系统中创建和管理软件RAID磁盘阵列。

mdadm命令的常用参数及作用

参数作用
-a监测设备名称
-n指定设备数量
-l指定RAID级别
-C创建
-v显示过程
-f模拟设备损坏
-r移除设备
-Q查看摘要信息
-D查看详细信息
-S停止RAID磁盘阵列

2.创建阵列
1)首先添加四块硬盘,并对四块硬盘进行分区和格式化;

 2)使用mdadm命令创建RAID10,名称为/dev/md10;

3)对创建完的RAID10进行格式化,sudo mkfs.ext4 /dev/md0;

4)查看RAID10的详细信息;

5)其他阵列的创建命令
RAID0:sudo mdadm -Cv /dev/md0 -a yes -n 2 -l 0 /dev/sdb1 /dev/sdc1
RAID1:sudo mdadm -Cv /dev/md1 -a yes -n 2 -l 1 /dev/sdb1 /dev/sdc1
RAID5:sudo mdadm -Cv /dev/md5 -a yes -n 3 -l 5 /dev/sdb1 /dev/sdc1 /dev/sdd1

四、模拟阵列损坏并恢复

由于RAID10继承了RAID1的特点,所以当某一块磁盘损坏时,并不会影响RAID10的使用。

1.先使用mdadm命令模拟一块硬盘损坏不能正常使用的情况,然后在使用sudo mdadm /dev/md10 -r /dev/sdb1 命令将损坏的硬盘移除

2.将系统关机,将损坏的硬盘替换,然后开机对新增硬盘进行分区格式化

3.使用mdadm命令将新增的硬盘添加到RAID10阵列中,并查看RAID10信息,确认添加成功

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值