软RAID管理命令mdadm详解
mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。但由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID的自身缺陷(不能用作启动分区、使用CPU实现,降低CPU利用率),因此在生产环境下并不适用。但为了学习和了解RAID原理和管理,因此仍然进行一个详细的讲解:
一、创建模式
1、创建raid0:
1.1 创建raid
mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
mkfs.ext4 /dev/md0
mkfs.ext4 -E stride=16 -b 4096 /dev/md0
2、创建raid1:
[root@localhost ~]# mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sdb{5,6}mdadm: Note: this array has metadata at the start andmay not be suitable as a boot device. If you plan tostore '/boot' on this device please ensure thatyour boot-loader understands md/v1.x metadata, or use--metadata=0.90Continue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md1 started.
[root@localhost ~]# mkfs.ext4 /dev/md1
3、创建raid5:
[root@localhost ~]# mdadm -C /dev/md2 -a yes -l 5 -n 3 /dev/sdb{5,6,7}mdadm: /dev/sdb5 appears to be part of a raid array:level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013mdadm: /dev/sdb6 appears to be part of a raid array:level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013mdadm: /dev/sdb7 appears to be part of a raid array:level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013Continue creating array? ymdadm: Defaulting to version 1.2 metadatamdadm: array /dev/md2 started.
[root@localhost ~]# mkfs.ext4 /dev/md2
[root@localhost ~]# mdadm /dev/md2 -a /dev/sdb8
4、查看md状态:
mdadm -D /dev/md# 查看指定RAID设备的详细信息
[root@localhost ~]# cat /proc/mdstatPersonalities : [raid0] [raid1]md0 : active raid0 sdb2[1] sdb1[0]4206592 blocks super 1.2 512k chunksmd1 : active raid1 sdb6[1] sdb5[0]2103447 blocks super 1.2 [2/2] [UU]unused devices: <none>
cat /proc/partitions
kpartx /dev/sdb或者partprobe/dev/sdb
二、管理模式
1、模拟损坏:
mdadm /dev/md1 -f /dev/sdb5
2、移除损坏的磁盘:
mdadm /dev/md1 -r /dev/sdb5
3、添加新的硬盘到已有阵列:
mdadm /dev/md1 -a /dev/sdb7
4、停止阵列:
选项:-S = --stop
mdadm -S /dev/md1
三、监控模式
四、增长模式,用于增加磁盘,为阵列扩容:
示例,将上述raid5的热备磁盘增加到阵列工作磁盘中
[root@localhost ~]# mdadm -G /dev/md2 -n 4
[root@localhost ~]# mdadm -D /dev/md2……此处略掉部分信息……Number Major Minor RaidDevice State0 8 21 0 active sync /dev/sdb51 8 22 1 active sync /dev/sdb63 8 23 2 active sync /dev/sdb74 8 24 3 active sync /dev/sdb8
五、装配模式,软RAID是基于系统的,当原系统损坏了,需要重新装配RAID
示例:将上述已经停止的阵列重新装配:
mdadm -A /dev/md1 /dev/sdb5 /dev/sdb6
实现自动装配:
mdadm运行时会自动检查/etc/mdadm.conf 文件并尝试自动装配,因此第一次配置raid后可以将信息导入到/etc/mdadm.conf 中,命令如下:
[root@localhost ~]# mdadm -Ds >/etc/mdadm.conf
原文 http://www.toxingwang.com/linux-unix/linux-basic/1048.html
软RAID管理命令mdadm详解的更多相关文章
- Linux权限管理命令chmod详解
命令chmod详解 命令chmod(英文原意:change permissions mode of a file),所在路径为: 可以看到,它的路径为:/usr/bin/chmod,因此,它的执行权限 ...
- dd命令使用详解
dd命令使用详解 http://www.cnblogs.com/qq78292959/archive/2012/02/23/2364760.html 1.命令简介 dd 的主要选项: 指定数字的地方若 ...
- Mysql导入导出工具Mysqldump和Source命令用法详解
Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...
- dos下的edit命令使用详解
dos下的edit命令使用详解 来源:网络 作者:未知 edit命令是一个简单的编辑软件,我们经常用它来编辑一些程序和批处理文件. 比如,我想在c盘根目录下编辑一个简单的批处理文件,要求无论当前盘和当 ...
- [转]Mysql导入导出工具Mysqldump和Source命令用法详解
Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...
- 系统批量运维管理器Fabric详解
系统批量运维管理器Fabric详解 Fabrici 是基于python现实的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包 ...
- Make命令完全详解教程
Make命令完全详解教程 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install.利用m ...
- (转)shell中test命令方法详解
test命令用法.功能:检查文件和比较值 shell中test命令方法详解 原文:https://www.cnblogs.com/guanyf/p/7553940.html 1)判断表达式 if te ...
- Windows WMIC命令使用详解2
Windows WMIC命令使用详解(附实例) https://blog.csdn.net/aflyeaglenku/article/details/77878525 第一次执行WMIC命令时,Win ...
随机推荐
- 企业应用打包的时候 修改ipa包的bundle identifier
1.将ipa包后缀改为.zip,解压,之后打开包文件,找到info.plist文件后,修改相应的项就可以了.把修改后的文件重新压缩成zip,把zip改为ipa,替代原来的ipa,就可以了. 解决这个问 ...
- ubuntu部署git
先更新本机内置的程序. sudo apt-get updatesudo apt-get upgrade再判断系统是否内置了add-apt-repository命令,如果没有执行下列命令安装 sudo ...
- 编译openssl失败(SLES11.3), undefined reference to `OPENSSL_cpuid_setup'
https://stackoverflow.com/questions/11381514/undefined-reference-when-compiling-openssl I ran into t ...
- C需要中的static
转载 详细分析一下static关键字在编写程序时有的三大类用法: 一,static全局变量 我们知道,一个进程在内存中的布局如图1所示: 其中.text段保存进程所执行的程序二进制文件,.data段保 ...
- .NET Core 中 IOptions 有什么用
我只发现IOptions的一个用处——方便了在.NET Core应用程序中使用强类型配置. 如果没有IOptions,使用强类型配置需要自己解决下面2个问题: 1)将配置文件(比如appsetting ...
- [No000010D]Git6/9-分支管理
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...
- class="no-js"
这是什么意思?看了外网的解释,比较明白了.(When Modernizr runs, it removes the "no-js" class and replaces it wi ...
- Yarn && npm设置镜像源
安装yarn npm i -g yarn yarn yarn config set registry https://registry.npm.taobao.org --global yarn con ...
- Flannel - 原理
Flannel GitHub 地址 Flannel 是 Kubernetes 中常用的网络配置工具,用于配置第三层(网络层)网络结构. 如何工作Flannel 需要在集群中的每台主机上运行一个名为 f ...
- ASP.NET MVC 系统过滤器、自定义过滤器
一.系统过滤器使用说明 1.OutputCache过滤器 OutputCache过滤器用于缓存你查询结果,这样可以提高用户体验,也可以减少查询次数.它有以下属性: Duration:缓存的时间,以秒为 ...