0%

Linux的 RAID 冗余磁盘阵列

RAID 冗余磁盘阵列

RAID就是廉价冗余磁盘阵列,比LVM简单多了 ,常用的级别是:

  • RAID0 提高读写速度
  • RAID1 数据安全考虑
  • RAID5 存储性能、数据安全和存储成本兼顾

RAID 0又称为Stripe或Striping,中文译为集带工作方式。它是将要存取的数据以条带状形式尽量平均分配到多个硬盘上,读写时多个硬盘同时进行读写,从而提高数据的读写速度。RAID 0另一目的是获得更大的“单个”磁盘容量从而提高数据的读写速度。这是他的优点,我觉得最重要是提高读写速度

RAID 1又称为Mirror或Mirroring,中文译为镜像方式。这种工作方式的出现完全是为了数据安全考虑的,它是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上或硬盘的不同地方(镜像)。当读取数据时,系统先从RAID 1的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中 断。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。

RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案,也是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验 (异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有2/3块硬盘的容量,存储空间利用率非常高。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘 上。当RAID 5的任何一块硬盘上的数据丢失,均可以通过校验数据推算出来

具体算法就让学存储的技术搞吧,我们知道RAID5有这个功能就行了

RAID分为软RAID和硬件RAID

软件RAID是基于系统的软件工作
优点:廉价
缺点:不稳定,如果系统坏了,RAID整列也就损坏,容易造成数据丢失

硬件RAID,这就是各大厂商提供的,存储解决方案。有专门的设备负责处理磁盘间的数据流。
相对于软件RAID
优点:可靠性高,易管理。稳定
缺点:成本过高

基于LINUX系统的软件RAID

在LINUX下管理RAID阵列的工具是mdadm工具

mdadm程序是一个独立的程序,能完成所有的软RAID管理功能

主要有7种使用模式:

Create 使用空闲的设备创建一个新的阵列,每个设备具有元数据块

Assemble 将原来属于一个阵列的每个块设备组装为阵列

Build 创建或组装不需要元数据的阵列,每个设备没有元数据块

Manage 管理已经存储阵列中的设备,比如增加热备磁盘或者设置某个磁盘失效,然后从阵列中删除这个磁盘

Misc 报告或者修改阵列中相关设备的信息,比如查询阵列或者设备的状态信息

Grow 改变阵列中每个设备被使用的容量或阵列中的设备的数目

Monitor 监控一个或多个阵列,上报指定的事件

由于这个工具太强大,不能一一为大家讲解

题目:建立一个RAID5 级别的分区使用一个分区给这个RAID做热备份,并挂在到本地的/mnt/raid 目录,

第一步创建物理分区

因为RAID5至少需要3个或者更多的硬盘,我们就要分3个分区,然后再加一个热备份的分区,就是4个分区

1
2
3
4
5
$ fdisk /dev/sda
$ fdisk -l
$ fdisk /dev/sda
$ partprobe
$partprobe

我们还是要使用#partprobe 使分区马上生效

第二步:创建阵列设备

系统默认有个md0可以给我们用,如果我要多个raid的话,就需要自己创建设备了,所以在这里我教大家怎么创建raid设备

#mknod /dev/md1 b 9 1

创建md1这个raid设备

mknod是命令

/dev/md1 是设备名字,设备必须是/dev/md开始的

后面的b代表创建的是块设备

9是主设备号,1代表从设备号

主设备号不能改,从设备号在系统内唯一

创建好以后,可以使用ls /dev/md1 看看有没有这个设备了

第三步:创建RAID阵列

使用MDADM工具

#mdadm -C /dev/md1 -l 5 -n 3 -x 1 /dev/sda7 /dev/sda8 /dev/sda9 /dev/sda10

OK以后,可以使用命令
#mdadm –detail /dev/md1
查看RAID状态

[root@rhel5 ~]# mdadm -C /dev/md1 -l 5 -n 3 -x 1 /dev/sda7 /dev/sda8 /dev/sda9 /dev/sda10

[root@rhel5 ~]# mdadm –detail /dev/md1

[root@rhel5 ~]# mdadm -C /dev/md1 -l 5 -n 3 -x 1 /dev/sda7 /dev/sda8 /dev/sda9 /dev/sda10

-C 代表创建

-l 代表创建的级别

-n 代表活动的分区,也就是你要给这个级别多少个分区

-x 就是热备份的分区

后面就跟设备就OK了

软RAID就可以使用分区来替代硬盘,如果你有真实的硬盘,这里也可以跟上硬盘

第四步:格式化raid设备

#mkfs.ext3 /dev/md1

第五步:创建目录并挂载

#mkdir /mnt/raid
#mount -t ext3 /dev/md1 /mnt/raid

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道