当前位置: 首页 > news >正文

Linux 磁盘文件系统

一、Linux 常见磁盘文件系统介绍

文件系统说明优点缺点适用场景
ext4第四代扩展文件系统(Extended Filesystem)- 兼容性好- 稳定可靠- 支持大文件(16TB)和大分区(1EB)- 支持日志(journaling)- 无原生快照功能- 不支持去重、压缩通用服务器、Web 服务器、数据库(MySQL)
XFS高性能 64 位日志文件系统(SGI 开发)- 极佳的大文件读写性能- 支持超大存储(exabyte 级)- 在线扩容- 删除大文件时可能卡顿- 修复工具不如 ext4 成熟大文件存储、视频处理、日志服务器、备份存储
BtrfsB-tree 文件系统(下一代文件系统)- 支持快照、克隆、压缩、RAID、子卷- 写时复制(CoW)- 在线检查与修复- 稳定性在某些场景仍待验证- 不推荐用于关键数据库容器存储(Docker)、开发测试、需要快照的场景
ZFSZettabyte 文件系统(源自 Solaris)- 极高数据完整性- 快照、压缩、去重、RAID-Z- 跨平台(通过 OpenZFS)- 内存消耗大- 安装配置复杂- 与 Linux 内核集成度较低企业级存储、NAS、虚拟化平台、关键数据存储
tmpfs基于内存的临时文件系统- 速度快(内存级)- 重启后数据丢失- 数据不持久- 受内存大小限制存放临时文件(如 /tmp/run
nfs网络文件系统(Network File System)- 网络共享- 跨主机访问- 依赖网络- 性能受网络影响共享存储、Web 集群共享静态资源

 二、核心概念通俗解释(原理篇)

概念通俗解释关键作用
1. 磁盘发现Linux 启动时自动识别硬盘,如 /dev/sda/dev/sdb sd = SCSI/SATA 磁盘,a = 第一块,b = 第二块查看系统有没有识别到新硬盘
2. 分区(Partition)把一块硬盘“切”成几个逻辑区域,比如 C盘、D盘 常用工具:fdiskparted管理不同用途的数据(系统、数据、备份)
3. 格式化(Filesystem)给分区“装文件系统”,让它能存文件 如:mkfs.ext4 /dev/sda1让分区可读可写,支持 ext4、xfs 等格式
4. 挂载(Mount)把格式化后的分区“连接”到某个目录(如 /data) 像 Windows 的“盘符映射”让用户能通过目录访问磁盘内容
5. RAID(磁盘阵列)把多块硬盘组合使用,提升性能或可靠性 常见:RAID 0(快)、RAID 1(备份)、RAID 5(平衡)提高速度、防止单盘故障
6. LVM(逻辑卷管理)“软硬盘”技术:把多块硬盘或分区变成一个“大池子”,再从池子里分出“虚拟硬盘”实现在线扩容/缩容,灵活管理存储

一句话理解 LVM
就像“水池”(卷组 VG)装水,从池子接“水管”(逻辑卷 LV)供水,水管可粗可细(扩容缩容)。


🔧 三、LVM 核心组件(比喻说明)

LVM 组件比喻对应物理
PV(Physical Volume)一根根水管磁盘或分区(如 /dev/sdb1
VG(Volume Group)水池多个 PV 合成的存储池
LV(Logical Volume)水管出口从池子分出的可挂载使用空间

🛠️ 四、生产实例(列表形式)

✅ 实例 1:新硬盘挂载为 /data(基础流程)

步骤命令说明
1. 查看磁盘lsblk 或 fdisk -l发现新盘 /dev/sdb
2. 分区fdisk /dev/sdb → 创建 /dev/sdb1划分主分区
3. 格式化mkfs.xfs /dev/sdb1使用 XFS 文件系统(适合大文件)
4. 创建挂载点mkdir /data
5. 挂载mount /dev/sdb1 /data
6. 开机自动挂载编辑 /etc/fstab:<br>/dev/sdb1 /data xfs defaults 0 0防止重启后丢失

🎯 生产场景:Web 服务器新增数据盘存放静态资源(图片、视频)。


✅ 实例 2:使用 LVM 实现在线扩容

步骤命令说明
1. 初始化 PVpvcreate /dev/sdb1 /dev/sdc1把两个分区变成 LVM 物理卷
2. 创建 VGvgcreate vg_data /dev/sdb1 /dev/sdc1合成一个 200GB 的“存储池”
3. 创建 LVlvcreate -L 100G -n lv_web vg_data从池子分出 100GB 虚拟卷
4. 格式化 LVmkfs.xfs /dev/vg_data/lv_web
5. 挂载使用mount /dev/vg_data/lv_web /var/www/html
6. 扩容到 150GBlvextend -L 150G /dev/vg_data/lv_web<br>xfs_growfs /var/www/html在线扩容,不中断服务

🎯 生产场景:网站访问量增长,Web 目录空间不足,需动态扩容。


✅ 实例 3:RAID 1(镜像)提升可靠性

步骤命令说明
1. 安装工具yum install mdadm
2. 创建 RAID 1mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdd /dev/sde两块盘互为备份
3. 格式化mkfs.ext4 /dev/md0
4. 挂载mount /dev/md0 /backup用于存储备份文件
5. 开机挂载写入 /etc/fstab 和 /etc/mdadm.conf

🎯 生产场景:备份服务器使用 RAID 1,即使一块硬盘损坏,数据不丢。


✅ 实例 4:LVM 缩容(谨慎操作)

⚠️ 注意:XFS 不支持缩容!ext4 支持,但必须先卸载。

步骤命令说明
1. 卸载umount /data必须先卸载
2. 检查文件系统e2fsck -f /dev/vg_data/lv_data确保无错误
3. 缩小文件系统resize2fs /dev/vg_data/lv_data 80G先缩小文件系统
4. 缩小 LVlvreduce -L 80G /dev/vg_data/lv_data再缩小逻辑卷
5. 重新挂载mount /dev/vg_data/lv_data /data

🎯 生产场景:误分配过大空间,回收资源用于其他业务。


✅ 实例 5:LVM 快速扩容(加新盘)

步骤命令说明
1. 新硬盘 /dev/sdfpvcreate /dev/sdf初始化为 PV
2. 加入卷组vgextend vg_data /dev/sdf扩大“水池”容量
3. 扩容 LVlvextend -L 200G /dev/vg_data/lv_web<br>xfs_growfs /var/www/html空间立即可用

🎯 生产场景:业务增长,需扩展存储,无需重新分区或停机


📊 五、RAID 常见级别对比(生产选择)

RAID 级别最少盘数容量利用率特点适用场景
RAID 02100%速度快,无冗余,一盘坏全阵列坏高性能临时计算
RAID 1250%镜像备份,安全性高,速度一般系统盘、关键配置
RAID 53(N-1)/N有校验,允许一盘坏,读快写慢中小型文件服务器
RAID 10450%先镜像再条带,速度快 + 高可靠数据库、高并发应用

🎯 生产建议:数据库服务器推荐 RAID 10,平衡性能与安全。


✅ 六、总结:一句话记住

操作一句话口诀
发现磁盘lsblk 看有没有新盘
分区格式化fdisk → mkfs → mount
RAID多盘组合,防坏盘(用 mdadm
LVM“水池”变“水管”,在线扩缩容不重启
扩容lvextend + 文件系统扩容(ext4 用 resize2fs,xfs 用 xfs_growfs
缩容只支持 ext4,先 resize2fs 再 lvreduce必须卸载

✅ 七、新增硬盘并初始化挂载

参考下列链接

初始化数据盘(Linux)_云服务器 ECS(ECS)-阿里云帮助中心

创建RAID阵列(Linux)_云服务器 ECS(ECS)-阿里云帮助中心

通过LVM创建逻辑卷_云服务器 ECS(ECS)-阿里云帮助中心

Linux实例数据恢复最佳实践_云服务器 ECS(ECS)-阿里云帮助中心

http://www.dtcms.com/a/350783.html

相关文章:

  • 【银河麒麟桌面系统】PXE实现arm、x86等多架构安装
  • Linux-进程相关函数
  • Vulkan学到什么程度才算学会
  • 关系轮-和弦图的可视化
  • VPS一键测试脚本NodeQuality,无痕体验+自动导出,服务器测试更轻松
  • illustrator-01
  • 我的项目管理之路-组织级项目管理(二)
  • ASW3642 pin√pin替代TS3DV642方案,可使用原小板只需简单调整外围|ASW3642 HDMI二切一双向切换器方案
  • QT6软件设置图标方法
  • Chrome插件开发:在网页上运行脚本
  • 6种简单方法将大视频从iPhone传输到PC
  • 音频相关数学支持
  • C++ 类型转换深度解析
  • 【应急响应工具教程】Unix/Linux 轻量级工具集Busybox
  • 为什么软解码依然重要?深入理解视频播放与开发应用(视频解码)
  • STM32F103C8T6引脚分布
  • 1. 并发产生背景 并发解决原理
  • 【JavaEE】文件IO操作
  • MyBatis 从入门到精通:一篇就够的实战指南(Java)
  • 最大子数组和【栈和分治两种思路】
  • Linux简明教程01 基础运维
  • C标准库 ---- locale.h
  • Escrcpy 3.0投屏控制软件使用教程:无线/有线连接+虚拟显示功能详解
  • 什么是生命体AI
  • TCP和UDP的使用场景
  • 【系统分析师】高分论文:论软件需求验证方法及应用
  • 用蒙特卡洛法求解三门问题和Π
  • day20 二叉树part7
  • 20.14 QLoRA微调Whisper-Large-v2终极指南:3倍速训练+显存直降68%调参秘籍
  • CVPR 2025端到端自动驾驶新进展:截断扩散模型+历史轨迹预测实现精准规划