linux软件磁盘阵列,Linux基础(19)软件磁盘阵列RAID

1.什么是RAID?

RAID是容错廉价磁盘阵列,可以将多个小磁盘整合为一个较大的磁盘设备,不仅可以扩大磁盘的容量,还可以实现数据保护。

2.RAID等级

RAID根据等级的不同,实现的功能和性能也有所不同

RAID0 至少需要两块磁盘,在写数据前现将数据分为等大小的区块(chunk),然后将数据交叉存放到不同的设备中。优点是数据的读写性能好,缺点是如果有一块磁盘的数据损毁,整个文件就损毁了。

RAID1 镜像模式,可以实现数据的完整备份,写数据的时候,将同一份数据完整的写到两块不同的磁盘上,磁盘的空间利用率为50%,读性能好,写性能较差。最大的优点是可以实现数据的完整备份。

RAID 1+0 需要四块磁盘,先用两块磁盘实现RAID1,再用两个RAID1实现RAID0

RAID 0+1 需要四块磁盘,先用两块磁盘实现RAID0,再用两个RAID1实现RAID0

RAID5 至少需要三块以上的磁盘实现,当任何一块磁盘有数据损毁的时候,可以通过同位检查码(parity)将数据恢复。举个例子 1+2=3,3可以看做是parity,当数据1损毁的时候,可以通过3-2=1得到损毁的数据(当然,具体实现肯定要比这复杂)。注意RAID5仅仅支持一块磁盘的损毁情况。

3.RAID的预备磁盘

为了可以更快的抽换损毁的磁盘,可以准备预备磁盘,该磁盘平时不被RAID使用,当有数据损毁的时候,这块磁盘可以被主动拉入磁盘阵列替换损毁的磁盘。如果支持热插拔,则可以在线替换,不同关机。

4.软件磁盘阵列

平时生产环境中使用的都是硬件磁盘阵列,磁盘阵列的管理通过磁盘阵列卡中的芯片实现,性能很好,缺点是磁盘阵列卡一般都很贵。

软件磁盘阵列可以通过软件mdadm实现,但是会消耗较多的系统资源,性能较差。软件磁盘阵列的设备名为/dev/md#,我们可以通过软件磁盘阵列达到学习的目的。

5.软件磁盘阵列的设置

下面我们通过mdadm来演练一下,达到学习的目的。

mdadm的格式为

mdadm --detail /dev/md#  #查看某个RAID设备的详细信息

mdadm --create --auto=yes /dev/md# --level=N --raid-devices=N

--spare-devices=N

具体参数的含义:

--create #创建RAID设备

--auto=yes #后面指定软件磁盘阵列设备

--level=N  #设置级别  建议只是用0 1 5

--raid-devices=N  #设置几个磁盘设备作为RAID设备

--spare-devices=N #设置几个磁盘作为预备设备

下面实际演练一下,不实际操作永远得不到直观的经验,马哥的名言。。。。。。mdadm --create --auto=yes /dev/md0 --level=1 --raid-device=2 --spare-devices=1 /dev/sda{9,10,11}

9e6c398e84d5262d892f16269071adbb.png

mdadm --detail /dev/md0

6e6a7d5b07106ec3ce3d623a9b542195.png

格式化RAID设备并且挂载

mke2fs -j /dev/md0

mkdir /mnt/raid

mount /dev/md0 /mnt/raid

7378d37c86b49488e104add5fae4b825.png

df /mnt/raid  #查看一下该设备我们可以看到设备的容量是100M ,因为我们创建的是RAID1设备,另一个100M的分区是作为镜像存在的。

fe1298e920c72d52352409073743fe5f.png

下面我们模拟损毁一块磁盘,来实现热插拔的功能

mdadm --manage /dev/md0

--add 设备  #添加设备

--remove 设备  #删除设备

--fail  设备  #模拟损毁后面的设备

mdadm --manage /dev/md0 --fail /dev/sda9  #很显然9换下去了,11换上来了。

b3f9a77d2a5bcc3decd278e91be8187d.png

下面将出错的磁盘移除

mdadm --manage /dev/md0 --remove /dev/sda9

ecbb031f2053f0ff38616851eec01e79.png

6.如何正确的关闭RAID设备

关闭RAID设备不能简单的将其分区删掉,必须按照步骤,否则会是文件系统出错

umount /mnt/raid  #先卸载

sed -i "/^\/dev\/md0/d" /mnt/raid   #如果设置了自动挂载,将/mnt/raid哪一行删掉

mdadm --stop /dev/md0 #关闭raid设备

cat /proc/mdstat #确实不存在任何的数组设备

vim /etc/mdadm.conf  #将开头的ARRAY那一行注释掉。

fb9cb8e1c225f586bcf70ecc2d4a1825.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值