raid介绍

raid介绍

在生产环境中,服务器所需的存储容量比较大,一般都会选择磁盘阵列来走存储。

阵列的优点

多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供

首先在I/O能力上,多个磁盘并行读写,可以提高读写的速度。 阵列所提供的磁盘冗余,提升存储设配的耐用性。

RAID实现的

外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
安装OS前在BIOS里配置
软件RAID:通过OS实现

这里我主要介绍一下软件raid中的raid5

RAID-5拥有用有raid的共同特点,就是读写性能的提高。并且,raid5拥有一定的拍错能力。

raid如何实现拍错

异或
二进制中
相同为0不同为1

磁盘会把每一个数据进行异或,把异或校验后的数据存入校验磁盘中,磁盘损坏后再用校验位把数据恢复到备用磁盘中。

10001001110数据
11100100010数据
01101101100校验值

无论哪个磁盘损坏都能通过另一个磁盘数据和校验值来获取到损害磁盘的数据,并写入备用磁盘中。这也就形成了raid的容错能力。

但是就因为算法比较单一,所以raid的容错只能是坏一块硬盘,要是同时坏两块就无法恢复。

创建raid5

首先要添加几块磁盘

lsblk 列出块设备

raid介绍

为了做阵列,我添加了3块磁盘。并把他们都分两个相同大小的分区。

fdisk /dev/sdd 磁盘分区管理

raid介绍

查看分好分区后的块设备

raid介绍

创建raid5

mdadm -C /dev/md0 -a yes -l 5 -n 4 -x1 /dev/sd{b1,b2,c1,c2,d1}

这里我把前四块做raid,sdd1作为备用盘。可以用

mdadm  -D /dev/md0

命令来查看md0

raid介绍

这些操作做完后就把raid配置生成文件,这样吧raid停止后还能重新起来,要不然停止就无法启动。

生成配置文件命令

mdadm -Ds /dev/md0 > /etc/mdadm.conf

这时raid已经创建好了,创建后要使用就要给md0创建一个文件系统。

mkfs.ext4 /dev/md0

raid介绍

创建好文件系统后,把md0挂载到一个文件夹就可以使用了。 这里我创建一个 /home/d1的文件夹,然后挂载上。

mkdir /home/d1
mount /dev/md0 /home/d1

然后就写配置文件让挂载的开机自动挂载。

vim /etc/fstab

raid介绍

UUID文件系统查询

blkid /dev/md0

这样raid5就创建成功并且可以使用了。

下面我们可以试验一下raid 5的容错性。

首先先查看一下raid的成员

raid介绍

然后选择一个磁盘损坏。这里系统给我们提供的有模拟损坏的命令。

mdadm /dev/md0 -f /dev/sdc1

然后我们再次查看成员

raid介绍

我们可以看出,模拟损坏的磁盘sdc1已经停用。而备用磁盘sdd1顶替了sdc1的位置现在启用了。 由这个实验可以看出raid5具有一定的容错性。

原创文章,作者:phosphor,如若转载,请注明出处:http://www.178linux.com/78454

(0)
phosphorphosphor
上一篇 2017-06-24 15:10
下一篇 2017-06-24 15:37

相关推荐

  • 文件查找

    文件查找     一.文件查找locate和find 1.     locate命令 非实时查找( 数据库查找) 查询系统上预建的文件索引数据库 依赖于事先构建 的索引 索引的构建是在系统较为空闲时自动进行( 周期性任务) 管理员手动更新数据库(updatedb) 索引构建过程需要遍历整个根文件系统…

    Linux干货 2017-08-12
  • Linux中的文本处理工具—sed

    sed 处理文本工具 一、概述   Stream EDitor,行编辑器    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文…

    Linux干货 2016-08-10
  • CentOS 7 tomcat 7.0.54 的功能实现及详解

    一、 jdk 安装配置 # yum install java-1.8.0-openjdk-devel (依赖的java-1.8.0-openjdk,java-1.8.0-openjdk,headless也会被安装 ) # alternatives -h # vim /e…

    2016-08-19
  • PHP的类自动加载机制

    在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来。这个在小规模开发的时候,没什么大问题。但在大型的开发项目中,这么做会产生大量的require或者include方法调用,这样不因降低效率,而且使得代码难以维护,况且require_once的代价很大。 在PHP5之前,各个…

    Linux干货 2015-04-10
  • Linux文本处理工具grep

    文件查看工具:cat     将[文件]或标准输入组合输出到标准输出。               -A, –show-all       &nbs…

    Linux干货 2016-08-10
  • 第六周总结VIM编辑器的使用并完成练习题

    第六周 总结VIM编辑器的使用并完成练习题 1. VIM是什么? VIM(Vi IMproved)是从vi发展出来的一个文本编辑器。 2.为什么要使用VIM? VIM有代码补完,编译以及错误跳转等方便编程的功能,在程序员中广泛使用。对于大多数的用户来说,VIM有着比较陡峭的学习曲线,但是一旦掌握一些基本操作之后,能大幅度提高编辑效率。VIM是类Unix系统用…

    Linux干货 2017-09-02