CentOS6.7配置软raid5(模拟故障增加硬盘)

简介:

实验环境vmware12  系统CentOS6.7 64位

配置RAID5


RAID5至少需要三块硬盘,读写数据的时候会将数据分布的读写到所有硬盘上

虚拟机设置中,除系统盘外,增加4块硬盘来做实验,其中3块硬盘为活动盘,另一块做热备盘

进入系统fdisk -l命令查看,/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde

当前mdadm版本

如果没有mdadm命令,需要手动安装

安装mdadm软件

yum -y install mdadm

直接对4块硬盘做软raid,其中1块硬盘为热备盘

mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sd[b,c,d,e]

说明:

-C:创建模式
-a {yes|no}:自动创建对应的设备,yes表示会自动在/dev下创建RAID设备
-l #:指明要创建的RAID的级别(-l 0 表示创建RAID0)
-n #:使用#个块设备来创建此RAID(-n 3 表示用3块硬盘来创建这个RAID)
-x #:当前阵列中热备盘只有#块(-x 1 表示热备盘只有1块)

此时再通过fdisk -l命令即可看到/dev/md5

查看raid5状态

cat /proc/mdstat

mdadm -D /dev/md5

实验环境的硬盘比较小,所以几乎是瞬间创建完成,下图可以看出spare /dev/sde为热备盘

添加raid5到raid配置文件中/etc/mdadm.conf(默认此文件不存在)

echo DEVICE /dev/sd[b,c,d,e] >> /etc/mdadm.conf

mdadm -Ds >> /etc/mdadm.conf

此时就可以格式化磁盘了

mkfs.ext4 /dev/md5

创建挂载点并挂载磁盘

mkdir /raid5

mount /dev/md5 /raid5/

raid5的可用大小为38G,即(3-1)x20G

添加至开机自动挂载

echo "/dev/md5 /raid5 ext4 defaults 0 0" >> /etc/fstab

对/raid5进行写入测试,随便创建个文件

touch /raid5/blog.whsir.com

最后需要reboot命令重启,测试开机是否自动挂载,raid5是否正常

 

模拟磁盘故障


我在这里模拟/dev/sdc磁盘故障

mdadm /dev/md5 -f /dev/sdc

查看重建状态,因为之前创建raid5的时候设置了一个热备盘,所以当有故障的磁盘时,热备盘会自动顶替故障磁盘工作,阵列也会重建,通过cat /proc/mdstat可以看到当前阵列状态

当某个磁盘出现故障时,相应的设备方括号标记(F),如上图,sdc1

其中[3/2]的第一位数表示阵列所包含的设备数,第二位数表示活动的设备数,因为当前有一个设备故障,所以第二位数为2,此时阵列以降级模式运行,虽然阵列仍然可用,但是不具有数据冗余

[U_U]表示正常使用的设备是/dev/sdb,/dev/sdd,假如这里是/dev/sdd出现故障,则变成[UU_]

重建完成后查看阵列状态,此时raid恢复正常

接下来移除故障的磁盘

mdadm /dev/md5 -r /dev/sdc

因为刚才模拟损坏了一块盘,所以当前阵列没有热备盘了,所以我们需要在添加一块新的热备盘,这里为了方便,直接将刚才模拟损坏的硬盘再次添加到raid5中

mdadm /dev/md5 -a /dev/sdc

此时/dev/sdc变成了热备盘,故障测试结束。

 

软RAID增加硬盘


软raid使用了一段时间后,发现磁盘空间不足了,此时就需要向当前软RAID中增加新的磁盘,提高RAID的空间

关闭当前系统,增加磁盘,因为我是vm实验环境,关闭虚拟机后直接添加硬盘即可

通过lsblk命令,可以看到刚才添加的磁盘是sdf

向当前raid5中增加一块硬盘

mdadm /dev/md5 -a /dev/sdf

查看RAID状态

刚才向RAID中增加的磁盘,会被当作热备盘,还需要把热备盘加入到RAID的活动盘中

mdadm -G /dev/md5 -n4

上图可以看到,刚新加的/dev/sdf已经变成了活动盘,但是Array Size : 41910272 (39.97 GiB 42.92 GB)并没有变大,那是因为构建没有完成。
等cat /proc/mdstat构建完成,RAID的容量就会变成(4-1)x20G,下图是已经构建完成后的RAID状态,可以看到Array Size : 62865408 (59.95 GiB 64.37 GB)增加了

但是通过df -Th查看文件系统容量发现大小并没有改变,所以还需要对文件系统扩容,根据磁盘大小,扩容时间也不相同,所以扩容时耐心等待resize2fs /dev/md5

上图可以看到扩容成功,数据正常,新增磁盘成功

修改RAID的配置文件vi /etc/mdadm.conf如下图所示

最后reboot重启系统,确认RAID是否正常

目录
相关文章
|
30天前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
186 1
|
5天前
|
存储 监控 Linux
在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤
本文介绍了在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤。此外,还分享了一些实践经验,帮助读者更好地管理和优化磁盘空间。
26 8
|
5天前
|
存储 监控 Linux
以 CentOS 7 为例,详细介绍了如何对未使用的硬盘进行分区、格式化和挂载的最佳实践
随着业务发展和技术进步,有效管理服务器磁盘空间变得至关重要。本文以 CentOS 7 为例,详细介绍了如何对未使用的硬盘进行分区、格式化和挂载的最佳实践。通过合理规划分区和设置挂载点,可以充分利用磁盘资源,提高系统的稳定性和可维护性。具体步骤包括确认硬盘、创建分区、格式化分区、创建挂载点、临时和永久挂载分区,以及最佳实践建议。
19 3
|
5天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
37 2
|
20天前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
64 1
|
21天前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
24 1
|
22天前
|
存储 监控 Linux
在 CentOS 7 上如何对未使用的硬盘进行分区、格式化和挂载的最佳实践,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及最佳实践建议
【10月更文挑战第8天】本文详细介绍了在 CentOS 7 上如何对未使用的硬盘进行分区、格式化和挂载的最佳实践,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及最佳实践建议,旨在有效管理和利用服务器磁盘资源,提升系统稳定性和可维护性。
40 1
|
22天前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
146 0
|
27天前
|
Linux
CentOS-Stream-9配置chfs
通过上述步骤,您就可以在CentOS Stream 9上配置并运行CHFS,为用户提供基于HTTP的文件分享服务。请注意,实际操作时应根据CHFS的具体版本和文档进行适当调整。
43 0
|
存储 Shell Linux
centos 6.5挂载硬盘
很多朋友对于LINUX的主机挂载经常询问我,现在把挂载教程进行分享,大家共同学习交流
376 0
centos 6.5挂载硬盘