RAID阵列

目录:

一、RAID简介
二、RAID级别
三、RAID的实现方式
四、RAID的好处
五、软RAID的实现
六、示例说明

一、RAID简介

早些时间由于磁盘价格的原因,造成一些普通用户不能使用,买不起,为了解决这个问题,1988年由加利福尼亚大学伯克利分校(University ofCalifornia-Berkeley) 提出了“A Case for Redundant Arrays of Inexpensive Disks”。作用机理是多个磁盘合成一个“阵列”来提供更好的性能、冗余或者两者的结合,大大的降低了成本,并且性能也有进一步的提升。

二、RAID级别:

这里我们队常用的raid进行比较。

raid区别

*注意:在制作RAID阵列时,必须每块磁盘或分区的大小的相同的。

三、RAID的实现方式

(1)外接式磁盘阵列:通过扩展卡提供适配能力
(2)内接式RAID:主板集成RAID控制器;(安装操作系统前在BIOS内配)
(3)软件RAID:通过操作系统实现

四、RAID的好处

(1)提高IO能力,磁盘并行读写;
(2)提高耐用性,通过磁盘冗余来实现;

五、软RAID的实现

管理命令的介绍
mdadm命令 manage MD devices aka Linux Software RAID
    usage:mdadm [mode] <raiddevice> [options] <component-devices>
        <raiddevice>:/dev/md#
        <component-devices> :任意块设备;
选项:
    创建模式:-C
        -n#:使用#个块设备来创建此RAID
        -l#:指明要创建的RAID的级别;
        -a(yes|no):自动创建目标RAID设备的设备文件
        -c CHUNK_SIZE:指明块大小;
        -x#:指明空闲盘的个数;
    显示RAID的详细信息:-D  
        -s,--scan  扫描
    管理模式:
        -f:标记指定磁盘为损坏
        -a:添加磁盘
        -r:移除磁盘
    装配 -A
    停止 -S 
    激活 -R --run

六、下面通过示例对选项进行说明

(1)创建RAID5磁盘阵列

1、添加加快硬盘做raid5阵列

[root@localhost~]#echo '- - -' >/sys/class/scsi_host/host2/scan#识别磁盘(只适用于虚拟机中)

2、查看是否添加成功

[root@localhost~]#lsblk

3、创建raid分区

[root@localhost~]#fdisk /dev/sdb
....此处省略
Command (m for help): t #调整分区类型
Partition number (1-4): 2
Hex code (type L to list codes): fd
Changed system type of partition 2 to fd (Linux raid autodetect)

4、分别对其他几块硬盘创建分区

[root@localhost~]#dd if=/dev/sdb of=/dev/sdc bs=1 count=512
[root@localhost~]#dd if=/dev/sdb of=/dev/sdd bs=1 count=512
[root@localhost~]#dd if=/dev/sdb of=/dev/sde bs=1 count=512

5、同步分区

[root@localhost~]#partx -a /dev/sdb
[root@localhost~]#partx -a /dev/sdc
[root@localhost~]#partx -a /dev/sdd
[root@localhost~]#partx -a /dev/sde

6、创建raid磁盘阵列

[root@localhost~]#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1

7、格式化磁盘阵列

[root@localhost~]# mke2fs -t ext4 /dev/md0

8、创建挂载点并挂载

[root@localhost~]# mkdir /mnt/raid5
[root@localhost~]#mount /dev/md0 /mnt/raid5/

9、查看raid阵列的详细信息

[root@localhost~]#mdadm -D /dev/md0
[root@localhost~]#cat /proc/mdstat

10、备份raid5信息

[root@localhost~]#mdadm -Ds >/etc/mdadm.conf

11、测试

[root@localhost~]#cp /etc/* /mnt/raid5/ -r
[root@localhost~]#ls /mnt/raid5

(2)raid5如何硬盘更换

1、模拟磁盘损坏

[root@localhost~]#mdadm /dev/md0 -f /dev/sdd1

2、查看信息

[root@localhost~]#mdadm -D /dev/md0 最后几行显示
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 65 2 active sync /dev/sde1
4 8 49 - faulty /dev/sdd1

下面显示的是没有损坏之前的情况:

Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
4 8 49 2 active sync /dev/sdd1

3 8 65 - spare /dev/sde1
通过查看很明显,损坏的硬盘被备份的硬盘替换。实现冗余能力。但是重新启动操作胸痛损坏磁盘不能被挂载。

3、移除损坏的分区

[root@localhost~]#mdadm /dev/md0 -r /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md0

再次查看已经成功的移除坏的设备。

(3)如何添加硬盘到磁盘整列

1、创建磁盘分区并修改分区类型

[root@localhost~]#fdisk /dev/sdb #分区fd类型

2、添加一个分区并查看

[root@localhost~]#mdadm /dev/md0 -a /dev/sdb2
[root@localhost~]#mdadm -D /dev/md0 #显示raid信息
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 65 2 active sync /dev/sde1
5 8 18 3 spare rebuilding /dev/sdb2

(4)删除磁盘阵列信息

1、取消挂载并查看

```[root@localhost~]#umount /mnt/raid5/
[root@localhost~]#df```

2、停止设备运行并查看是否还运行

[root@localhost~]#mdadm -S /dev/md0
[root@localhost~]#mdadm -D /dev/md/md-device-map

3、删除/etc/mdadm.conf文件

[root@localhost~]#rm -rf /etc/mdadm.conf

4、修改/etc/fstab

[root@localhost~]#vim /etc/fstab
删除添加的哪一行

5、查看设备

[root@localhost~]#blkid
注意此时并不能删除分区上的信息。需要使用专属命令进行。

6、删除分区上raid信息并且确认

[root@localhost~]#mdadm --zero-superblock /dev/sd{b,c,d,e}1
[root@localhost~]#blkid

注意:直接删除分区时删除不干净的,重新启动机器还会有raid信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章