设为首页 收藏本站
查看: 502|回复: 0

[经验分享] linux中RAID详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-4 09:31:13 | 显示全部楼层 |阅读模式
一、RAID介绍


    RAID即廉价冗余磁盘阵列(Redundant Array of Inexpensive Disks),从Linux 2.4内核开始,Linux就提供软件RAID,不必购买昂贵的硬件RAID控制器和附件(一般中、高挡服务器都提供这样的设备和热插拔硬盘),就可以通过并行处理多个独立的I/O 请求提高读写性能,而且能通过增加冗余信息来提高数据存储的可靠性。

二、几种RAID类型

    RAID 0

    非冗余,读写性能好,数据可靠性低于单个磁盘。

spacer.jpg QQ截图20160704092954.jpg

    RAID 1
    镜像,读性能好,写性能与单个磁盘相当,数据可靠性高,成本高。

QQ截图20160704093007.jpg

    RAID 2  
    并行访问,通过海明码实现冗余,读写性能好,磁盘同步旋转,带检错纠错功能,可靠性高,读写性能好,但一次只能执行一个I/O 请求。

QQ截图20160704093016.jpg

    RAID 3  
    并性访问,通过奇偶校验实现冗余,读写性能好,磁盘同步旋转,带检错功能,可靠性高,读写性能好,但一次只能执行一个I/O 请求。

QQ截图20160704093024.jpg

    RAID 4  
    独立访问,以块为单位计算奇偶校验块并存放与校验盘,数据可靠性高,读性能好,写性能差(因为每次写都要更新校验盘数据),校验盘成为性能瓶颈。

QQ截图20160704093033.jpg

    RAID 5

    在RAID 4 基础上,把奇偶校验块循环分布在所有磁盘上,从而减轻单个校验盘的性能瓶颈问题,读写性能和可靠性类似于RAID 4。

QQ截图20160704093043.jpg

三、硬件RAID 和软件RAID

    硬件RAID

    (1)利用硬件RAID 控制器来实现, 由集成或专用的阵列卡来控制硬盘驱动器。
    (2)存取性能和数据保护能力高, 但成本也高。
    (3)Linux 将硬件磁盘阵列看作一块实际的硬盘, 其设备名为/dev/sd[a-p]。
    软件RAID

    (1)利用操作系统提供的软件RAID 功能来实现。
    (2)适用于要求不高的场合, 成本低。
    (3)Linux 将软件磁盘阵列看作多重磁盘设备(MD), 其设备名为/dev/md0、/dev/md1 等。

四、linux中RAID配置

    在Linux系统中,主要提供RAID 0、RAID 1、RAID 5三种级别的RAID。mdadm是 linux下标准的的软raid管理工具,是一个模式化工具(在不同的模式下);程序工作在内存用户程序区,为用户提供RAID接口来操作内核的模块,实现各种功能。

    1、RAID 1 配置

    (1)创建两个相同大小的RAID 分区,设置分区id 为fd。
    (2)建立RAID 设备
        mdadm --create /dev/md0 --level 1 --raid-devices=2 /dev/sdb1 /dev/sdc1
    (3)设置mdadm 配置文件/etc/mdadm.conf
        DEVICE /dev/sdb1 /dev/sdc1
        ARRAY /dev/md0 devices=/dev/sdb1,/dev/sdc1
    (4)建立文件系统
        mkfs -t ext3 /dev/md0
    (5)挂载RAID 1 设备
         mkdir /mnt/raid1
        mount /dev/md0 /mnt/raid1
    (6)管理RAID 1阵列

        # 模拟某成员磁盘发生故障
            mdadm /dev/md0 --fail /dev/sdc1
        # 从RAID 1 阵列中移除故障成员
            mdadm /dev/md0 --remove /dev/sdc1
        # 准备一块要替换的磁盘,并将新磁盘加入到阵列中
            mdadm /dev/md0 --add /dev/sdd1
        # 查看阵列实时信息
            cat /proc/mdstat
            mdadm --detail /dev/md0

    2、RAID 5配置
    (1)准备4 个阵列成员(创建RAID 分区)
    (2)创建RAID 设备:系统默认只有md0 设备,其他需自行创建。

        ls –l /dev/md0          # 查看md 设备的类型和主次设备号
        mknod /dev/md1 b 9 1     # 创建设备文件
    (3)建立RAID 5 设备
        mdadm --create /dev/md1 --level=5 --raid-devices=3 --spare-devices=1 /dev/sdd[5-8] mdadm --detail /dev/md1
    (4)设置mdadm 配置文件/etc/mdadm.conf
        DEVICE /dev/sdd5 /dev/sdd6 /dev/sdd7 /dev/sdd8
        ARRAY /dev/md1 devices=/dev/sdd5,/dev/sdd6,/dev/sdd7,/dev/sdd8
    (5)建立文件系统
        mkfs.ext3 /dev/md1

    (6)挂载RAID 5 设备
        mkdir /mnt/raid5
        mount /dev/md1 /mnt/raid5
    (7)管理RAID 5 阵列
        # 利用备用盘重建RAID 5
            mdadm /dev/md1 --fail /dev/sdd6
            mdadm --detail /dev/md1
        # 可看到备用盘自动参与重建阵列, 而故障盘成为备用磁盘, 而且# 注意: 要等待RAID 重建完毕, 再替换故障磁盘
        # 将故障磁盘移除并加入新磁
            mdadm /dev/md1 --remove /dev/sdd6
            mdadm /dev/md1 --add /dev/sde1
            mdadm --detail /dev/md1
    (8)启用/停用/监控RAID 设备
        # 停止RAID 设备(停止前要先卸载)
            mdadm --stop /dev/md0
        # 启动RAID 设备
            mdadm --assemble --scan /dev/md0
        # 监控RAID 设备
            mdadm --monitor --mail=admin@abc.com --delay=180 /dev/md0
        # 将监控任务转入后台执行
            nohup mdadm --monitor --mail=admin@abc.com --delay=180 /dev/md0

    (9)如果要删除RAID 多重磁盘设备(可选)        
        每个md 设备只能被建立一次,如果创建命令(mdadm–create) 出错,将造成该md 设备无法使用,这时需要按以下步骤先删除该错误的md 设备,然后才能重新创建它。
        #1. 停用RAID 设备
            mdadm --stop /dev/md0
        #2. 清空每个组成分区的超级块
            mdadm --zero-superblock /dev/sdb1
            mdadm --zero-superblock /dev/sdc1



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-239053-1-1.html 上篇帖子: CentOS 6.4下PXE+Kickstart无人值守安装操作系统 下篇帖子: grep文本处理工具、正则表达式 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表