Linux磁盘阵列

RAID磁盘冗余阵列

**RAID LEVEL0:**N块相同大小的存储空间,数据分割为N份,每个空间存1/N,提高读写速度,数据安全性不变

**RAID 1:**N块相同大小的存储空间,同一份数据,拷贝N份,提高数据安全性,浪费数据空间。大小为1块存储空间的大小。

**RAID 5:**至少3块空间,2块空间存储分割的数据,第3块空间校验,硬盘可以损坏1块,读写速度变慢,数据利用率高,数据安全性有一定提高。

热备盘:平时不工作,当有数据硬盘损坏时,作为数据硬盘参加工作。

**RAID 10:**RAID 1+RAID 0,至少4块存储空间

**RAID 50:**RAID 5+RAID 0,至少6块存储空间

实现

复制代码
 mdadm # 添加若干个分区或硬盘
 # 最小安装的Linux,需要安装工具mdadm
 lsblk # 查看磁盘名称
 # 选项:
 -C # 创建阵列,或者-create
 -v # 显示详细过程
 -n # 指定阵列中成员盘个数,或者--raid-devices
 -l # 设置raid级别,或者--level
 -x # 指定阵列中热备盘个数,或者--spare-devices
 -r # 从阵列中移除指定设备,或者--remove
 -a # 将指定设备添加到阵列中,或者-add
 -D # 显示一个阵列的详细信息,或者--detail
 -S # 停止阵列,被停止的阵列需要重新组装后才能使用,或者--stop
 --zero-superblock # 将包含合法md信息的superblock区域置为零,停止阵列后,若需要清理磁盘上的阵列信息,需要执行该操作。

实验步骤:

主机:192.168.100.70

添加一个硬盘sdb,大小为20G,设置为gpt,新建18个分区,每个分区大小1G(将一个分区当成一块硬盘进行实验)

1、创建raid0

复制代码
 mdadm -Cv /dev/md0 -l 0 -n 2 /dev/sdb{1..2}

要使用它只需对/dev/md0格式化后,创建挂载点挂载即可

2、删除raid0

复制代码
 # 删除时如果挂载了,需要先卸载:umount 挂载点
 mdadm -S /dev/md0 # 停止阵列
 rm -rf 挂载点 # 删除创建的挂载点
 # 清理磁盘上的阵列信息
 mdadm --zero-superblock /dev/sdb1
 mdadm --zero-superblock /dev/sdb2

3、创建raid1

复制代码
 mdadm -Cv /dev/md1 -l 1 -n 2 /dev/sdb{3..4}

4、创建raid5

复制代码
 mdadm -Cv /dev/md5 -l 5 -n 3 /dev/sdb{5..7} --spare-devices=1 /dev/sdb8
复制代码
 mdadm -D /dev/mdb5 # 查看md5
复制代码
 # 模拟硬盘故障
 mdadm -f /dev/md5 /dev/sdb5

如图所示,数据硬盘sdb5损坏时,热备盘sdb8作为数据盘参加工作。

复制代码
 # 将数据硬盘sdb5从阵列中移除
 mdadm -r /dev/md5 /dev/sdb5
复制代码
# 将sdb5添加进阵列中
mdadm -a /dev/md5 /dev/sdb5

如果所示,添加的sdb5作为热备盘使用。

5、创建raid10

先创建raid1

复制代码
mdadm -Cv /dev/md101 -l 1 -n 2 /dev/sdb9 /dev/sdb10
mdadm -Cv /dev/md102 -l 1 -n 2 /dev/sdb11 /dev/sdb12

再创建raid0

复制代码
mdadm -Cv /dev/md10 -l 0 -n 2 /dev/md101 /dev/md102

6、创建raid50

先创建raid5

复制代码
mdadm -Cv /dev/md501 -l 5 -n 3 /dev/sdb13 /dev/sdb14 /dev/sdb15
mdadm -Cv /dev/md502 -l 5 -n 3 /dev/sdb16 /dev/sdb17 /dev/sdb18

再创建raid0

复制代码
mdadm -Cv /dev/md50 -l 0 -n 2 /dev/md501 /dev/md502
相关推荐
草莓熊Lotso4 小时前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
历程里程碑4 小时前
Linux22 文件系统
linux·运维·c语言·开发语言·数据结构·c++·算法
wdfk_prog12 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
七夜zippoe12 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥12 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿13 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘13 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64813 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满14 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠14 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法