Linux环境软RAID 5 搭建

简介:

准备操作:

1、centos7.2 RAID 5实验详解

在vmware上添加4块20G硬盘


2、查看硬盘(新建磁盘后需要执行partprobe-使kernel重新读取分区表)

[root@centos7-67 ~]# fdisk -l

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048    41943039    20970496   83  Linux


Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1            2048    41943039    20970496   83  Linux


Disk /dev/sdd: 21.5 GB, 21474836480 bytes, 41943040 sectors

   Device Boot      Start         End      Blocks   Id  System

/dev/sdd1            2048    41943039    20970496   83  Linux


Disk /dev/sde: 21.5 GB, 21474836480 bytes, 41943040 sectors

   Device Boot      Start         End      Blocks   Id  System

/dev/sde1            2048    41943039    20970496   83  Linux


开始搭建:

创建RAID

1、yum install mdadm

2、创建raid --create 创建raid5名称;--level:raid 级别;3个磁盘,1个做热备

[root@centos7-67 ~]# mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]1

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

3、查看raid的详细信息

[root@centos7-67 ~]# mdadm -D /dev/md0

4、说明:若让RAID开机启动.需要配置RIAD的配置文件吧.默认名字为mdadm.conf,这个文件默认是不存在的,要自己建立.该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理.

说明下,mdadm.conf文件主要由以下部分组成:DEVICES选项制定组成RAID所有设备, ARRAY选项指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号.

5、[root@centos7-67 ~]# mdadm --detail --scan > /etc/mdadm.conf

[root@centos7-67 ~]# cat /etc/mdadm.conf 

devices /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

ARRAY /dev/md0 metadata=1.2 spares=1 name=centos7-67:0 UUID=c5795cff:9c3f8dfb:1bdf421d:fd03a587

6、将/dev/md0创建文件系统

[root@centos7-67 ~]# mkfs.ext4 /dev/md0

7、挂载/dev/md0到系统中去

[root@centos7-67 ~]# mkdir /bakcup

8、[root@centos7-67 ~]# mount /dev/md0 /bakcup/


9、添加到默认挂载配置文件中,让其随系统启动挂载

[root@centos7-67 ~]# vi /etc/fstab

/dev/md0                /var/raid5              ext4    defaults        0 0


10、如果其中某个硬盘坏了会怎么样呢?系统会自动停止这块硬盘的工作,然后让后备的那块硬盘顶上去工作.测试下:

[root@centos7-67 ~]# cp -R  /data/package/ /bakcup/


先让一块磁盘停止工作

[root@centos7-67 ~]# mdadm /dev/md0 --fail /dev/sdc1


[root@centos7-67 ~]# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4] 

md0 : active raid5 sdd1[4] sde1[3] sdc1[1](F) sdb1[0] #(F)表示磁盘为fail


再看下/bakcup/的文件还是正常


[root@centos7-67 ~]# mdadm -D /dev/md0 #这里也可以看到


11、磁盘管理

移除一块坏的硬盘

mdadm /dev/md0 --remove /dev/sdc1


添加一块硬盘

mdadm /dev/md0 --add /dev/sdc1


12、测试将raid5中的3块硬盘都停止,然后重启后发现服务器网络不正常,不能正常访问登录。


解决:1、需要将/etc/fstab下的raid5记录注释掉,再重启即可

          2、重建raid5

  3、mdadm --stop /dev/md0

  4、mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]1

  5、mount /dev/md0 /backup/
































本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2087078,如需转载请自行联系原作者


相关文章
|
8天前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
18 5
|
8天前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
24 3
|
8天前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
10天前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
20 1
|
2月前
|
前端开发 Linux
深度探索Linux操作系统 —— 构建桌面环境3
深度探索Linux操作系统 —— 构建桌面环境
34 12
|
1月前
|
Shell Linux API
C语言在linux环境下执行终端命令
本文介绍了在Linux环境下使用C语言执行终端命令的方法。首先,文章描述了`system()`函数,其可以直接执行shell命令并返回结果。接着介绍了更强大的`popen()`函数,它允许程序与命令行命令交互,并详细说明了如何使用此函数及其配套的`pclose()`函数。此外,还讲解了`fork()`和`exec`系列函数,前者创建新进程,后者替换当前进程执行文件。最后,对比了`system()`与`exec`系列函数的区别,并针对不同场景推荐了合适的函数选择。
|
10天前
|
Linux Python
linux之部署python环境&创建虚拟环境
linux之部署python环境&创建虚拟环境
|
10天前
|
Web App开发 Linux Python
linux上安装selenium环境及测试
该文章提供了在Linux CentOS上安装Selenium环境、Chrome浏览器及Chromedriver的详细步骤,并演示了如何以无头模式进行测试。
27 0
|
2月前
|
存储 搜索推荐 Linux
深度探索Linux操作系统 —— 构建桌面环境1
深度探索Linux操作系统 —— 构建桌面环境
41 8
下一篇
无影云桌面