文件系统
一、本地文件系统(单机存储)
直接管理物理磁盘或块设备(如硬盘、SSD、Ceph RBD),适用于单机存储。
| 文件系统 | 特点 | 典型场景 |
|---|---|---|
| XFS | 高性能、支持大文件(EB级)、日志型、在线扩容 | 数据库、虚拟机、海量数据 |
| ext4 | 稳定、兼容性好、支持日志、最大文件16TB | Linux通用文件系统 |
| Btrfs | 写时复制(COW)、快照、压缩、RAID集成、支持子卷 | 数据备份、快照管理 |
| ZFS | 集成卷管理、数据校验、压缩、快照、RAID-Z(需用户态工具) | 企业存储、NAS |
| NTFS | Windows默认、支持ACL、加密、日志 | Windows系统盘 |
| APFS | Apple专用、优化闪存、快照、空间共享 | macOS/iOS设备 |
二、网络文件系统(跨节点共享)
通过协议实现文件跨网络共享,允许多个客户端访问同一存储。
| 文件系统 | 特点 | 典型场景 |
|---|---|---|
| NFS | 简单易用、Unix/Linux原生支持、基于RPC | Linux集群文件共享 |
| SMB/CIFS | Windows原生协议、支持ACL和文件锁 | Windows/Linux跨平台共享 |
| GlusterFS | 分布式、横向扩展、无元数据服务器 | 云存储、大数据分析 |
| CephFS | 基于Ceph RADOS、强一致性、支持POSIX接口 | 容器存储、高性能计算 |
三、分布式文件系统(大规模集群)
数据分散在多个节点,强调扩展性和容错性。
| 文件系统 | 特点 | 典型场景 |
|---|---|---|
| HDFS | Hadoop生态核心、高吞吐、适合大文件批处理 | 大数据分析(Hadoop/Spark) |
| Lustre | 高性能、并行访问、元数据与数据分离 | 超算中心、气象模拟 |
| GPFS | IBM商业方案、低延迟、全局命名空间 | 金融、科研领域 |
| MinIO | 对象存储接口(兼容S3)、轻量级、云原生 | 容器化应用、混合云 |
四、专用文件系统(特殊场景优化)
针对特定需求设计的文件系统。
| 文件系统 | 特点 | 典型场景 |
|---|---|---|
| FAT32/exFAT | 轻量、无日志、兼容性强 | U盘、SD卡等移动设备 |
| ISO 9660 | 光盘只读标准 | CD/DROM映像 |
| tmpfs | 内存虚拟文件系统、临时数据高速读写 | Linux临时目录(/tmp) |
| OverlayFS | 联合挂载(多层叠加)、写时复制 | Docker容器镜像层管理 |
五、Ceph场景下的文件系统选择建议
当使用 Ceph RBD 块设备时,本地文件系统的选择直接影响性能和可靠性:
- 推荐:
- XFS:适合大多数场景(如虚拟机镜像、数据库)。
- ext4:兼容性优先时使用。
- 高级特性需求:
- Btrfs/ZFS:需快照或压缩功能时(注意内核版本兼容性)。
- 避免使用:
- FAT/exFAT:无日志、易数据损坏。
- NTFS:Linux内核驱动稳定性欠佳。
六、操作示例:为Ceph RBD选择文件系统
# 映射RBD设备
rbd map -p oldboyedu-rbd mysqld # 映射镜像到/dev/rbdX
# 格式化为XFS
mkfs.xfs -f /dev/rbd0
# 挂载使用
mount /dev/rbd0 /mnt/mysql-data
总结:
- 本地文件系统:管理单机存储结构(如XFS、ext4)。
- 网络/分布式文件系统:解决跨节点共享和扩展性问题(如NFS、CephFS)。
- 专用文件系统:针对特殊硬件或场景优化(如tmpfs、OverlayFS)。
根据业务需求(性能、功能、规模)选择最合适的文件系统。
浙公网安备 33010602011771号