在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
下一篇 2017-08-12

相关推荐

  • CentOS6.9系统上编译安装httpd.2.2.32

    本文所做的所有操作是在一部新安装的CentOS6.9系统上。 1.环境与配置 环境说明:VMware上安装的CentOS6.9系统,两张系统盘做成的yum源 配置:编译生成的所有的文件都存放在/usr/local/httpd22/这个目录下 2.安装GCC编译器 [root@localhost ~]# yum grouplist | grep “Develo…

    2017-04-20
  • 关于压测的宏观个人总结

    工作角色定位 首先先从宏观角度来评估下本次的压测工作. 从工作职责上说本次压测理应由组内其它同学来完成,个人从旁协助或指导即可。团队成员的成长对我个人来说才是更大的成长。所以即使这次压测工作完成的再出色,都会因为是由我来完成的,所以都不能称之为优秀的。对我个人的成长最多是项目经验的增长和问题的积累,但对组员来说如何让他们做到现有成果的80%是我需要帮助他们来…

    Linux干货 2015-04-21
  • 8-16 Shell脚本之循环

    本节主要讲解Shell脚本的循环和软件包的管理 一、用until实现下列作业 1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。 2、随机生成10以内的数字,实现猜字游戏,提示比较大或小,相等则退出 3、编写脚本,求100以内所有正整数之和 …

    Linux干货 2016-08-18
  • shell脚本总结

    shell进阶:列表生成方式:列表生成方式:(1) 直接给出列表 以空白为间隔(2) 整数列表:(a) {start..end}(b) $(seq [start [step]] end)(3) 返回列表的命令$(COMMAND)(4) 使用glob,如:.sh(5) 变量引用;$@, $while read line(用法)(用于遍历文件,进行处理…

    Linux干货 2017-07-10
  • rpm包管理

    rpm包管理 rpm(RedHat Package Manager) 是RedHat公司发展的一种将软件安装到Linux系统的管理机制,也是一种数据库记录方法。 Linux系统上软件的安装主要分两种方式,从厂商发布的tarball通过编译来安装;或者使用厂商已经在相应平台上编译好的二进制文件。 从源码编译安装的程序,在漏洞修补以及软件功能升级时太过麻烦,并且…

    Linux干货 2016-11-18
  • Linux 作业

    1.       描述计算机的组成及其功能。 答:CPU、I/O、存储器; CPU:由运算器和控制器组成;运算器主要功能是对数据进行各种运算,除了进行常规计算外还能进行逻辑运算以及数据的比较、移位等操作。控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步…

    Linux干货 2016-10-29