NetApp存储基本概念科普:物理层到逻辑层

写在前面

给一个客户规划MetroCluster存储架构的扩容,其中涉及到了很多NetApp ONTAP存储系统的基本概念,客户总是搞不清楚,把这些基本概率梳理清楚了,我们才可以探讨设计,否则就是鸡同鸭讲。这个文章就是对NetApp的最底层的一些基本概念做了一个梳理。通俗解释NetApp的关键概念,包括RAID Group、Plex、Aggregate、Volume、LUN和Pool,并探讨它们之间的关系。

码字不易,欢迎点赞、转发、添加v:StorageExpert。下次更新不迷路。

RAID Group:数据保护的基础单元

这个和所有的存储系统一样,就是RAID 组,把一组磁盘按照某种raid来集合在一起。想象一下,你有几块硬盘,需要防止其中一块坏掉导致数据丢失。这就是RAID Group(RAID组)的角色。它是将多块磁盘组合成一个单元,使用RAID技术(如RAID-DP或RAID-TEC)提供冗余保护。RAID Group包括数据盘、奇偶校验盘(parity)和双/三重奇偶校验盘(dparity),当磁盘故障时,能自动重建数据。

  • 关键特点:ONTAP推荐RAID Group大小为12-20块HDD或20-28块SSD,以平衡容量和重建时间。 RAID-DP(双奇偶校验)是默认选项,能容忍两个磁盘同时故障,而RAID-TEC(三重奇偶校验)适用于大容量磁盘(≥6TB),容忍三个故障。

这个是NetApp的特点,就是RAID group的宽度width可以随意指定,不像某些存储都是固定死的,比如RAID3+1,7+1等。NetApp是比较灵活的。

还有就是NetApp特有的raid技术,RAID-DP或者RAID-TEC。有机会再讲,你可以理解,就是一种很NB的raid技术。

  • 在NetApp中的作用:RAID Group是存储保护的第一道防线,确保无中断数据访问。即使磁盘失败,系统也能从热备盘(hot spare)中自动替换并重建。

例如,一个小型RAID Group可能由3块磁盘组成(2数据+1奇偶),但实际数据聚合体通常有多个RAID Group以提升性能。

Plex:数据的镜像副本

Plex的概念主要用于镜像的场景,本地的mirror或者Metrocluster的场景。是Aggregate数据的物理副本,在未镜像Aggregate中,只有一个Plex(plex0);在镜像Aggregate(如使用SyncMirror)中,有两个Plex(plex0和plex1),实时同步数据。

  • 关键特点:在MetroCluster配置中,plex0通常基于本地磁盘池(pool0),plex1基于远程磁盘池(pool1),实现跨站点冗余。如果一个Plex故障,另一个可无缝接管。
  • 在NetApp中的作用:增强数据冗余,防止站点级故障。切换(switchover)时,远程Plex上线,确保零数据丢失。

Plex的命令如storage aggregate plex show用于查看状态,在MCC中尤为关键,因为它支持自动愈合(healing)过程。

如果客户没有使用MCC,可以暂时不考虑这个plex的概念。

Aggregate(聚合):物理存储池

Aggregate翻译为聚合,这个是最重要的一个概念,是ONTAP的核心物理存储单元,由一个或多个RAID Group组成,相当于一个大容量存储池。它可以是镜像的(mirrored,提供冗余)或未镜像的(unmirrored,更简单但风险更高)。其实你可以把这个理解为传统存储的pool。aggregate是属于某个node节点的。

  • 关键特点:Aggregate类型取决于底层RAID Group,支持混合(hybrid)如SSD+HDD(Flash Pool)。它可以动态扩展,但缩小需移动数据。
  • 在NetApp中的作用:为上层Volume提供空间和性能,支持数据分层和高效管理。在MCC中,镜像Aggregate确保跨站点同步,切换后远程Plex保持在线。

例如,一个Aggregate可能包含3个RAID Group,总容量数百TB,用于托管多个Volume。一套存储中可以包含多个aggregate,每个aggregate都是属于某个node的。

Volume(卷):逻辑数据容器

Volume是建立在Aggregate上的逻辑存储单元,用于存放文件或块数据。它支持FlexVol(灵活卷,支持快照、克隆)和FlexGroup(大规模分布式卷)。

  • 关键特点:Volume可以厚配置(预分配空间)或薄配置(按需分配),支持NAS(NFS/CIFS)或SAN协议。在MCC中,Volume属于SVM(Storage Virtual Machine),自动镜像到伙伴站点。
  • 在NetApp中的作用:Volume是用户可见的存储实体,提供快照、压缩等高级功能,便于数据管理和备份。

一个Aggregate可包含多个Volume,如根卷(root volume)和数据卷。

LUN(逻辑单元号):块存储接口

LUN是Volume内的逻辑块设备,主要用于SAN环境,向主机呈现为虚拟磁盘。它支持iSCSI或FC协议,类似于一个虚拟硬盘。

  • 关键特点:LUN可空间预留或薄配置,避免放置在未镜像Aggregate上,以防切换中断>120秒。在ONTAP中,LUN大小上限为64TB。
  • 在NetApp中的作用:为虚拟机、数据库等提供块级访问,支持LUN克隆和迁移,确保高性能存储。

一个Volume可包含多个LUN,但需匹配底层Aggregate的保护级别。

Pool(磁盘池):资源分组与热备

这个概念有点上头,aggregate是pool了,怎么又出来一个pool。Pool是物理磁盘的逻辑分组,包括数据盘和热备盘(hot spare)。简单理解一个pool就是flex的数据盘加上spare盘。在MCC中,Pool分为pool0(本地)和pool1(远程),支持SyncMirror镜像。

  • 关键特点:Pool包含热备盘,用于自动替换故障磁盘。Flash Pool又是另外的概念,使用SSD池加速HDD Aggregate。搞不懂暂时别理解这个概念了。
  • 在NetApp中的作用:提供磁盘分配基础,确保故障恢复。在MCC切换后,Pool所有权变更,支持愈合过程。

这些概念之间的关系:存储层次结构

NetApp存储架构是分层的,从物理到逻辑:

|--------|--------------|---------------------------------------------|
| 层次 | 组件 | 关系 |
| 物理层 | Disks / Pool | 磁盘分组到Pool(含热备),Pool提供资源给RAID Group。 |
| 保护层 | RAID Group | 多磁盘组成RAID Group,提供纠错;多个RAID Group组成Plex。 |
| 冗余层 | Plex | RAID Group形成Plex;镜像Aggregate有2个Plex(本地/远程)。 |
| 存储池层 | Aggregate | Plex组成Aggregate;Aggregate是Volume的基础。 |
| 逻辑层 | Volume | 在Aggregate上创建Volume;Volume存放文件或LUN。 |
| 访问层 | LUN | 在Volume内创建LUN,用于块访问。 |

写到最后

NetApp FAS存储系统ONTAP发展了估计有30年时间了,随时新技术的引入,ONTAP就衍生出新的技术,但是最底层的这些概念基本没有改变过,其实这也是这种存储非常稳定的原因之一。不像某些家的存储系统,每隔10年左右就全部推倒重来一遍,好不容易稳定了,又不要了,再搞一个新的,永远的不不稳定。

相关推荐
cnkeysky2 小时前
ubuntu 24.04 从 6.8 内核升级 6.11 网卡加载失败问题
linux·ubuntu
IT WorryFree2 小时前
不同编码类型应用场景
网络
岑梓铭3 小时前
计算机网络第四章(4)——网络层《IPV6》
服务器·网络·计算机网络·考研·408
十五年专注C++开发3 小时前
通信中间件 Fast DDS(三) :fastddsgen的安装与使用
linux·c++·windows·中间件·跨平台
tt5555555555553 小时前
Linux 驱动开发与内核通信机制——超详细教程
linux·驱动开发·b树
程序设计实验室3 小时前
在Linux系统上一键配置DoH,解决DNS解析被污染
linux
关关长语3 小时前
Ubuntu 中获取指定软件依赖安装包
linux·运维·ubuntu
山,离天三尺三3 小时前
线程中互斥锁和读写锁相关区别应用示例
linux·c语言·开发语言·面试·职场和发展
dragon_cdut3 小时前
ubuntu22.04 无法清空回收站文件
linux·运维