` 提示:仅用于个人学习,进行查漏补缺使用。
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配置实例实验等
提示:以下是本篇文章正文内容,下面案例可供参考
根据不同的应用场景和需求,RAID有多种不同的级别,每个级别都有其特定的优点和限制。以下是一些常见的RAID级别:
- **性能**:RAID 0通过将数据分散存储在多个硬盘上,实现了数据的并行读写,从而提供了最高的存储性能。它非常适合需要高吞吐量的应用,如视频编辑、游戏服务器和一些数据库应用。 - **缺点**:RAID 0没有冗余能力,如果其中一个硬盘失败,所有数据都会丢失。因此,它不适合需要数据保护的环境。
- **性能**:RAID 1提供了良好的读性能,但写性能可能会受到影响,因为数据需要写入两个硬盘。 - **冗余性**:RAID 1通过将数据完全复制到两个硬盘上来实现冗余,如果一个硬盘失败,另一个硬盘仍然可以继续工作,不会丢失数据。 - **存储效率**:由于数据被复制,RAID 1的存储效率只有50%,因为它需要两倍的存储空间来保持数据的冗余。
- **性能**:RAID 5在读取操作上表现良好,尤其是在大容量配置。写入性能也比RAID 1好,因为它不需要像RAID 1那样写入两次。 - **冗余性**:RAID 5通过分布式奇偶校验来实现冗余,每个硬盘上都存储有用于恢复数据的奇偶校验信息。 - **存储效率**:RAID 5的存储效率为(n-1)/n,其中n是硬盘。
- **性能**:RAID 6在写入性能上与RAID 5相似,但读取性能可能略好,因为它有两个独立的奇偶校验块。 - **冗余性**:RAID 6可以承受两个硬盘同时失败而不丢失数据,这提供了比RAID 5更高的数据保护水平。 - **存储效率**:RAID 6的存储效率为(n-2)/n。
- **性能**: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 0和RAID 1的组合,它将多个RAID 0阵列进行镜像。
优点:
高性能: 具有RAID 0的高性能,通过并行读写多个RAID 0阵列。
数据冗余: 具有RAID 1的数据冗余,通过在RAID 0阵列之间进行镜像。
缺点:
故障容忍性低: 无法容忍多块磁盘的故障,一旦一个RAID 0阵列中的任何一块磁盘出现问题,整个系统都会受到影响。
存储效率低: 需要更多的磁盘来实现相同的存储容量,存储效率较低。
rpm -q mdadm yum install -y mdadm
lsblk
查看到sde,sdf,sdg,sdh四个已添加
fdisk /etc/sde sdf sdg sdh ### n 1 .... lsblk
fdisk /dev/sde1 sdf1 sdg1 sdh1 ###t fd w
mdadm -E /dev/sd[e-h]1
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做热备
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 的输出
成功页面如下:
mdadm -E /dev/sd[efgh]1
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 ###系统启动自动挂载刷新
mdadm /dev/md0 -f /dev/sde1 #模拟/dev/sde1 故障 ,即移除dev/sde1设备 mdadm -D /dev/md0 #查看发现sdh1已顶替sdbe1
1.故障前:
2.模拟故障后:
例如:
mdadm /dev/md0 -f /dev/sdf1 ###移除sdf1 mdadm -D /dev/md0 ### 再次查看
继续移除sdg1
mdadm /dev/md0 -f /dev/sdg1 ###移除sdg1 mdadm -D /dev/md0 ### 再次查看
mdadm /dev/md0 -f /dev/sdf1 mdadm /dev/md0 -f /dev/sde1 mdadm /dev/md0 -f /dev/sdh1
umount /dev/md0
补充:mdadm命令其它常用选项
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` 中,这通常在需要扩展阵列或替换故障硬盘时执行。
mdadm -S /dev/md0
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 超级块
rm -rf /etc/mdadm.conf
至此,RAID5已经处理干净
lsblk
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的进度
mdadm -E /dev/sd[efgh]1 ###检查和显示Linux 中多个设备的详细信息的命令。
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 ###加入系统启动挂载
1.故障前使用mdadm -D /dev/md10,正常工作
2.模拟故障
mdadm /dev/md0 -f /dev/sde1 ###模拟sde1设备移除
3.故障后查看
mdadm -detail /dev/md0 ###查看md0设备状态,有一个盘有问题,正常运行 mdadm -D /dev/md10 ###查看md10设备状态,也能正常运行
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