文档章节

浅谈linux性能调优之五:调优软raid

我爱吃葱花
 我爱吃葱花
发布于 2014/08/11 15:26
字数 806
阅读 47
收藏 1

    存储中的一个重要角色,RAID独立冗余磁盘阵列,从分类上将有两种:基于raid卡的硬raid(硬件实现,速度高,适用于大型应用),基于系统的软raid(一般包含于内核之中,性能不如硬raid,但是可优化,小型服务器)
    特点:数据完整性,防止故障,容量突破,性能提升
    不了解raid相关知识的可以看看这个:http://blog.163.com/sjt_linux/blog/static/199310319201251863948525/
    下面我快速的介绍一下:

RAID 0:
  没校验,数据分段写入磁盘,吞吐量增大,不容错,100%使用,至少2块
  test : mdadm --create /dev/md0 --level=0 --raid-devices=2 --chunk=64 /dev/sd{a,b}1
         mke2fs -j -b 4096 -E stribe=16 /dev/md0
  notice: --chunk 是在创建时指定,stribe是在格式时指定,stribe = chunk / stribe

RAID 1:
  镜像,容错,读性能,至少2块,2的倍数,利用率(100/n)%
  test : mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda4,5

RAID 5:
  分布式奇偶校验条带化,容错,性能,若一个磁盘损坏,再插入一个新磁盘时,会降级(需要重新计算校验值)
  至少3块,支持热备盘,利用率100*(1-1/n)%
  test : mdadm --create /dev/md0 --level=5 --raid-device=3 /dev/sd{a,b,c}2
 

浅谈linux性能调优之五:调优软raid - 了了 - 了了的博客

 
  RAID5中数据经常更新时,开销较大

RAID 6:
  两份校验,可以同时坏两块盘,至少4块,利用率100*(1-2/n)
  test : mdadm --create /dev/md0 --level=6 --raid-device=4 /dev/sd{a,b,c,d}1

RAID 10:
  先作raid1,再作raid0
  至少4块
  mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd{a,b,c,d}1
  mdadm -C /dev/md0 -l10 -n4 /dev/sdb{5,6,7,8}

邮件工作:
  /etc/mdadm.conf
    MAILADDR root@example.com
    MAILFROM root@node1.example.com
    PROGRAM /usr/bin/myscripts
  测试:mdadm -Fslt

    总结:从各自的特点可以看出:
            raid0容量大,读写性能高,但是安全性不好。
            raid1安全性好,利用率低
            raid5分布式奇偶校验,安全性好,读写性能较好,但是若数据修改频繁,建议不使用,可以看看上面的图
            raid6与raid5类似,支持同时坏两块盘
            raid10集成raid1,raid0。比起raid5,6修改数据时开销小
        你若使用raid,raid级别的选择便是很重要的!


    优化建议:
        1.若你使用两个或两个以上raid,建议配置“软raid的热迁移”,首先节省了冗余盘的成本,再者结合邮件通知机制做好数据保护
        2.对于raid0,5,6 存在两个特别重要的概念:(chunk size),(Stripe size)
            chunk size:
                  RAID中每个成员盘一次写入的数据量,大于chunk size才到下一个盘读写
            Stripe size = (chunk size)/(filesystem blocksize)
                  表示:在一个盘中一次性写入量
            chunk size = page size(4K) * N
            chunk size = avgrq-sz * 512 / 1024 / disks(iostat -x /dev/sda)
            Stripe size = (chunk size)/(filesystem blocksize)
                注意:chunk size   创建时使用   --chunk = 8
                      stripe size  格式化时使用 -E stripe = 2
        3.写位图:只针对RAID1
              在操作失败时,可以在失败的基础上基础操作,而并非从头开始(例如我们复制一个大文件)
                  --write-bebind 优先读
                  --write-mostly 优先写
        4.具体还可以在/sys/block/mdX/md中调节


本文转载自:http://my.oschina.net/sharelinux/blog/144125

共有 人打赏支持
我爱吃葱花
粉丝 29
博文 130
码字总数 34939
作品 0
海淀
数据库管理员
私信 提问
浅谈linux性能调优之五:调优软raid

存储中的一个重要角色,RAID独立冗余磁盘阵列,从分类上将有两种:基于raid卡的硬raid(硬件实现,速度高,适用于大型应用),基于系统的软raid(一般包含于内核之中,性能不如硬raid,但是可优化...

OscerSong
2013/07/11
0
6
浅谈linux性能调优-------初识

今天在网上看到了Oscersong对于linux性能调优,颇有感触。 以前总知道/O调有,看完他的博客之后有这么多的方法,对于linux进行调优。 Oscersong是我的大神,也是我追有的目标 所以,便将有了...

我爱吃葱花
2014/08/11
0
0
系统运维工程师面试题及参考答案

1. raid0 raid1 raid5 原理与区别 raid0至少2块硬盘。吞吐量大 性能好 同时读写,但损坏一个就完蛋 raid1至少2块硬盘。相当于 一个镜像,一个存储。安全性比较高。但是性能比0弱 raid5至少3...

xinsz08
2017/04/18
0
0
性能调优概述

大纲: 一、概述 二、什么是性能调优?(what) 三、为什么需要性能调优?(why) 四、什么时候需要性能调优?(when) 五、什么地方需要性能调优?(where) 六、什么人来进行性能调优?(who) 七、怎...

陈明乾
2014/07/14
0
0
浅谈linux性能调优之一:磁盘分区策略

对于服务器而言,不管是windows系统,linux系统,分区情况影响系统性能.磁盘分区之后再格式化成某一格式的系统文件,最后在存储用户或系统数据,数据所在分区容易读到数据则响应速度越快.当然也...

OscerSong
2013/07/07
0
2

没有更多内容

加载失败,请刷新页面

加载更多

apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
1
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
7
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
3
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
5
0
RxJava threading

因为Rx针对异步系统设计,并且Rx也自然支持多线程,所以新的Rx开发人员有时会假设Rx默认是多线程的。在其他任何事情之前,重要的是澄清Rx默认是单线程的。 除非另有说明,否则每次调用onNex...

woshixin
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部