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

[经验分享] linux软RAID

[复制链接]

尚未签到

发表于 2018-5-22 07:55:56 | 显示全部楼层 |阅读模式
  一、RAID简介
  独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。

  

  二、条带化存储技术
  条带化技术就是一种自动的将 I/O 的负载均衡到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去。这就能使多个进程同时访问数据的多个 不同部分而不会造成磁盘冲突,而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的 I/O 并行能力,从而获得非常好的性能。很多操作系统、磁盘设备供应商、各种第三方软件都能做到条带化。

  三、RAID级别和机制
  
  

  条带机制

  RAID 0                  (读速度提高了,写的数据慢了)

  

  磁盘镜像机制
  RAID 1

  

  效验码机制
  RAID 4                 (读写都提高了,效验码盘存储压力大成为性能瓶颈)

  

  RAID 0+1(先做条带,然后再把各个条带组成RAID1)

  

  RAID 1+0(先两两镜像,然后RAID0)

  

  RAID 5       RAID 6   两块效验盘)

  

  JBOD  (磁盘堆叠,多块盘组成一个容量大的盘,hadoop建议使用JBOD ,hadoop 机制HDFS可以实现JBOD冗余,JBOD本身没有冗余功能)

  

  

  

  

  RAID实现的方式:
  外接式磁盘阵列,通过扩展卡通过适配能力
  内核式RAID:主板集成RAID控制器
  software RAID
  

  RAID配置命令和查看命令
  centos6上的软件RAID的实现结合了内核中的md(multi devices)
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10;

[mode]
  创建模式:
    -C
        -n #使用#个块设备来创建此RAID
        -l #指明要创建的RAID的级别
        -a {yes|on}自动创建目标RAID设备的设备文件
        -c CHUNK_SIZE:指明CHUNK大小
        -x #指明空闲盘的个数


装配模式(装配能扫描RAID上的元数据,常用于装系统后,重新装配使用)
    -A
管理模式
    -f标记指定磁盘为损坏
    -a添加磁盘
    -r移除磁盘


<raiddevice>:/dev/md#

<component-devices>:任意块设备,可以是磁盘,可以是分区。


显示RAID的详细信息
mdadm -D /dev/md5\

查看MD的状态
cat /proc/mdstat
  

  实例创建RAID5:
  1,分区设置分区ID fd
  [root@localhost /]# fdisk -l |grep "^/dev/sd[a-g]"
/dev/sda1   *           1          26      204800   83  Linux
/dev/sda2              26        7859    62914560   8e  Linux LVM
/dev/sdb1               1         654     5253223+  fd  Linux raid autodetect
/dev/sdb2             655        1308     5253255   fd  Linux raid autodetect
/dev/sdb3            1309        1962     5253255   fd  Linux raid autodetect
/dev/sdc1               1         654     5253223+  fd  Linux raid autodetect
[root@localhost /]#
  

  2,创建RAID5
  [root@localhost testmd5]# mdadm -C /dev/md5 -a yes -n 3 -l 5 -x 1 /dev/sd[b,c][1-3]
mdadm: /dev/sdb1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
mdadm: /dev/sdb2 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
mdadm: /dev/sdb3 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
mdadm: /dev/sdc1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Wed Aug 26 17:28:15 2015
Continue creating array?            
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
  3,查看md的状态
  [root@localhost testmd5]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdb3[4] sdc1[3](S) sdb2[1] sdb1[0]
      10498048 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [============>........]  recovery = 61.8% (3246400/5249024) finish=1.0min speed=30693K/sec
      
unused devices: <none>
  4,查看RAID信息
  [root@localhost testmd5]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Wed Aug 26 18:42:00 2015
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Wed Aug 26 18:43:27 2015
          State : clean
Active Devices : 2
Working Devices : 4
Failed Devices : 0
  Spare Devices : 2

         Layout : left-symmetric
     Chunk Size : 512K

Rebuild Status : 43% complete

           Name : localhost.localdomain:5  (local to host localhost.localdomain)
           UUID : 7c6efc4f:5f6e0b0d:f6e56836:3556ec3f
         Events : 7

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       18        1      active sync   /dev/sdb2
       4       8       19        2      spare rebuilding   /dev/sdb3

       3       8       33        -      spare   /dev/sdc1
5,格式化挂载。
  [root@localhost testmd5]# mkfs.ext4 /dev/md5
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
657072 inodes, 2624512 blocks
131225 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2688548864
81 block groups
32768 blocks per group, 32768 fragments per group
8112 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost testmd5]# mkdir -pv /testmd5
[root@localhost testmd5]# mount -t ext4 /dev/md5 /testmd5/
[root@localhost testmd5]# mount |tail -1
/dev/md5 on /testmd5 type ext4 (rw)
[root@localhost /]# cd testmd5/
[root@localhost testmd5]# ls
lost+found
[root@localhost testmd5]#
  6,测试RAID冗余
  [root@localhost testmd5]# /bin/cp -fr /etc /testmd5/
[root@localhost testmd5]# du -sh /testmd5/
38M/testmd5/
  [root@localhost testmd5]# mdadm /dev/md5 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5
[root@localhost testmd5]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Wed Aug 26 18:42:00 2015
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Wed Aug 26 18:55:41 2015
          State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

Rebuild Status : 23% complete

           Name : localhost.localdomain:5  (local to host localhost.localdomain)
           UUID : 7c6efc4f:5f6e0b0d:f6e56836:3556ec3f
         Events : 23

    Number   Major   Minor   RaidDevice State
       3       8       33        0      spare rebuilding   /dev/sdc1
       1       8       18        1      active sync   /dev/sdb2
       4       8       19        2      active sync   /dev/sdb3

       0       8       17        -      faulty   /dev/sdb1
[root@localhost testmd5]#
  7,观察md的状态
  [root@localhost ~]# watch -n 3 "cat /proc/mdstat"
  8,再指定一块损坏,让其工作在降级模式。

  注意:级别仅代表磁盘组织方式不同,没有上下之分。
  

运维网声明 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-478883-1-1.html 上篇帖子: 日常linux操作命令 下篇帖子: Linux命令初识二
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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