在centos6.9上实现软RAID

在centos6.9上实现软RAID

什么是RAID?

    RAID,全称Redundant Arrays of Inexpensive(Independent)Disks。简单翻译叫磁盘阵列。
    通俗一点讲就是多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供。
    目的有两个:一个是提高磁盘的IO能力,提高耐用性。

    

    实现方式有3种:
    1、外接式磁盘阵列:通过扩展卡提供适配能力
    2、内接式RAID:主板集成RAID控制器—安装OS前在BIOS里配置
    3、软件RAID:通过OS实现
    实际生产场景中大部分是使用硬RAID,在教室试验环境我们用软RAID

    常见的RAID级别
在centos6.9上实现软RAID

软RAID管理工具

    mdadm 
    -C:创建模式
        -n:定义创建RAID设备个数
        -l:指明要创建的RAID的级别
        -c CHUNK_SIZE: 指明块大小
        -x : 指明空闲盘的个数
    -A:装配
    -D:显示RAID的详细信息
    -F:监控
    -f:标记指定磁盘为损坏
    -r:移除磁盘
    -a:添加磁盘
    观察md的状态:cat /proc/mdstat

RAID前的配置

    1、检查mdadm,我这里已经安装了mdadm的rpm包。如果没安装,使用yum -y install mdadm进行安装。
在centos6.9上实现软RAID

    2、磁盘准备,想要RAID必须使用相同容量的磁盘或者分区,我这里先添加了7块5G的磁盘

创建RAID0

    1、创建RAID0最少只需要2块硬盘,我们这里选择/dev/sdb和/dev/sdc,首先新建分区,更改分区ID为fd  Linux raid auto。
    分完区需要partx -a /dev/sdb 同步一下。
在centos6.9上实现软RAID

    2、创建RAID-0
    -C    /dev/md0    —–创建
    -a    yes            —–同意一次性创建
    -l    0            —–指定创建的级别
    -n    2            —–指定磁盘数目
在centos6.9上实现软RAID

    3、两条查看状态的命令
在centos6.9上实现软RAID

    4、创建配置文件
    mdadm -Ds /dev/md0 > /etc/mdadm.conf
    5、格式化磁盘、挂载
    mkfs.ext4 /dev/md0
    mount /dev/md0 /mnt/raid0、
    可以看到/dev/md0容量大小是9.7G,实际为10G,允许有些许误差。
在centos6.9上实现软RAID

删除raid-0

    [root@centos6 ~]#umount /mnt/raid0                        <==取消挂载
    [root@centos6 ~]#mdadm -S /dev/md0                        <==停止设备
    mdadm: stopped /dev/md0
    [root@centos6 ~]#mdadm –zero-superblock /dev/sdb1        <==删除raid信息
    [root@centos6 ~]#mdadm –zero-superblock /dev/sdc1

RAID-1

    RAID1的步骤和方式与1相同(配置省略),但是由于RAID0并没有容错能力,其中一块磁盘损坏,阵列就瘫痪。RAID1有相对的冗余能力,但是成本相对较高。
    通过下图看到/dev/md1的容量为5.2G,和RAID0相比少了一半。
在centos6.9上实现软RAID

RAID-5

    1、创建raid5
    mdadm -C /dev/md5 -a yes -n 3 -l 5 -x 1 /dev/sd[b,c,d,e]1        <==-x1 表示留一块备用
    mdadm -Ds /dev/md5 > /etc/mdadm.conf
    mkdir /mnt/raid5
    mount /dev/md5 /mnt/raid5
    [root@centos6 ~]#df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        48G  4.9G   41G  11% /
    tmpfs           491M   76K  491M   1% /dev/shm
    /dev/sda3        39G   48M   37G   1% /app
    /dev/sda1       969M   35M  885M   4% /boot
    /dev/sr0        3.7G  3.7G     0 100% /media/CentOS_6.9_Final
    /dev/md5        9.7G   23M  9.2G   1% /mnt/raid5                <==raid5的容量为(3-1)*5G

模拟磁盘损坏

    之前的状态
在centos6.9上实现软RAID

    模拟sdb1损坏
    mdadm /dev/md5 -f /dev/sdb1
    /dev/sdb1损坏后,备用的/dev/sde1会自动补上,我们来看下状态。重启后会丢失。
在centos6.9上实现软RAID

    mdadm /dev/md5 -a /dev/sdb1        <==重新添加进raid,多加的变成备用

    比较一下RAID5上面的写入能力,发现从63.3MB/s提升到317 MB/s,效果明显。
    [root@centos6 ~]#dd if=/dev/zero of=/app/f1 bs=1M count=200
    200+0 records in
    200+0 records out
    209715200 bytes (210 MB) copied, 3.31538 s, 63.3 MB/s
    [root@centos6 ~]#dd if=/dev/zero of=/mnt/raid5/f1 bs=1M count=200
    200+0 records in
    200+0 records out
    209715200 bytes (210 MB) copied, 0.661708 s, 317 MB/s

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

(1)
eleveneleven
上一篇 2017-08-12 16:05
下一篇 2017-08-12 16:42

相关推荐

  • SHELL网络爬虫实例剖析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1552472        前天简单分享了用 shell 写网络爬虫的一些见解,今天特地把代码发出来与51博…

    Linux干货 2016-08-15
  • linux文件权限

    一、前言 在linux中,每个目录或者文件都有相对应的权限,linux通过文件属主(user),文件属组(group),其它人(order)对一个文件或者目录控制读写执行权限,当然在这些基本权限之外还有特殊权限,facl(file access control list)等。 二、文件基本权限    2.1:属主、属组、order概念 &…

    Linux干货 2015-08-17
  • Bash Shell之数组简介

    Bash Shell之数组简介   一、数组基本概念   数组是内存中的存储空间,连续的多个存储单元;bash中只支持一维数组,支持稀疏格式 ,参数个数没有限制。 二、数组基本语法格式   1、声明一个数组          declare…

    Linux干货 2015-05-11
  • Java线程

    线程是一个单独程序流程。多线程是指一个程序可以同时运行多个任务,每个任务由一个单独的线程来完成。也就是说,多个线程可以同时在一个程序中运行,并且每一个线程完成不同的任务。程序可以通过控制线程来控制程序的运行,例如线程的等待、休眠、唤起线程等。本章将向读者介绍线程的机制、如何操作和使用线程以及多线程编程。  1. 线程的基本知识   &nb…

    2015-06-08
  • 开机启动流程

    grub and boot Centos5,6的开机启动流程 grub Centos7的开机启动流程 Centos5,6的开机启动流程 initrd / initramfs 一般存储在/boot目录下,以.img为结尾的文件,是一个小型的根目录系统的映像文件,里面存放了各类系统必须的模组,为了解决内核在加载完成之后没有模组无法访问磁盘加载rootfs的问题。…

    Linux干货 2016-04-11
  • 常见文件管理命令及bash特性

    cat:查看文件文本内容  -n:显示行号  [root@study ~]# cat -n /etc/passwd  1  root:x:0:0:root:/root:/bin/bash  2  bin:x:1:1:bin:/bin:/sb…

    系统运维 2016-11-06