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

存储学习笔记

文章目录

  • 前言
  • 一、存储基础架构与类型理解
    • 1. 存储类型:DAS、NAS、SAN 的区别
    • 2. 存储访问方式:文件系统 vs 块设备 vs 对象存储
    • 3. 企业存储系统组成
    • 4. 条带化(Striping)
  • 二、盘控架构与多路径访问
    • 1. 盘控一体 vs 盘控分离
    • 2. 多路径(MPIO/UltraPath)
  • 三、数据库存储部署重点
    • 1. 为什么数据库必须用块设备而非NFS?
    • 2. 实践流程概览
    • 3. 调优建议
  • 四、国产化兼容性思考与准备
    • 1. 达梦 / 金仓
    • 2. OceanBase
    • 3. 存储对接建议
  • 五、总结


前言

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


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

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给每个数据库实例,避免多实例共享同一块设备导致竞争

五、总结

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

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

相关文章:

  • CSS选择器常用语法
  • day24作业
  • 《Linux自动化运维三例:磁盘告警、服务守护与网络检测》​
  • Mysql超详细安装配置教程(详细图文,保姆级)
  • 掩码语言模型(MLM)技术解析:理论基础、演进脉络与应用创新
  • 【Prompt集合】一个学习英文单词更好的提示词
  • 从姑苏区人工智能大模型基础设施招标|学习服务器、AI处理器、GPU
  • 数据结构 ArrayList与顺序表
  • 机器学习——互信息(超详细)
  • 【物联网】基于树莓派的物联网开发【19】——树莓派搭建MQTT客户端及MQTTX使用
  • Vision Transformer(ViT)模型实例化PyTorch逐行实现
  • 从 MySQL 迁移到 TiDB:使用 SQL-Replay 工具进行真实线上流量回放测试 SOP
  • SpringBoot3.x入门到精通系列:1.2 开发环境搭建
  • 25-vue-photo-preview的使用及使用过程中的问题解决方案
  • 实战教程 ---- Nginx结合Lua实现WAF拦截并可视化配置教程框架
  • 走进computed,了解computed的前世今生
  • 【云故事探索】NO.16:阿里云弹性计算加速精准学 AI 教育普惠落地
  • 谁在托举Agent?阿里云抢滩Agent Infra新赛道
  • 安装 docker compose v2版 笔记250731
  • 对接八大应用渠道
  • Tomcat,WebLogic等中间件漏洞实战解析
  • 大模型流式长链接场景下 k8s 优雅退出 JAVA
  • 用 MyBatis + MySQL 实现高效的批量 Upsert
  • 关于tresos Studio(EB)的MCAL配置之GtmCfg
  • 性能测试篇 :Jmeter监控服务器性能
  • Golang 语言的编程技巧之类型
  • 基础组件(六):网络缓冲区设计 和 定时器方案
  • TTS语音合成|GPT-SoVITS语音合成服务器部署,实现http访问
  • Vue3+Vite项目如何简单使用tsx
  • nl2sql grpo强化学习训练,加大数据量和轮数后,准确率没提升,反而下降了,如何调整