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

相关推荐

  • LVM理论及实践

    LVM综述创建LV创建PV:pvcreate DEVICES创建VG:vgcreate VG_NAME PV_DEVICES创建lv格式化:mkfs.ext4 /dev/vg0/lv0挂载LVM的扩展扩展LV:lvextend扩展后检查挂载文件夹大小,发现扩展前后没有变化这是因为硬盘的修改需要同步:resize2fs /dev/vg0/lv0假设这时候VG的…

    Linux干货 2016-09-19
  • find 的使用及练习

    find是个使用频率比较高的命令。常常用它在系统特定目录下,查找具有某种特征【名字类型属主权限等】的文件。find命令的格式: find  [-path ..] -options [-print -exec -ok] path:要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录 -print :表示将结果输出到标准输出-e…

    Linux干货 2017-06-11
  • 重定向以及管道

    描述I/O设备的重定向

    Linux干货 2017-11-19
  • Nginx

        Nginx(发音同engine x)是一个 Web服务器,也可以用作反向代理,负载平衡器和 HTTP缓存。Nginx 可以部署在网络上使用 FastCGI,脚本,SCGI 处理程序,WSGI 应用服务器或 Phusion 乘客模块的动态 HTTP 内容,并可作为软件负载均衡器。Nginx 使…

    Linux干货 2017-08-29
  • 基于mysql虚拟用户认证​

    虚拟用户:                             用户账号存储于何处? …

    Linux干货 2016-10-17
  • iptables的使用

    iptables         firewall:隔离工具;Packets Filter Firewall;工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一条组件; 硬件防火墙:在硬件级别实现部分顾虑功能;另…

    Linux干货 2016-10-29