系列文章目录
` 提示:仅用于个人学习,进行查漏补缺使用。
1.Linux介绍、目录结构、文件基本属性、Shell
2.Linux常用命令
3.Linux文件管理
4.Linux 命令安装(rpm、install)
5.Linux账号管理
6.Linux文件/目录权限管理
7.Linux磁盘管理/文件系统
8.Linux逻辑卷管理LVM
9.Linux磁盘配额
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 系列文章目录
- 前言
- 一.RAID磁盘阵列介绍
- 二.RAID主要优点
- 三.RAID级别
- RAID 0 (称为带区卷,性能最佳)
- RAID 1
- RAID 5
- RAID 6
- RAID 10
- RAID 01
- RAID总结如下:
- 配置示例1:
- 步骤1. 检查是否已安装mdadm软件包【mdadm是用于管理软件磁盘阵列的工具】
- 步骤2. 虚拟机设置”里添加四个50G硬盘,确认添加后输入命令lsblk查看分区列表
- 步骤3. 给这四个硬盘分区,之后lsblk查看 _PS:这里可以打个快照,留做案例2_
- 步骤4. 为了后面实验方便,给dev/sde1 sdf1 sdg1 sdh1转换成raid格式
- 步骤5. 使用步骤一工具命令,查看分区的盘有无被使用
- 步骤6. 使用mdadm -C命令用e、f、g、h 盘创建RAID5磁盘阵列
- 步骤7. 系统创建中需要一会儿时间,可用相关命令查看进度
- 步骤8. 检查磁盘是否已做RAID
- 步骤9. 创建并挂载文件系统
- 步骤10. 实现模拟故障查看故障恢复
- _PS:这里制作的RAID5(n>=3)有四块物理硬盘,所以这里可以允许有两块物理硬盘出现问题。_
- 示例2:
- 将示例1的RAID5磁盘阵列(/dev/md0),恢复最初状态,并用efgh四个盘做RAID10.【也可到快照开始做,直接从步骤7开始】
- 步骤1.移除RAID5的设备
- 步骤2.解除RAID5的挂载
- 步骤3.停止RAID5的运行
- 步骤4.删除RAID5目录并vim/etc/fstab进入系统自动挂载文件里删除记录
- 步骤5.解挂载,停止raid设备,删除raid里所有硬盘后,擦除RAID超级块:
- 步骤6.删除配置文件
- 步骤7.用lsblk命令查看磁盘使用情况
- 步骤8.删除各个主分区,接着每个物理盘分四个区,sde1,sdf1,sdg,sdh1都给10G,最后用lsblK命令查看
- 步骤7.创建 RAID 10设备(先做镜像,再做条带)
- 步骤8.检查磁盘是否已做RAID
- 步骤9.创建并挂载文件系统
- 步骤10.实现故障恢复
- 步骤11.创建 /etc/mdadm.conf 配置文件,方便管理软RAID的配置,比如启动、停止
- 内容补充:
前言
本章大概内容有:
RAID磁盘阵列介绍、RAID主要优点、RAID级别、RAID配置实例实验等
提示:以下是本篇文章正文内容,下面案例可供参考
一.RAID磁盘阵列介绍
- RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)是一种利用多个硬盘驱动器(HDD或SSD)组合起来提供更大存储容量、更高的数据传输速率和/或数据的冗余性的技术。
- 通过将多个物理硬盘虚拟化为一个或多个逻辑硬盘,RAID允许操作系统将它们视为一个单一的存储资源。
二.RAID主要优点
- 性能提升:通过并行处理I/O请求,RAID可以提高数据读写速度。例如,RAID 0通过条带化技术将数据分散存储在多个硬盘中,从而提供更高的吞吐量。
- 数据冗余:某些RAID级别(如RAID 1、RAID 5、RAID 6等)提供了数据的冗余存储,即使一个或多个硬盘损坏,也不会丢失数据。
- 容错能力:RAID可以检测和纠正某些类型的错误,确保数据的完整性和系统的连续运行。
- 灵活性:可以根据需要添加或移除硬盘,扩展存储容量或更换故障硬盘。
三.RAID级别
根据不同的应用场景和需求,RAID有多种不同的级别,每个级别都有其特定的优点和限制。以下是一些常见的RAID级别:
- RAID 0:提供最大的性能,但没有数据冗余。
- RAID 1:提供数据镜像,具有很好的冗余性,但存储效率低。
- RAID 5:提供数据分条存储和分布式奇偶校验,具有较好的性能和冗余性。
- RAID 6:类似于RAID 5,但提供独立的奇偶校验块,允许两个硬盘同时损坏而不丢失数据。
- RAID 10:结合了RAID 0的性能优化和RAID 1的数据冗余,提供高速度和高可靠性。
RAID 0 (称为带区卷,性能最佳)
- **性能**:RAID 0通过将数据分散存储在多个硬盘上,实现了数据的并行读写,从而提供了最高的存储性能。它非常适合需要高吞吐量的应用,如视频编辑、游戏服务器和一些数据库应用。
- **缺点**:RAID 0没有冗余能力,如果其中一个硬盘失败,所有数据都会丢失。因此,它不适合需要数据保护的环境。
RAID 1
- **性能**:RAID 1提供了良好的读性能,但写性能可能会受到影响,因为数据需要写入两个硬盘。
- **冗余性**:RAID 1通过将数据完全复制到两个硬盘上来实现冗余,如果一个硬盘失败,另一个硬盘仍然可以继续工作,不会丢失数据。
- **存储效率**:由于数据被复制,RAID 1的存储效率只有50%,因为它需要两倍的存储空间来保持数据的冗余。
RAID 5
- **性能**:RAID 5在读取操作上表现良好,尤其是在大容量配置。写入性能也比RAID 1好,因为它不需要像RAID 1那样写入两次。
- **冗余性**:RAID 5通过分布式奇偶校验来实现冗余,每个硬盘上都存储有用于恢复数据的奇偶校验信息。
- **存储效率**:RAID 5的存储效率为(n-1)/n,其中n是硬盘。
RAID 6
- **性能**:RAID 6在写入性能上与RAID 5相似,但读取性能可能略好,因为它有两个独立的奇偶校验块。
- **冗余性**:RAID 6可以承受两个硬盘同时失败而不丢失数据,这提供了比RAID 5更高的数据保护水平。
- **存储效率**:RAID 6的存储效率为(n-2)/n。
RAID 10
- **性能**:RAID 10结合了RAID 0的条带化和RAID 1的镜像技术,提供了出色的读写性能和数据保护。
- **冗余性**:RAID 10具有很高的冗余性,因为它可以承受多个硬盘的失败,具体取决于配置。
- **存储效率**:RAID 10的存储效率为(n/2)/n,因为它需要至少两个硬盘来创建一个镜像。
- **优点:**
1. 高性能: 具有RAID 0的高性能,因为数据可以并行读写。
2. 高可靠性**:** 具有RAID 1的高可靠性,因为数据被镜像到多个磁盘上。
- **缺点:**
1. 成本高: RAID 10需要大量磁盘,因此成本较高。
2. 存储效率低**:** 与RAID 1一样,存储效率较低。
RAID 01
RAID 01是RAID 0和RAID 1的组合,它将多个RAID 0阵列进行镜像。
优点:
高性能: 具有RAID 0的高性能,通过并行读写多个RAID 0阵列。
数据冗余: 具有RAID 1的数据冗余,通过在RAID 0阵列之间进行镜像。
缺点:
故障容忍性低: 无法容忍多块磁盘的故障,一旦一个RAID 0阵列中的任何一块磁盘出现问题,整个系统都会受到影响。
存储效率低: 需要更多的磁盘来实现相同的存储容量,存储效率较低。
RAID总结如下:
配置示例1:
步骤1. 检查是否已安装mdadm软件包【mdadm是用于管理软件磁盘阵列的工具】
rpm -q mdadm
yum install -y mdadm
步骤2. 虚拟机设置”里添加四个50G硬盘,确认添加后输入命令lsblk查看分区列表
lsblk
查看到sde,sdf,sdg,sdh四个已添加
步骤3. 给这四个硬盘分区,之后lsblk查看 PS:这里可以打个快照,留做案例2
fdisk /etc/sde sdf sdg sdh ### n 1 ....
lsblk
步骤4. 为了后面实验方便,给dev/sde1 sdf1 sdg1 sdh1转换成raid格式
fdisk /dev/sde1 sdf1 sdg1 sdh1 ###t fd w
步骤5. 使用步骤一工具命令,查看分区的盘有无被使用
mdadm -E /dev/sd[e-h]1
步骤6. 使用mdadm -C命令用e、f、g、h 盘创建RAID5磁盘阵列
mdadm -C -v /dev/md0 [-a yes] -l5 -n3 /dev/sd[efg]1 -x1 /dev/sde1
-C:表示新建,类似tar里面的 -C
-v:显示创建过程中的详细信息。
/dev/md0:创建 RAID5 的名称。【/dev目录cat下名称为md0】
-a yes:--auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l:指定 RAID 的级别,l5 表示创建 RAID5。
-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
/dev/sd[efg]1:指定使用这3块磁盘分区去创建 RAID。
-x:指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1:指定用作于备用的磁盘
记忆:使用mdadm命令创建磁盘阵列并显示详细信息,在/dev/目录下的名字为md0,级别为RAID5,
sd[efg]3个设备做主要的,1个使用/dev/sde1做热备
步骤7. 系统创建中需要一会儿时间,可用相关命令查看进度
cat /proc/mdstat #查看创建RAID的进度
或
mdadm -D /dev/md0 #查看磁盘阵列的详细信息
PS:可用watch命令来每隔一段时间刷新 /proc/mdstat 的输出
watch -n 1 ‘cat /proc/mdstat’
watch -n 1 'cat /proc/mdstat' #每隔1秒刷新时间刷新 /proc/mdstat 的输出
成功页面如下:
步骤8. 检查磁盘是否已做RAID
mdadm -E /dev/sd[efgh]1
步骤9. 创建并挂载文件系统
mkfs -t xfs /dev/md0 ###将刚创建的RAID5磁盘阵列,即/dev/目录下的md0制作文件系统
mkdir /myraid ###创建目录myraid,以便待会用来挂载
mount /dev/md0 /myraid/ ###将1里的md0设备挂载到 2里的myraid
df -Th ###查看磁盘使用情况,是否挂载到myraid
cp /etc/fstab /etc/fstab.bak ###将/et/fstab复制到 /etc/fstab.bak,已做备份【没有bak可以往下走】
vim /etc/fstab ###fstab是系统启动时自动挂载文件系统的信息,编辑
/dev/md0 /myraid xfs defaults 0 0 ###添加记录
mount -a ###系统启动自动挂载刷新
步骤10. 实现模拟故障查看故障恢复
mdadm /dev/md0 -f /dev/sde1 #模拟/dev/sde1 故障 ,即移除dev/sde1设备
mdadm -D /dev/md0 #查看发现sdh1已顶替sdbe1
1.故障前:
2.模拟故障后:
PS:这里制作的RAID5(n>=3)有四块物理硬盘,所以这里可以允许有两块物理硬盘出现问题。
例如:
mdadm /dev/md0 -f /dev/sdf1 ###移除sdf1
mdadm -D /dev/md0 ### 再次查看
继续移除sdg1
mdadm /dev/md0 -f /dev/sdg1 ###移除sdg1
mdadm -D /dev/md0 ### 再次查看
示例2:
将示例1的RAID5磁盘阵列(/dev/md0),恢复最初状态,并用efgh四个盘做RAID10.【也可到快照开始做,直接从步骤7开始】
步骤1.移除RAID5的设备
mdadm /dev/md0 -f /dev/sdf1
mdadm /dev/md0 -f /dev/sde1
mdadm /dev/md0 -f /dev/sdh1
步骤2.解除RAID5的挂载
umount /dev/md0
补充:mdadm命令其它常用选项
- -r:移除设备
- -a:添加设备
- -S:停止RAID
- **-A: 启动RAID **
mdadm /dev/md0 -f /dev/sdb1
###从RAID阵列 `/dev/md0` 中移除故障的硬盘 `/dev/sdb1`。这通常在检测到硬盘故障时执行。
mdadm /dev/md0 -r /dev/sdb1
###从RAID阵列 `/dev/md0` 中恢复被移除的硬盘 `/dev/sdb1`。这通常在修复了故障的硬盘后执行。
mdadm /dev/md0 -a /dev/sde1
###将新硬盘 `/dev/sde1` 添加到已存在的RAID阵列 `/dev/md0` 中,这通常在需要扩展阵列或替换故障硬盘时执行。
步骤3.停止RAID5的运行
mdadm -S /dev/md0
步骤4.删除RAID5目录并vim/etc/fstab进入系统自动挂载文件里删除记录
步骤5.解挂载,停止raid设备,删除raid里所有硬盘后,擦除RAID超级块:
mdadm --misc --zero-superblock /dev/sde
mdadm --misc --zero-superblock /dev/sdf
mdadm --misc --zero-superblock /dev/sdg
mdadm --misc --zero-superblock /dev/sdg
或者整合成下面这一条指令
mdadm --misc --zero-superblock /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
##- `--misc` 是一个选项,它允许 `mdadm` 用于一些特殊的操作,
##- `--zero-superblock` 选项用于擦除设备上的 RAID 超级块
步骤6.删除配置文件
rm -rf /etc/mdadm.conf
至此,RAID5已经处理干净
步骤7.用lsblk命令查看磁盘使用情况
lsblk
步骤8.删除各个主分区,接着每个物理盘分四个区,sde1,sdf1,sdg,sdh1都给10G,最后用lsblK命令查看
步骤7.创建 RAID 10设备(先做镜像,再做条带)
mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ef]1
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[gh]1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1
或
mdadm -Cv /dev/md0 -l10 -n4 -x1 /dev/sd{e,f,g,h}1
cat /proc/mdstat ###查看创建RAID10的进度
步骤8.检查磁盘是否已做RAID
mdadm -E /dev/sd[efgh]1 ###检查和显示Linux 中多个设备的详细信息的命令。
步骤9.创建并挂载文件系统
mkfs -t xfs /dev/md10 ###给/dev/目录下的md10设备制作文件系统
mkdir /myraid ###创建目录挂载点myraid
mount /dev/md10 /myraid/ ###将文件系统md10挂载到挂载点myraid
df -Th ###显示 Linux 系统中文件系统的磁盘空间使用情况
vim /etc/fstab ###进入系统启动挂载盘目录文件fstab
/dev/md10 /myraid xfs defaults 0 0 ###加入系统启动挂载
步骤10.实现故障恢复
1.故障前使用mdadm -D /dev/md10,正常工作
2.模拟故障
mdadm /dev/md0 -f /dev/sde1 ###模拟sde1设备移除
3.故障后查看
mdadm -detail /dev/md0 ###查看md0设备状态,有一个盘有问题,正常运行
mdadm -D /dev/md10 ###查看md10设备状态,也能正常运行
步骤11.创建 /etc/mdadm.conf 配置文件,方便管理软RAID的配置,比如启动、停止
echo 'DEVICE /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1'>/etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
### 配置 `/etc/mdadm.conf` 文件,并扫描现有的 RAID 阵列
内容补充:
### 删除raid10过程:
1.先umount组建好的raid umount /dev/md10
2.停止raid设备:mdadm -S /dev/md10
3.此时如果忘了raid中的硬盘名称,要么重启系统,要么运行:mdadm -A -s /dev/md10
然后再用mdadm -D /dev/md10查看raid
中包含哪几个硬盘。再次运行第二步停止命令:mdadm -S /dev/md10
4.删除raid里的所有硬盘:mdadm --misc --zero-superblock /dev/sde,
mdadm --misc --zero-superblock /dev/sdf
mdadm --misc --zero-superblock /dev/sdg
mdadm --misc --zero-superblock /dev/sdh
有几块硬盘,就按格式删几次,注意最后面的硬盘名称,也可以写在一条命令:
[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb10 /dev/sdf1 /dev/sdg1 /dev/sdh1
5.删除配置文件:rm -rf /etc/mdadm.conf