存储学习笔记

发布于:2025-08-01 ⋅ 阅读:(21) ⋅ 点赞:(0)


前言

今天,我系统性的学习并整理了与近期与我参与项目相关的一些存储知识,重点围绕华为/浪潮存储、云平台、操作系统与数据库,理解了从入门到生产环境部署的一些技术点。整理了下来


一、存储基础架构与类型理解

1. 存储类型:DAS、NAS、SAN 的区别

  • DAS(Direct Attached Storage):直连存储,设备通过SAS/SATA直接连接到单一服务器,简单但不可共享。
  • NAS(Network Attached Storage):文件级网络存储,通过网络(NFS/CIFS)共享目录,适合共享文件系统,如日志、配置文件等。
  • SAN(Storage Area Network):块级网络存储,使用iSCSI或FC(光纤)实现,主机通过LUN访问存储,适合数据库、虚拟化等高性能场景。

2. 存储访问方式:文件系统 vs 块设备 vs 对象存储

  • 文件系统(如ext4、xfs):应用通过路径访问数据,适合人类可读场景。
  • 块设备(如/dev/sdX):底层按扇区读取,数据库必须使用此方式以保证事务一致性。
  • 对象存储(如S3、OBS):面向大规模非结构化数据,按Key访问,常用于归档和云原生场景。

3. 企业存储系统组成

  • 控制器:核心管理模块,负责数据调度、RAID控制、缓存分发。
  • 磁盘柜(Disk Enclosure):集中管理硬盘的硬件单元。
  • 磁带库:用于冷数据的长期备份归档,自动机械臂管理磁带。
  • RAID阵列:常用RAID10(性能+容灾),RAID5(成本均衡),RAID0(性能但无容灾)。

4. 条带化(Striping)

将数据划分为多个条带,轮流写入多个硬盘,以提升并行性能与带宽,是RAID0、RAID5、RAID10中的核心机制。

二、盘控架构与多路径访问

1. 盘控一体 vs 盘控分离

  • 盘控一体:控制器和硬盘集成于同一机箱,部署简单,适用于轻量场景。
  • 盘控分离:控制器与磁盘柜独立,扩展性高、可靠性强,是主流企业级部署方式(华为OceanStor、浪潮AS系列采用此结构)。

2. 多路径(MPIO/UltraPath)

  • 提供多条IO路径保障高可用性与负载均衡。
  • 避免单链路故障导致LUN访问中断。
  • 相关工具与命令:multipath -ll, ultrapath -l, udevadm info, dmsetup, lsscsi

三、数据库存储部署重点

1. 为什么数据库必须用块设备而非NFS?

  • 数据库需要精准的块级写入、一致性的锁机制。
  • NFS仅提供文件级访问,无法保障事务一致性与高并发写入场景。
  • Oracle、达梦、金仓、OceanBase等数据库官方均要求主数据目录挂载块设备(LUN)。

2. 实践流程概览

  • 存储端:创建存储池 → 创建LUN → 映射主机WWN → 配置QoS
  • 主机端:识别新LUN → 设置多路径 → 格式化/交给数据库管理(如ASM)

3. 调优建议

  • 文件系统选择:xfs / ext4 + noatime
  • I/O调度器:noop / deadline(避免cfq)
  • readahead:128-512KB,根据场景优化
  • 确保数据库块大小与磁盘块一致(如8K)

四、国产化兼容性思考与准备

不同的国产数据库对存储也会有不同的要求:

1. 达梦 / 金仓

  • 块设备访问支持良好,兼容华为UltraPath、多路径管理
  • 与统信/麒麟 OS 已完成大规模兼容认证

2. OceanBase

  • 分布式架构,支持容器化部署
  • 推荐结合 CSI 插件使用块设备动态供卷(PVC),挂载至StatefulSet数据库实例

3. 存储对接建议

  • 存储侧配置高IOPS SSD池 + RAID10
  • 主机侧建议绑定单个LUN给每个数据库实例,避免多实例共享同一块设备导致竞争

五、总结

通过今天的学习,初步建立了对企业级存储、数据库高可用部署、多路径配置、国产数据库适配的认知。
存储不仅仅是简单的硬盘空间,它是数据库和云平台稳定运行的底座。今天的学习为我打下了国产化进程中不可或缺的基础知识,后续将持续深入实践。


网站公告

今日签到

点亮在社区的每一天
去签到