raid及mdadm命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了raid及mdadm命令相关的知识,希望对你有一定的参考价值。

IDE:速率133Mbps,并行口

SATA:速率64Gbps,串行口

USB:串行

SCSI:UlTraSCSI ,320Mbps,并行 3.5英寸

SAS:2.5英寸,将SCSI实现串联


逻辑RIAD:

/dev/md0

/dev/md1


md:raid模块

mdadm:用于配置软raid,支持将任何块设备做成RAID

模式化命令:

   创建模式

        -C 创建   

                 -l :级别

                 -n :设备个数

                 -a {yes|no}:自动为其创建设备文件

                 -c :指定数据块大小,一般为2的次方倍

                 -x :指定空闲盘个数,用于备用

   管理模式

        -a ,添加

        -r ,移除

        -f 模拟损坏

   监控模式

        -F 监控

   增长模式

        -G 增长

   装配模式

        -A 装配模式


实验都在一块磁盘的多个分区上进行,实际环境中则使用多块磁盘

实现1 ,使用两个分区创建一个2G的RAID0

 可以使用4个512分区

 或者2个1G分区


1.新建两个1G实验分区,调整为fd

技术分享

[[email protected] ~]# partprobe /dev/sda 重读一下硬盘


确保新建分区能够使用

技术分享

[[email protected] ~]# mdadm -C /dev/md0  -a yes -l 0 -n 2 /dev/sdb{1,2}


-l指定为raid0 -n设备个数为2   -C创建  -a自动创建设备文件

chunks显示的数据块大小为512k

技术分享

条带=chunks/blocks

此时的2个分区已经合成为一个raid。直接当作一个硬盘使用就行了

[[email protected] ~]# mke2fs  -j   -E stride=16 -b 4096 /dev/md0 (直接格式化, -E指定条带大小为16  -b指定块大小为4096)注意stride值等于  cat/proc/mdstat里显示的chunks值/4

[[email protected] ~]# fdisk -l

技术分享

md0已经显示为一个单独的设备了,大小为2G

[[email protected] ~]# mount /dev/md0  /mnt 挂载以后就可以直接使用了

[[email protected] ~]# mdadm -D /dev/md0 显示设备的相关信息

[[email protected] ~]# mdadm /dev/md0  -f /dev/sdb1 把md0中的sdb1模拟成损坏的命令,用于测试。

[[email protected] ~]# mdadm /dev/md0  -r /dev/sdb1 移除

[[email protected] ~]# mdadm /dev/md0  -a /dev/sdb9  找一块新的磁盘替换上去,注意磁盘大小保持一致

[[email protected] ~]# mdadm /dev/md0  -a /dev/sdb8  添加一块空闲盘,用于备用,当坏了以后自动顶上。


watch :将一个命令的执行结果以全屏的方式显示。默认每隔两秒钟刷新一次例如显示raid的状态信息,有利于发现硬盘损坏

-n指定周期长度。单位为秒

格式watch -n # ‘COMMAND‘

[[email protected] ~]# watch ‘cat /proc/mdstat‘



假如某个整列不想用了可以停止阵列

[[email protected] ~]# mdam -S /dev/md0 

停止以后删除设备文件

[[email protected] ~]# rm /dev/md0


如果要将停止的阵列恢复

[[email protected] ~]# mdam -A /dev/md0  /dev/sdb1 /dev/sdb2

-------------------------------------

[[email protected] ~]# mdadm -D --scan 显示当前raid设备的UUID号

ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=e13dcad4:b87889be:067ec73a:bb88afa2

ARRAY /dev/md1 metadata=1.2 name=localhost.localdomain:1 UUID=d1f4b96f:0a66bdd0:cb68f0c4:df030ec7

[[email protected] ~]# mdadm -D --scan > /etc/mdadm.conf以后会自动装配,(下次在停止设备-S,以后再恢复设备-A时系统直接读取此文件)

[[email protected] ~]# mdam -S /dev/md0

[[email protected] ~]# mdam -A /dev/md0 

------------------------------------------


创建raid1 的方法是一样的, 2G raid1

使用2个2G分区

方法和上面一样

---------------

创建一个2G的raid5,至少需要3块盘使用率(n-1)/n

三个1G的硬盘。 也支持空闲盘,如果需要一个空闲盘则使用四块1G硬盘


-----------------

raid 0 1 先把两组2个1G的分区做成条带0 ,再把两个条带做成raid1 

方法大致一样

raid 1 0 则是先把两组2个1G的分区做成raid1,再把两个1G的raid1做成条带



这里演示raid 0 1

技术分享


[[email protected] ~]# mdadm -C /dev/md0 -a yes -l 0 -n2 /dev/sdb{5,6}

[[email protected] ~]# mdadm -C /dev/md1 -a yes -l 0 -n2 /dev/sdb{7,8}

[[email protected] ~]# partprobe /dev/md0

[[email protected] ~]# partprobe /dev/md1

[[email protected] ~]# mdadm -C /dev/md2  -a yes -l 1 -n 2 /dev/md{0,1}

技术分享

[[email protected] ~]# partprobe /dev/md2

[[email protected] ~]# cat /proc/partitions 确认系统已经读到了md2

技术分享

[[email protected] ~]# mke2fs -j /dev/md2

[[email protected] ~]# mount /dev/md2 /tmp/bak/   


本文出自 “运维成长路” 博客,谢绝转载!

以上是关于raid及mdadm命令的主要内容,如果未能解决你的问题,请参考以下文章

RAID 的常用模式 及mdadm 命令的应用

raid及mdadm命令原理

2016-9-6 RAID及mdadm命令

第十课--10_02_Raid及mdadm命令之二

RAID管理及命令mdadm详解

raid及mdadm命令之一(含shell显示字体颜色等)