raid的介绍和raid对比 和 lvm 的介绍和使用 扩容
概述
-
了解RAID作用 以及RAID 的区别
-
LVM 的作用和LVM的创建和扩容
总结:
RAID 是将多个物理硬盘通过软/硬件方式组合成一个逻辑磁盘,对外表现为一个存储单元
raid 主要解决了 磁盘读写的问题 存储容量 数据冗余 的问题 加上原理(先说原理) 我们从这几个方面说起。
raid 0 条带式存储(一个文件分开存) 读写都很快(磁盘越多越快) 没有冗余(坏一块就完了)
raid 1 镜像存储(两个一样的存) 读取速度快 写很慢 (还不如一块盘写的快) 允许坏一块
raid 5,6 条带加奇偶校验 读取速度快写中等因为要存奇偶校验(raid 6 写的较慢)允许一块坏盘(6允许两块)
raid 10 先组成1 在由零存 读取速度快,写较快 在同一个分组下允许一块 坏盘
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种把多个硬盘组合成一个逻辑磁盘的技术,目的是提高数据可靠性、容错能力和磁盘性能。📦🛡️
1,将多个物理磁盘 组成一个逻辑磁盘的技术
实现 磁盘相互关联,数据相互备份(一块盘损坏数据不会丢失)
提高数据磁盘读写速度和实现数据冗余,
🔧 一、RAID 是什么?
RAID 是将多个物理硬盘通过软/硬件方式组合成一个逻辑磁盘,对外表现为一个存储单元。它主要有两种实现方式:
- 软件 RAID:操作系统实现(如 Linux 的 mdadm 工具)
- 硬件 RAID:通过 RAID 控制卡或主板内置的 RAID 控制芯片实现
🎯 二、RAID 干什么用?
功能 | 说明 |
🛡️ 数据冗余 | 某些 RAID 模式能容忍硬盘损坏,确保数据安全 |
🚀 性能提升 | 多个硬盘并行读写,提升读写速度 |
📦 大容量合并 | 多块小容量磁盘合并为一个大容量逻辑盘 |
🔢 三、RAID 的常见级别(模式)
RAID 类型 | 组成要求 | 容错能力 | 性能特点 | 说明 |
RAID 0 | ≥2块硬盘 | ❌ 无容错 | ✅ 高读写性能 | 条带化存储,数据分布在多块硬盘上,坏一块全丢 |
RAID 1 | 2块硬盘 | ✅ 可容错1块 | ✅ 读快,写略慢 | 镜像模式,两块盘数据一样,适合关键数据 |
RAID 5 | ≥3块硬盘 | ✅ 容错1块 | ✅ 读快,写中等 | 带奇偶校验的数据条带,平衡容量与安全 |
RAID 6 | ≥4块硬盘 | ✅ 容错2块 | ✅ 读快,写较慢 | 更高的数据安全性 |
RAID 10 (1+0) | ≥4块硬盘 | ✅ 容错多块 | ✅ 高性能 + 安全 | 先镜像再条带,性能和安全都很强 |
JBOD(非RAID) | 任意数量 | ❌ 无容错 | 一般 | 多盘合并成一个大盘,按顺序存放 |
🛠️ 四、RAID 怎么做?(以 Linux 为例,软件 RAID)
✅ 1. 安装 mdadm
工具(用于管理软件 RAID)
sudo apt install mdadm -y # Ubuntu/Debian
sudo yum install mdadm -y # CentOS/RHEL
✅ 2. 创建 RAID,例如 RAID 1:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
✅ 3. 创建文件系统并挂载
sudo mkfs.ext4 /dev/md0
sudo mkdir /mnt/raid1
sudo mount /dev/md0 /mnt/raid1
✅ 4. 查看 RAID 状态
cat /proc/mdstat
mdadm --detail /dev/md0
🧠 五、什么时候用 RAID?
场景 | 推荐 RAID |
快速缓存,如临时文件 | RAID 0 |
数据库日志、重要数据 | RAID 1 |
企业服务器、文件服务器 | RAID 5 或 RAID 10 |
数据安全极高要求场景 | RAID 6 或 RAID 10 |
没有 数据冗余 一块磁盘损坏数据全丢
适合 :
适合数据库 邮件服务器等
LVM
使用场景
我们 根分区发现 突然不够用 ,这是也不可以重装系统了。 所以这时 就需要用到 lvm 灵活的挂载扩容。
Linux 下用于 灵活管理磁盘空间的机制 ,作用是:动态扩容/缩容, 整合多个磁盘
✅ 一、LVM 是什么?
LVM(Logical Volume Manager) 是 Linux 下用于 灵活管理磁盘空间的机制,它不是传统的“物理分区”,而是提供一种“抽象层”,让你能动态管理磁盘大小和布局。
LVM 管理三种资源:
名称 | 作用 |
PV(Physical Volume) | 物理卷,实际的磁盘或分区,比如 /dev/sdb1 |
VG(Volume Group) | 卷组,把多个 PV 合并为一个大空间池 |
LV(Logical Volume) | 逻辑卷,从 VG 中划分出的空间,供格式化、挂载使用 |
🎯 二、LVM 是干什么的?
功能 | 说明 |
🔄 动态扩容/缩容 | 运行中扩展或缩减逻辑卷,不需要格式化或重新分区 |
🧱 整合多个磁盘 | 将多个物理磁盘整合为一个统一空间 |
🧪 快照(Snapshot) | 支持快照功能,适合备份、测试 |
💻 分区更灵活 | 比传统分区方式更灵活,适合服务器部署 |
帮我举一个 lvm 创建流程
🎯 场景目标:
你现在加了一块新硬盘 /dev/sdb
,想用 LVM 的方式把它挂载到 /data
,可扩容、可快照、文件系统使用 ext4
。
✅ 一、LVM 创建流程(生产通用流程)
步骤 1:初始化为物理卷(PV)
pvcreate /dev/sdb
查看结果:
pvs
步骤 2:创建卷组(VG)
vgcreate my_vg /dev/sdb
查看卷组信息:
vgs
步骤 3:创建逻辑卷(LV)
假设你想创建一个大小为 20G 的逻辑卷,名为 data_lv
:
lvcreate -L 20G -n data_lv my_vg
查看 LV:
lvs
步骤 4:格式化逻辑卷
使用 ext4 格式化:
mkfs.ext4 /dev/my_vg/data_lv
步骤 5:挂载使用
mkdir -p /data
mount /dev/my_vg/data_lv /data
验证:
df -h /data
步骤 6(可选):设置开机自动挂载
编辑 /etc/fstab
,添加如下内容:
/dev/my_vg/data_lv /data ext4 defaults 0 0
✅ 二、扩容逻辑卷(实战高频)
你的 /data
空间快满了,新加了一块 /dev/sdc
,你想扩容原来的 LV:
1. 扩容 VG
pvcreate /dev/sdc
vgextend my_vg /dev/sdc
2. 扩容 LV
lvextend -L +10G /dev/my_vg/data_lv
3. 扩展文件系统(ext4)
resize2fs /dev/my_vg/data_lv
完成!/data
增加了 10G 空间,整个过程中服务不中断,非常适合 Redis/MySQL 这类对挂载目录有要求的服务。
✅ 三、创建快照(备份前临时快照)
lvcreate -L 5G -s -n snap_data_lv /dev/my_vg/data_lv
你就可以对 /dev/my_vg/snap_data_lv
做冷备份了。
🧠 总结流程口诀(便于记忆):
先创 PV,再建 VG,LV 划区挂数据,格式挂载别忘记 🧠📦