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

[经验分享] RAID设备及mdadm命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-3 09:02:09 | 显示全部楼层 |阅读模式
涉及到的命令:
mdadm、watch

RAID   redundant arrays  inexpensive disks  廉价冗余磁盘阵列
后来改名为:redundant arrays  independent disks  独立冗余磁盘阵列


======================理论部分=====================
从两个方面考虑:
性能:将I/O分散至多个设备
冗余:将同一数据存放在至少两个硬盘上

RAID级别:(仅用于表明其组合方式不同)
        RAID0:条带卷
                至少需要2块硬盘,使用率100%,将数据分散在各个硬盘中,读写性能均有提升(但不是越多越好,性能有拐点,呈抛物线状),无冗余能力
        RAID1:镜像卷
                写性能有所下降,读性能有所提升,使用空间是50%,成对硬盘出现(至少2个),有冗余能力
        RAID4
                至少需要3块硬盘,数据分散在不同的硬盘中,其中一块硬盘存放数据异或运算校验码,有冗余能力,但至多坏一块,空间:(N-1)*DISK,读写均有提升
        RAID5
                数据异或运算校验码分散在不同的磁盘中,相比较RAID4而言,不需要专门的校验盘,读写能力提升,有冗余能力,但至多坏一块硬盘,空间(N-1)*DISK,至少需要3块硬盘,RAID4中有独立的校验盘,每次读取数据都会用到,所以使用比较频繁,损坏的可能性就大大增加,RAID5把校验码分散在不同的磁盘中,这样就能分散开访问频率
        RAID6
                至少4块盘,两块数据盘两块校验盘,至多允许坏2块,读写性能提升,有冗余能力,空间(N-2)*DISK

常见的组合方式
        RAID10(常用)
                先组成raid1镜像组,然后多个镜像组组成raid0,至少需要4块硬盘,至多允许同时损坏半数硬盘,但同一组硬盘不能同时损坏,读、写有提升,有较好的冗余能力,使用空间n*DISK/2(一半)
        raid01
        先组织成raid0,然后多个raid0在组成raid1,至少需要4块硬盘
        raid50(冗余)
        先组成raid5组,然后把多个raid5组组成raid0,至少需要6块硬盘,同组raid5内,不允许同时坏两个盘,但不同组可以同时各坏一个,读写性能提升,有较好的冗余能力

JBOD(just a bunch of disks)简单磁盘捆绑,将多个磁盘串联在一起,当作一个设备使用,数据写满一个再写入另外一个盘,而不像RAID0那样,数据分散在不同的磁盘中


==================================================

生产情况下,不建议使用软件raid,以下软raid仅作为了解即可

        md:multi  disks
        mdadm 命令来组织使用软raid
        模式化的命令:
        -A    装配模式
        -C    创建模式
        -F    监控模式
        -D    查看软raid的详细信息
        -S    停止RAID
        -x #   对于有冗余能力的raid级别,此选项为其制定可用空闲盘的个数(好处就是在其中一块盘坏的情况下,空闲盘会自动替补上去);注意-x 指定的个数加上 -n的个数,二者之和要等于后面DEVICES的数量


管理模式
        -f    标记为坏的
        -r    移出
        -a    添加


        -C:创建模式专用选项
                -n  #  用于创建raid设备的磁盘设备个数
                -l  #    指明RAID级别
                -a  yes|no  是否为正在创建的raid设备自动创建设备文件(/dev/md#....,#仅表示设备编号,而与级别无关)
                -c   chunk_size 默认为64K(如果存放的单个大文件,可以把chunk_size改大一些,存放的都是单个小文件,可以改小一点   2^n)
设备状态信息输出/proc/mdstat

注意:不应该使用同一个磁盘上的多个分区创建raid设备(软raid是支持分区创建的)

创建分区时,分区格式调整为:fd  Linux  raid auto(非常重要)

示例:
        mdadm  -C  /dev/md0  -a yes -n 2 -l 0 /dev/sda7  /dev/sdb7
查看信息:
        cat  /proc/mdstat

小技巧:#watch -n1   ' cat  /proc/mdstat'    动态查看(每隔一秒查看一次),有点类似  tail  -f  FILE

        watch命令的用法
        -n   #     每个几秒钟刷新一次,间隔时长
        watch  -n # 'COMMAND'

        mdadm -f /dev/md0  /dev/sdb7    标记/dev/mdo这个raid中的/dev/sdb7设备为一个坏的设备(faulty状态)
        因为其中一个标记成坏的了,所以添加一个进行修复:
        mdadm -a /dev/md0  /dev/sda8    在/dev/md0这个raid中添加/dev/sda8,添加OK后,cat /proc/mdstat  查看进度
        mdadm  -r  /dev/md0   /dev/sdb7  移出/dev/sdb7
        mdadm   -D  /dev/md0    查看md0的详细信息

停止raid:
        mdadm  -S  /dev/md#   停止指定的raid设备,将来使用时需要”装配“ (-A)

重新装配指定的raid
        mdadm  -A    /dev/md#   /dev/DEVICES
可能会读取装配文件:/etc/mdam.conf(不存在,如果需要的话需要手动创建)


注意:有冗余能力的RAID仅避免因硬件损坏而导致业务终止,也能避免因硬件损坏而导致数据丢失,它不能取代备份的功能


============================练习============================
1、创建一个大小为10G的RAID 1  要求有一个空闲盘,而且CHUNK大小为128K
[iyunv@localhost ~]# mdadm -C /dev/md0 -a yes -n 2 -x 1 -l 1 -c 128 /dev/sda{6,7} /dev/sdb1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y           
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
可以对其格式,然后挂载使用
[iyunv@localhost ~]# mkfs.ext4 /dev/md0

[iyunv@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Oct 28 01:25:39 2015
     Raid Level : raid1
     Array Size : 10479232 (9.99 GiB 10.73 GB)
  Used Dev Size : 10479232 (9.99 GiB 10.73 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Wed Oct 28 01:29:55 2015
          State : active
Active Devices : 2
Working Devices : 3
Failed Devices : 0
  Spare Devices : 1

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : 672b6987:7a038b6e:9863300e:a049f5a9
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8        6        0      active sync   /dev/sda6
       1       8        7        1      active sync   /dev/sda7

       2       8       17        -      spare   /dev/sdb1



2、创建一个大小为5G的RAID5设备,chunk大小为256K,格式化为ext4文件系统,要求开机自动挂载/backup目录,而且不更新访问时间戳,而且支持acl功能
        创建三个分区各为2560M,过程略(创建的时候+2.5是不行的,可以写+2560M)
        /dev/sda8  /dev/sdb5  /dev/sdb6
        [iyunv@localhost yum.repos.d]# partx -l /dev/sda
        # 1:      2048-  1026047 (  1024000 sectors,    524 MB)
        # 2:   1026048- 62466047 ( 61440000 sectors,  31457 MB)
        # 3:  62466048- 82946047 ( 20480000 sectors,  10485 MB)
        # 4:  82946048-167772159 ( 84826112 sectors,  43430 MB)
        # 5:  82950144- 87046143 (  4096000 sectors,   2097 MB)
        # 6:  87046207-108021059 ( 20974853 sectors,  10739 MB)
        # 7: 108021123-129001949 ( 20980827 sectors,  10742 MB)
        # 8: 129002013-134255204 (  5253192 sectors,   2689 MB)
        [iyunv@localhost yum.repos.d]# partx -l /dev/sdb
        # 1:        63- 20980889 ( 20980827 sectors,  10742 MB)
        # 2:  20980890- 41961779 ( 20980890 sectors,  10742 MB)
        # 3:         0-       -1 (        0 sectors,      0 MB)
        # 4:  41961780- 83875364 ( 41913585 sectors,  21459 MB)
        # 5:  41961843- 47215034 (  5253192 sectors,   2689 MB)
        # 6:  47215098- 52468289 (  5253192 sectors,   2689 MB)

        [iyunv@localhost yum.repos.d]# mdadm -C /dev/md1 -a yes -n 3 -l 5 -c 256 /dev/sda8 /dev/sdb{5,6}
        mdadm: Defaulting to version 1.2 metadata
        mdadm: array /dev/md1 started.


        [iyunv@localhost yum.repos.d]# mdadm -D /dev/md1
        /dev/md1:
                        Version : 1.2
          Creation Time : Wed Oct 28 14:16:50 2015
                 Raid Level : raid5
                 Array Size : 5249024 (5.01 GiB 5.38 GB)
          Used Dev Size : 2624512 (2.50 GiB 2.69 GB)
           Raid Devices : 3
          Total Devices : 3
                Persistence : Superblock is persistent

                Update Time : Wed Oct 28 14:18:28 2015
                          State : clean
         Active Devices : 3
        Working Devices : 3
         Failed Devices : 0
          Spare Devices : 0

                         Layout : left-symmetric
                 Chunk Size : 256K

                           Name : localhost.localdomain:1  (local to host localhost.localdomain)
                           UUID : c793a006:d3929608:9eb5de8b:67744df4
                         Events : 18

                Number   Major   Minor   RaidDevice State
                   0       8        8        0      active sync   /dev/sda8
                   1       8       21        1      active sync   /dev/sdb5
                   3       8       22        2      active sync   /dev/sdb6

        [iyunv@localhost yum.repos.d]# mkfs -t ext4 /dev/md1

        [iyunv@localhost yum.repos.d]# blkid /dev/md1
        /dev/md1: UUID="786b54c9-d523-421f-80e3-535618f88b4a" TYPE="ext4"

        [iyunv@localhost yum.repos.d]# mkdir /backup
        [iyunv@localhost yum.repos.d]# vim /etc/fstab
        添加:
        UUID=786b54c9-d523-421f-80e3-535618f88b4a /backup ext4 defaults,noatime,acl 0 0

        [iyunv@localhost yum.repos.d]# mount -a
        [iyunv@localhost yum.repos.d]# mount
        /dev/sda2 on / type ext4 (rw)
        proc on /proc type proc (rw)
        sysfs on /sys type sysfs (rw)
        devpts on /dev/pts type devpts (rw,gid=5,mode=620)
        tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
        /dev/sda1 on /boot type ext4 (rw)
        /dev/sda3 on /usr type ext4 (rw)
        none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
        /dev/md1 on /backup type ext4 (rw,noatime,acl)

        df查看结果:
        /dev/md1       ext4   4.9G   11M  4.6G   1% /backup




运维网声明 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-134352-1-1.html 上篇帖子: LVM管理、快照卷、dd、diff、patch 下篇帖子: 黑蜘蛛论坛视频一套
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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