文章目录
前言
今天,我系统性的学习并整理了与近期与我参与项目相关的一些存储知识,重点围绕华为/浪潮存储、云平台、操作系统与数据库,理解了从入门到生产环境部署的一些技术点。整理了下来
一、存储基础架构与类型理解
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给每个数据库实例,避免多实例共享同一块设备导致竞争
五、总结
通过今天的学习,初步建立了对企业级存储、数据库高可用部署、多路径配置、国产数据库适配的认知。
存储不仅仅是简单的硬盘空间,它是数据库和云平台稳定运行的底座。今天的学习为我打下了国产化进程中不可或缺的基础知识,后续将持续深入实践。