鸟哥的私房菜:高级文件系统管理
一、软件磁盘阵列 (Software RAID)
1.1 RAID 基础概念
1.1.1 RAID 定义与目标
- 全称:
Redundant Arrays of Independent Disks
(独立容错式磁盘阵列) - 核心目标:扩大磁盘容量、实现磁盘容错、提升读写性能
- 分类:硬件 RAID(独立 RAID 芯片)与软件 RAID(通过
mdadm
软件实现)
1.1.2 常见 RAID 级别对比
RAID 级别 | 最少磁盘数 | 容错能力 | 可用容量 | 性能特点 | 适用场景 |
---|---|---|---|---|---|
RAID 0 |
2 |
无 | n× 磁盘容量 |
读写性能最佳 | 临时存储、非关键数据 |
RAID 1 |
2 |
n-1 |
50% 磁盘容量 |
读性能提升,写性能不变 | 数据备份、高可用性 |
RAID 10 |
4 |
每组 RAID1 容错 |
50% 磁盘容量 |
高性能 + 高容错 | 数据库服务器 |
RAID 5 |
3 |
1 |
(n-1)× 磁盘容量 |
读写性能均衡 | 企业级存储 |
RAID 6 |
4 |
2 |
(n-2)× 磁盘容量 |
更强容错,性能略降 | 关键业务数据 |
1.2 软件 RAID 实践 (mdadm
)
1.2.1 创建 RAID 阵列
1 | # 创建RAID 5阵列,使用4个磁盘,1个备用盘,块大小256K |
1.2.2 管理与救援
1 | # 查看RAID状态 |
二、逻辑卷管理 (Logical Volume Manager, LVM)
2.1 LVM 核心组件
2.1.1 组件架构
PV (Physical Volume)
:物理卷,可是分区或整个磁盘PE (Physical Extent)
:物理扩展块,LVM 最小存储单位(默认4MB
)VG (Volume Group)
:卷组,多个PV
的集合LV (Logical Volume)
:逻辑卷,从VG
中划分的可使用空间
2.1.2 组件关系图
1 | PV1 PV2 PV3 |
2.2 LVM 实战流程
2.2.1 基础操作
1 | # 创建PV |
2.2.2 动态扩容
1 | # 新增磁盘并创建PV |
三、RAID 与 LVM 综合应用
3.1 组合架构优势
RAID
:提供性能优化与数据容错LVM
:实现动态容量管理- 组合使用:在
RAID
阵列上部署LVM
,兼顾容错、性能与弹性
3.2 实战案例:在 RAID 5 上构建 LVM
1 | # 创建RAID 5阵列 |
四、特殊文件系统技术
4.1 Stratis 卷管理系统
4.1.1 核心概念
- 分层架构:
Block Device → Pool → Filesystem
- 优势:简化存储管理,支持动态扩容,自动数据优化
4.1.2 操作示例
1 | # 安装Stratis |
4.2 虚拟数据优化 (VDO)
4.2.1 技术特点
- 用途:专为虚拟机磁盘设计,支持数据压缩与去重
- 优势:
1TB
物理空间可虚拟出更大逻辑空间,减少存储占用
4.2.2 实战配置
1 | # 安装VDO |
五、磁盘配额管理 (Quota)
5.1 Quota 基础概念
5.1.1 核心功能
- 限制对象:用户、群组、项目
- 限制类型:
- 容量限制(
Block
) - 文件数限制(
Inode
)
- 容量限制(
- 阈值类型:
- 软限制(
Soft
):可临时突破,触发宽限期 - 硬限制(
Hard
):严格限制,不可突破
- 软限制(
5.2 XFS 文件系统配额配置
5.2.1 启用 Quota 支持
1 | # 修改fstab添加配额参数 |
5.2.2 配置用户配额
1 | # 查看配额状态 |
六、关键命令速查表
6.1 RAID 管理
操作 | 命令示例 |
---|---|
创建 RAID | mdadm --create /dev/md0 --level=5 ... |
查看状态 | mdadm --detail /dev/md0 |
管理磁盘 | mdadm --manage /dev/md0 --add/remove ... |
6.2 LVM 管理
操作 | 命令示例 |
---|---|
创建 PV |
pvcreate /dev/sda1 |
创建 VG |
vgcreate myvg /dev/sda{1,2} |
创建 LV |
lvcreate -n mylv -L 1G myvg |
扩展 LV |
lvresize -l +100 myvg/mylv |
扩展文件系统 | xfs_growfs /dev/myvg/mylv |
6.3 Stratis 管理
操作 | 命令示例 |
---|---|
创建存储池 | stratis pool create vbirdpool /dev/sda1 |
创建文件系统 | stratis filesystem create vbirdpool fs1 |
查看状态 | stratis pool list |
6.4 Quota 管理
操作 | 命令示例 |
---|---|
查看配额状态 | xfs_quota -x -c "state" /home |
配置配额 | xfs_quota -x -c "limit -u bsoft=1G bhard=2G user1" |
生成报告 | xfs_quota -x -c "report -ubih" /home |
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.