首页
最新活动
服务器租用
香港服务器租用
台湾服务器租用
美国服务器租用
日本服务器租用
新加坡服务器租用
高防服务器
香港高防服务器
台湾高防服务器
美国高防服务器
裸金属
香港裸金属服务器
台湾裸金属服务器
美国裸金属服务器
日本裸金属服务器
新加坡裸金属服务器
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
CDN
CDN节点
CDN带宽
CDN防御
CDN定制
行业新闻
官方公告
香港服务器资讯
帮助文档
wp博客
zb博客
服务器资讯
联系我们
关于我们
机房介绍
机房托管
登入
注册
帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
联系客服
服务器资讯
/
香港服务器租用
/
香港VPS租用
/
香港云服务器
/
美国服务器租用
/
台湾服务器租用
/
日本服务器租用
/
官方公告
/
帮助文档
Linux命令-mdadm管理磁盘阵列组
发布时间:2024-02-29 18:47:43 分类:帮助文档
Linux命令-mdadm管理磁盘阵列组 文章目录 概要 一 磁盘阵列是什么? 二 RAID的级别 RAID 0 RAID 1 RAID 5 RAID10 三 命令介绍 四 语法格式 五 基本参数 六 参考实例 创建RAID 0磁盘阵列组 创建RAID 1磁盘阵列组 创建RAID 5磁盘阵列组 创建RAID 10磁盘阵列组 删除磁盘阵列 停止磁盘阵列 激活磁盘阵列 命令总结 概要 在linux里,mdadm是制作软raid的命令,这里我们就先了解一下什么是磁盘阵列以及几个RAID的级别,然后再聊命令,这样就更容易理解命令的各个参数是代表着什么含义。 一 磁盘阵列是什么? 磁盘阵列的英文是Redundant Arrays of Independent Disks,缩写既是RAID,有“独立磁盘构成具有冗余能力的阵列”之意。磁盘阵列是由很多磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个磁盘组合在一起,提升整个磁盘系统效能。 二 RAID的级别 这里只介绍比较常用的RAID 0、RAID 1、RAID 5、和RAID 10的概念。 注意RAID10并不是读作RAID(十),而是RAID(一零) RAID 0 RAID 0原理是把多块物理磁盘设备(至少需要两块)通过硬件和软件的方式串联到一起,组成一个大的卷组,并将数据依次写入各个物理磁盘中。这样一来,磁盘设备的读写性能将会提升数倍(取决于磁盘数量);若有任意一块磁盘发生故障,将会导致整个系统的数据都受到了破坏。简单来说,RAID 0 技术能够有效提升磁盘数据的吞吐速度(读写),但不具备数据备份和修复磁盘的能力。如下图所示,数据被分别写入到不同的磁盘设备中,最终实现提升读取和写入速度的效果。 RAID 0存储数据结构图 RAID 1 RAID 1也被称为磁盘镜像(至少需要两块),原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。 RAID 1存储数据结构图 RAID 5 RAID 5技术是把磁盘设备的数据奇偶校验信息保存到每个磁盘设备中。这样的优势是就算有一块磁盘设备损坏了,也可通过奇偶校验信息尝试恢复重建损坏的数据。RAID 5这样的技术特性兼顾了磁盘设备的读写速度,数据安全性以及存储成本问题。而RAID 5至少是由三块磁盘组成的,使用的是磁盘切割技术,相比于RAID 1级别,RAID 5的磁盘使用率有三分之二;效率更高,存储成本也随之降低,需要注意的是无论有多少块磁盘组RAID 5,最大程度只能存在坏一块的可能。 如下图所示,Parity就是存储数据时的奇偶校验信息。 RAID5 存储数据结构图 RAID10 RIAD 10原理实际上是RAID 1+RAID 0技术的一个结合,RAID 10是至少需要到四块磁盘组成的,其中先分别将两两制成RAID 1的磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高磁盘设备的读写速度。从理论方面来说,只要坏的位置不是同个阵列的磁盘,那么最多可以损坏一半的磁盘设备而不丢失数据。由于RAID 10技术继承了RAID 0的高读写速度和RAID 1的数据安全性,在不考虑成本的情况下RAID 10的性能也超过了RAID 5,因此当前成为较为广泛的一种存储技术。 RAID 10 存储数据结构图 三 命令介绍 先来看下mdadm的帮助文档 NAME mdadm - manage MD devices aka Linux Software RAID mdadm(multiple devices admin)命令的主要功能是用来管理RAID磁盘阵列组,linux系统中实现软RAID设备的命令,可以进行创建,调整,监控,删除等全套管理操作。 四 语法格式 mdadm命令的格式是:mdadm 【模式】【磁盘阵列】【参数】设备名 SYNOPSIS mdadm [mode]
[options]
五 基本参数 mdadm的参数有以下内容,因为此命令的参数较多,以表格形式呈现 -A激活预先配置的磁盘阵列-B创建一个没有超级快的RAID设备-C创建一个新的阵列组-F选择监控模式-G改变RAID设备的大小或形态-s扫描配置文件或/proc/mdstat得到阵列缺失部分-D打印磁盘阵列设备的详细信息-f将设备状态定为故障-a添加新的设备到阵列组-r移除设备-l设定磁盘阵列的级别-n指定阵列成员(分区/磁盘)的数量-x指定阵列中备用盘的数量-c设定阵列的块大小,单位为kb-S停止阵列组 六 参考实例 创建RAID 0磁盘阵列组 需求:创建一个RAID 0的磁盘阵列组,使用两块磁盘,不使用备用盘; 模拟过程:需要先把虚拟机的磁盘添加两块。 [root@localhost ~]# ll /dev/sd* brw-rw----. 1 root disk 8, 0 3月 1 13:03 /dev/sda brw-rw----. 1 root disk 8, 1 3月 1 13:03 /dev/sda1 brw-rw----. 1 root disk 8, 2 3月 1 13:03 /dev/sda2 brw-rw----. 1 root disk 8, 16 3月 1 13:03 /dev/sdb brw-rw----. 1 root disk 8, 32 3月 1 13:03 /dev/sdc [root@localhost ~]# mdadm -Cv /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc #创建磁盘阵列组 mdadm: chunk size defaults to 512K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@localhost ~]# mdadm -D /dev/md0 #查看状态 /dev/md0: ...... Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc [root@localhost ~]# mdadm -Ds > /etc/mdadm.conf #生成配置文件 [root@localhost ~]# ll /dev/md0 brw-rw----. 1 root disk 9, 0 3月 1 13:06 /dev/md0 [root@localhost ~]# mkfs.xfs /dev/md0 #格式化设备 [root@localhost ~]# mkdir /raid0 [root@localhost ~]# mount /dev/md0 /raid0 #挂载到/raid0目录 [root@localhost ~]# df -h /raid0/ 文件系统 容量 已用 可用 已用% 挂载点 /dev/md0 40G 33M 40G 1% /raid0 创建RAID 1磁盘阵列组 需求:创建RAID 1磁盘阵列组,添加三块盘,两块作为RAID 1镜像使用,一块作为备用盘,模拟磁盘出现故障,备用盘自动替换故障盘,将故障盘移除,并添加新的磁盘恢复到2+1的状态。 [root@localhost ~]# mdadm -Cv /dev/md1 -l 1 -n 2 -x 1 /dev/sd[b-d] #创建raid 1阵列 ...... mdadm: array /dev/md1 started. #将raid1信息写入到配置文件中 [root@localhost ~]# mdadm -Ds /dev/md1> /etc/mdadm.conf #查看md1的状态 [root@localhost ~]# mdadm -D /dev/md1 /dev/md1: ...... Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 2 8 48 - spare /dev/sdd #将设备格式化,发现有现有的xfs文件系统,可以直接加个-f参数强制格式化 [root@localhost ~]# mkfs.xfs /dev/md1 mkfs.xfs: /dev/md1 appears to contain an existing filesystem (xfs). mkfs.xfs: Use the -f option to force overwrite. [root@localhost ~]# mkfs.xfs -f /dev/md1 [root@localhost ~]# mkdir /raid1 #挂载设备 [root@localhost ~]# mount /dev/md1 /raid1 #提前准备测试文件 [root@localhost ~]# touch /raid1/{1..6}.txt [root@localhost ~]# cp /etc/passwd /raid1/passwd.txt 模拟损坏一块磁盘,让备用盘自动备份好数据 ; #模拟损坏了一块磁盘 [root@localhost ~]# mdadm -f /dev/md1 /dev/sdb mdadm: set /dev/sdb faulty in /dev/md1 #查看状态,发现备用盘正在恢复数据 [root@localhost ~]# mdadm -D /dev/md1 /dev/md1: ...... Consistency Policy : resync Rebuild Status : 10% complete #正在重新一对一恢复 Name : localhost.localdomain:1 (local to host localhost.localdomain) UUID : 12b2442b:3c9cc994:501eee5f:e8de8a15 Events : 20 Number Major Minor RaidDevice State 2 8 48 0 spare rebuilding /dev/sdd 1 8 32 1 active sync /dev/sdc 0 8 16 - faulty /dev/sdb #重新将扫描后的设备信息写入到文件 [root@localhost ~]# mdadm -Dsv > /etc/mdadm.conf #查看数据是否出现丢失 [root@localhost ~]# ll /raid1/ 总用量 4 -rw-r--r--. 1 root root 0 3月 1 13:35 1.txt -rw-r--r--. 1 root root 0 3月 1 13:35 2.txt -rw-r--r--. 1 root root 0 3月 1 13:35 3.txt -rw-r--r--. 1 root root 0 3月 1 13:35 4.txt -rw-r--r--. 1 root root 0 3月 1 13:35 5.txt -rw-r--r--. 1 root root 0 3月 1 13:35 6.txt -rw-r--r--. 1 root root 2317 3月 1 13:35 passwd.txt [root@localhost ~]# head -10 /raid1/passwd.txt root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin ...... 移除损坏的磁盘,并且重新添加一块热备盘到raid 1磁盘阵列中; #移除损坏数据的磁盘 [root@localhost ~]# mdadm -r /dev/md1 /dev/sdb mdadm: hot removed /dev/sdb from /dev/md1 [root@localhost ~]# mdadm -D /dev/md1 /dev/md1: ...... Number Major Minor RaidDevice State 2 8 48 0 active sync /dev/sdd 1 8 32 1 active sync /dev/sdc #重新添加一块热备盘 [root@localhost ~]# mdadm -a /dev/md1 /dev/sde mdadm: added /dev/sde #查看状态 [root@localhost ~]# mdadm -D /dev/md1 /dev/md1: ...... Number Major Minor RaidDevice State 2 8 48 0 active sync /dev/sdd 1 8 32 1 active sync /dev/sdc 3 8 64 - spare /dev/sde 到这里raid 1阵列已经配置好了。 创建RAID 5磁盘阵列组 需求:创建RIAD 5磁盘阵列组,使用3块磁盘+1块备用盘,并且模拟后续还需要多加1块磁盘到阵列组。 [root@localhost ~]# mdadm -Cv /dev/md5 -l 5 -n 3 -x 1 -c 32 /dev/sd[b-e] #创建磁盘阵列 ...... mdadm: array /dev/md5 started. [root@localhost ~]# mdadm -D /dev/md5 #查看状态 /dev/md5: ...... Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 4 8 48 2 spare rebuilding /dev/sdd 3 8 64 - spare /dev/sde [root@localhost ~]# mdadm -Ds > /etc/mdadm.conf #写入配置文件 #格式化设备 [root@localhost ~]# mkfs.xfs -f /dev/md5 [root@localhost ~]# mkdir /raid5 #挂载到/raid5目录 [root@localhost ~]# mount /dev/md5 /raid5 #添加一些数据进去 [root@localhost ~]# cp /etc/passwd /raid5/passwd [root@localhost ~]# cp /etc/hosts /raid5/hosts 加一块磁盘 扩展raid 5磁盘阵列; #取消挂载开始扩展raid5 [root@localhost ~]# umount /dev/md5 [root@localhost ~]# mdadm -G /dev/md5 -n 4 -c 32 #重新写入信息到配置文件中 [root@localhost ~]# mdadm -Ds > /etc/mdadm.conf [root@localhost ~]# mdadm -D /dev/md5 /dev/md5: ...... Layout : left-symmetric Chunk Size : 32K Consistency Policy : resync Reshape Status : 16% complete #正在扩展中 Delta Devices : 1, (3->4) Name : localhost.localdomain:5 (local to host localhost.localdomain) UUID : 5b3697cf:57b4eb6d:8828ec0f:5ce38181 Events : 48 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc 4 8 48 2 active sync /dev/sdd 3 8 64 3 active sync /dev/sde #使用这个命令可以看到是哪几个磁盘组了阵列 [root@localhost ~]# lsblk ...... sdb 8:16 0 20G 0 disk └─md5 9:5 0 40G 0 raid5 sdc 8:32 0 20G 0 disk └─md5 9:5 0 40G 0 raid5 sdd 8:48 0 20G 0 disk └─md5 9:5 0 40G 0 raid5 sde 8:64 0 20G 0 disk └─md5 9:5 0 40G 0 raid5 #重新挂载后,数据还存在,并且可以继续写入内容 [root@localhost ~]# mount /dev/md5 /raid5 [root@localhost ~]# ll /raid5/ 总用量 8 -rw-r--r--. 1 root root 158 3月 1 13:59 hosts -rw-r--r--. 1 root root 2317 3月 1 13:59 passwd [root@localhost ~]# touch /raid5/{1..5}.txt [root@localhost ~]# !ll ll /raid5/ 总用量 8 到这里raid 5的配置实验已经结束了。 创建RAID 10磁盘阵列组 需求:创建RAID 10磁盘阵列,需要用到四块磁盘,并且增加一块备用盘,模拟如果坏掉了一块磁盘,将磁盘移除后,重新添加一块备用盘。 [root@localhost ~]# mdadm -Cv /dev/md10 -l 10 -n 4 -x 1 /dev/sd[b-f] #创建raid10 mdadm: layout defaults to n2 mdadm: layout defaults to n2 mdadm: chunk size defaults to 512K mdadm: size set to 20954112K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md10 started. [root@localhost ~]# mdadm -Ds > /etc/mdadm.conf #将信息写入到配置文件里 [root@localhost ~]# mkfs.xfs /dev/md10 meta-data=/dev/md10 isize=512 agcount=16, agsize=654720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=10475520, imaxpct=25 = sunit=128 swidth=256 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=5120, version=2 = sectsz=512 sunit=8 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mkdir /raid10 [root@localhost ~]# mount /dev/md10 /raid10 #挂载 模拟损坏了一块磁盘,让备份盘自动恢复数据; [root@localhost ~]# mdadm -f /dev/md10 /dev/sdb #模拟损坏一块盘 mdadm: set /dev/sdb faulty in /dev/md10 [root@localhost ~]# mdadm -D /dev/md10 /dev/md10: Version : 1.2 Creation Time : Wed Mar 1 14:21:12 2023 Raid Level : raid10 Array Size : 41908224 (39.97 GiB 42.91 GB) Used Dev Size : 20954112 (19.98 GiB 21.46 GB) Raid Devices : 4 Total Devices : 5 Persistence : Superblock is persistent Update Time : Wed Mar 1 14:24:25 2023 State : clean, degraded, recovering Active Devices : 3 Working Devices : 4 Failed Devices : 1 Spare Devices : 1 Layout : near=2 Chunk Size : 512K Consistency Policy : resync Rebuild Status : 12% complete #备用盘正在自动恢复中 Name : localhost.localdomain:10 (local to host localhost.localdomain) UUID : 5d88661b:3c2b4c65:066fefe1:e3a6ce41 Events : 26 Number Major Minor RaidDevice State 4 8 80 0 spare rebuilding /dev/sdf 1 8 32 1 active sync set-B /dev/sdc 2 8 48 2 active sync set-A /dev/sdd 3 8 64 3 active sync set-B /dev/sde 0 8 16 - faulty /dev/sdb 移除磁盘后重新添加一块备用盘; [root@localhost ~]# mdadm -r /dev/md10 /dev/sdb mdadm: hot removed /dev/sdb from /dev/md10 #重新添加一块备用盘 [root@localhost ~]# mdadm -a /dev/md10 /dev/sdb mdadm: added /dev/sdb #重新写入到配置文件里 [root@localhost ~]# mdadm -Ds > /etc/mdadm.conf [root@localhost ~]# mdadm -D /dev/md10 /dev/md10: ...... Number Major Minor RaidDevice State 4 8 80 0 active sync set-A /dev/sdf 1 8 32 1 active sync set-B /dev/sdc 2 8 48 2 active sync set-A /dev/sdd 3 8 64 3 active sync set-B /dev/sde 5 8 16 - spare /dev/sdb 停止阵列,再重新激活; [root@localhost ~]# umount /dev/md10 [root@localhost ~]# mdadm -Ss /dev/md10 mdadm: stopped /dev/md10 [root@localhost ~]# mdadm -A /dev/md10 mdadm: /dev/md10 has been started with 4 drives and 1 spare. [root@localhost ~]# mount /dev/md10 /raid10 到这里raid10的配置已经结束了。 删除磁盘阵列 删除磁盘阵列的过程中需要注意的是,得先取消挂载后,将磁盘停止了,然后再逐个清空磁盘的数据,这个操作建议只在实验中进行,生产环境请勿随意删除磁盘阵列! [root@localhost ~]# umount /dev/md10 [root@localhost ~]# rm -rf /etc/mdadm.conf [root@localhost ~]# mdadm -Ss /dev/md10 mdadm: stopped /dev/md10 [root@localhost ~]# mdadm --zero-superblock /dev/sdb [root@localhost ~]# mdadm --zero-superblock /dev/sdc [root@localhost ~]# mdadm --zero-superblock /dev/sde [root@localhost ~]# mdadm --zero-superblock /dev/sdf [root@localhost ~]# mdadm --zero-superblock /dev/sdd 停止磁盘阵列 在创建好在磁盘阵列后,若不使用,可以使用-S参数停止。 [root@localhost ~]# mdadm -Ss /dev/md10 mdadm: stopped /dev/md10 激活磁盘阵列 需要用到磁盘阵列时,将之前配置好的,重新激活就行了。 [root@localhost ~]# mdadm -A /dev/md10 mdadm: /dev/md10 has been started with 4 drives and 1 spare. 命令总结 mdadm的内容其实是很多的,因为主要还是用来创建RAID和管理的,所以需要将几个RAID级别都演示一下,当然可以选择自己需要用到的raid去反复观看。若觉得内容还行的,可以点赞支持一下!
上一篇
日本樱花vsp服务器
下一篇
香港免备案云服务器有什么优势
相关文章
【MCSManager】服务器启动错误?看这里!
大g上怎么租服务器
解决使用两台主机的VSCode远程连接同一个服务器账户出现的配置冲突问题
服务器租用与托管有什么区别
vscode无法ssh远程连接到服务器:远程主机可能不符合 glibc 和 libstdc++ VS Code 服务器的先决条件
分别通过select、多进程、多线程实现一个并发服务器_1
H3C HCL模拟器配置防火墙WEB的两种方法,非常简单
非云服务器网站怎么备案
金蝶Apusic应用服务器 loadTree JNDI注入漏洞复现(QVD-2023-48297)
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价
7*24H在线售后
高可用资源,安全稳定
1v1专属客服对接
无忧退款试用保障
德讯电讯股份有限公司
电话:00886-982-263-666
台湾总部:台北市中山区建国北路一段29号3楼
香港分公司:九龙弥敦道625号雅兰商业二期906室
服务器租用
香港服务器
日本服务器
台湾服务器
美国服务器
高防服务器购买
香港高防服务器出租
台湾高防服务器租赁
美国高防服务器DDos
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
行业新闻
香港服务器租用
服务器资讯
香港云服务器
台湾服务器租用
zblog博客
香港VPS
关于我们
机房介绍
联系我们
Copyright © 1997-2024 www.hkstack.com All rights reserved.