【商用存储】希捷磁盘阵列部署实践

文章目录

一、前言

1、盘阵类型

目前生产环境实践过程中只使用过Exos E 5U84(JBOD)和Exos X 5U84(RBOD)两款盘阵,两者区别只是使用控制器不一样(可复用同一个机框,更换控制器即可),后者支持RAID功能

序号 盘阵类型 产品类别 控制器类型 端口数量 端口速率 支持冗余模式
1 jbod Exos E 2U12 Exos E 2U24 Exos E 5U84 Exos E 4U106 IO模块 6个SAS口 12Gb SAS JBOD
2 rbod Exos X 2U12 Exos X 2U24 Exos X 5U84 FC控制器 SAS控制器 8个FC/iSCSI口 8个SAS口 16/32Gb FC 10/25Gb iSCSI 12Gb SAS ADAPT NRAID RAID 0/1/5/6/10

说明:

1、所有盘阵均采用双控制器设计(控制器默认管理地址为10.0.0.210.0.0.3),FC控制器支持FC、iSCSI或混合模式,可选配置为8个FC口、8个iSCSI口、4个FC口+4个iSCSI口

2、Mini-SAS HD 连接器(SFF-8644)采用了4个12Gb/s SAS Link,单根SAS线理论最大传输速率为48Gb/s

3、考虑安全因素,NORAID、RAID 0需要通过命令行配置,web不提供配置入口

4、可使用NORAID模拟JBOD效果(性能比直接使用JBOD控制器差),最大只允许创建64个线性磁盘组(通过Telnet连接至盘阵控制器命令行界面操作)

5U84盘阵参考示意图如下

  • 5U84盘阵正面

  • 【RBOD】5U84盘阵-FC控制器

  • 【RBOD】5U84盘阵-SAS控制器

  • 【JBOD】5U84盘阵-IO模块

2、性能规格

序号 盘阵类型 产品类别 写带宽 读带宽
1 JBOD 5U84 14 GB/s 20 GB/s
2 RBOD 5U84 5.5 GB/s 7 GB/s

注:据外媒报道,新一代VelosCT控制器性能有较大提升(写带宽为10 GB/s、读带宽为12 GB/s)

二、功能说明

1、RAID配置

使用希捷盘阵配置RAID时,需选择磁盘创建存储池(类似RAID组),可分为虚拟和线性两种存储类型

1.1、虚拟池(virtual pool)
  • 配置说明

只能创建两个虚拟池(对应A、B控制器),存在容量限制(单个池最大1PB,单个卷最大128TB),只有虚拟池支持快照功能

示例创建8个RAID6组(8+2)+ 4个全局热备盘,参考配置如下

  • 初始化耗时

单台5U84满配84块16TB硬盘,创建虚拟池,使用10块16T硬盘配置一组raid6(10组raid6+4个全局热备盘),耗时237411s(2022-8-17 14:59:48 ~ 2022-8-20 08:56:39),初始化速度约为706MB/s

1.2、线性池(linear pool)

可创建多个(最大可创建64个,单控制器上限为32个),无容量限制,目前一般使用线性池配置RAID

注:单台盘阵只能选择一种存储类型

2、磁盘休眠

2.1、RBOD
2.1.1、功能说明
  • 希捷盘阵支持DSD(Driver Spin Down)功能,一种可用于非adapt线性磁盘组的省电特性,它监视存储系统中的磁盘活动,并根据用户可选择的策略使不活动的旋转磁盘休眠。
  • 磁盘组可开启DSD(Driver Spin Down)功能,开启此功能后,检测到磁盘组一段时间内无io写入,可自动对磁盘组所属物理硬盘执行休眠操作
    注:休眠和唤醒时间可按需设置
2.1.2、规格限制

磁盘休眠不适用于虚拟池中的磁盘,只支持非adpat线性磁盘组

1.2、JBOD

与正常物理磁盘使用方式一致,JBOD主机直接下发powerchoice休眠指令即可

3、ADAPT配置

adapt-technology

3.1、说明

ADAPT(Automatic Distributed Allocation Protection Technology)是Seagate提供的一种自动分布式分配保护技术,是Seagate下一代纠删码解决方案,相比传统RAID,这种解决方案将奇偶校验分布在更大的hdd或ssd集合上。

RAID系统用于提供防止驱动器故障的保护,而ADAPT则提供了更高级的防止驱动器故障的保护,可以缩短将系统恢复到完全容错状态所需的时间。

ADAPT磁盘组越大,数据保护加速效益越大(相比传统RAID,重建速度最大快95%)

3.2、规格限制
  • 单个ADAPT磁盘组可以使用12个~128个驱动器,同一时刻同一磁盘组允许故障两块磁盘
  • ADAPT磁盘组可使用虚拟池或线性池进行配置,可实际需求及实测性能选择
  • ADAPT磁盘组中所有驱动器类型必须相同,且位于同一层,但容量可以不同
3.3、配置建议

通常来说,当存在以下配置需求时,推荐使用虚拟池(最常见的选择),反之则使用线性池

  • 盘阵存在多个存储层/磁盘类型(如SSD、SAS、NL SAS),同时想使用所有存储层
  • 需要使用到精简配置、超额分配、分层、复制、快照等功能
3.4、功能实现

ADAPT是一种类似RAID的数据保护方案,它将奇偶校验分散到多个驱动器上,使得希捷RAID控制器能够利用所有这些驱动器的综合性能,而不是绑定在单个驱动器上

ADAPT使用双奇偶校验位,传统RAID6每个条带使用磁盘组所有的硬盘,而ADAPT每个条带只使用10个硬盘(8个数据块+2个冗余块),此外,每个ADAPT磁盘组需要额外使用两块容量最大的硬盘作为热备盘

综上所述,结合热备盘和奇偶校验磁盘损失,ADAPT可用容量计算公式如下:

ADAPT可用容量 = (磁盘组总硬盘个数 - 2个热备盘)x 0.8 x 单盘容量大小

举个例子,使用36块10T硬盘组一个ADAPT磁盘组,可用容量为272TB

三、Q&A

1、性能数据

1.1、初始化性能

希捷RBOD盘阵RAID组初始化需要全盘写入,初始化时间通常需要两天以上

注:测试环境为10个10T硬盘组一组raid6 + 4个全局热备盘,实测raid初始化104274 s(28h57m54s),初始化速度为100.56 MB/s(其他规格可按照此速度自行推测初始化耗时)

1.2、重构性能

希捷RBOD盘阵RAID组重构需要全盘写入,而不是只恢复已写入的数据

注:测试环境为10个10T硬盘组一组raid6 + 4个全局热备盘,实测拔掉一块10T硬盘,重构耗时62474s(17h21m14s),重构速度为167.84 MB/s(其他规格磁盘可按照此速度自行推测重构耗时)

2、常用配置

2.1、NORAID配置

通过Telnet连接到控制器后台,参考配置如下

#查看磁盘信息,获取磁盘ID
show disks
#创建NORAID磁盘组(必须使用线性池),指定磁盘组ID为dg08
add disk-group dg08 type linear disks 0.82 level nraid

# show system-parameters
System Parameters
-----------------
ULP Enabled: true
Host Profiles Enabled: true
Number of Host Ports: 8
Maximum Disks: 336
Maximum Volumes: 1024
Maximum Linear Disk Groups: 64
Maximum LUNs: 1024
Maximum Linear Disk Groups per Controller: 32
Maximum Virtual Pools per Controller: 1
Maximum Virtual Disk Groups per Pool: 16
Maximum Virtual Pool Size: 562.9TB
Maximum Host Groups: 32
Maximum Hosts per Host Group: 256
Maximum Initiators per Host: 128
Maximum Volume Groups per Controller: 256
Maximum Volumes per Volume Group: 1024
Local Controller: A
Serial Number: F0B1D3
2.2、多路径配置

希捷5U84盘阵,双控制器(每个控制器出2个万兆,总共出4个万兆),客户端配置4条iscsi路径(双主双备),主备多路径配置如下:

devices {
    device {
        vendor "SEAGATE"
        product "5865"
        path_grouping_policy "group_by_prio"
        path_selector "service-time 0"
        path_checker "tur"
        hardware_handler "1 alua"
        prio "alua"
        failback immediate
        rr_weight "uniform"
    }
}

3、常见问题

3.1、RBOD硬盘写入异常(负载100%,无写入流量)
3.1.1、问题说明

希捷盘阵存在缓存,如出现磁盘写入异常(负载100%,无读写流量),则需要检查缓存状态,尝试清理缓存后重试

3.1.2、原因分析

客户端主机所有数据写入,会先写到盘阵内存(带电保护),之后再异步下刷到磁盘;

如果内存缓存数据下刷到磁盘过程中,磁盘被拔出,则会导致脏数据一直存在内存无法释放,当脏数据占满大部分内存时,会导致客户端主机数据无法写入

3.1.3、解决方法

通过Telnet连接到控制器后台,如发现存在缓存写满问题,则手动清理下缓存,参考配置命令如下

# 查看缓存状态
show unwritable-cache

# 清理缓存
clear cache

4、注意事项

4.1、映射LUN ID不能为0

映射LUN时,需注意LUN id不能为0,否则会导致跟SAS卡id冲突,磁盘无法显示

注:映射完成后,执行rescan-scsi-bus.sh命令重新扫描磁盘


四、部署实践(RBOD)

1、盘阵配置

RAID一般使用10块盘组一组raid6,剩余未使用的磁盘作为全局热备盘

如5U84盘阵,则配置为8组raid6+4块全局热备盘,即8 x ( 8 + 2 ) + 4

如4U106盘阵,则配置为10组raid6+6块全局热备盘,即10 x ( 8 + 2 ) + 6

1.1、盘阵连线至服务器
  • 示例为5U84盘阵(5U高度,配备84块盘)

  • 参考组网01拓扑,盘阵A、B控制器分别出两根SAS线连接至两台服务器上(交叉连接)

  • 连接完成后,此时可在希捷盘阵管理界面查看主机连线情况

1.2、盘阵池配置(磁盘组)
  • 选择池--操作--添加磁盘组 ,选择磁盘组类型线性 ,选择数据保护RAID-6 ,选择10块 硬盘创建磁盘组

  • 循环操作多次,共创建8个raid6磁盘组

    创建磁盘组需要所有盘全盘写入一遍,初始化通常需要两天左右时间,当对应磁盘组当前作业未显示INIT时,表示已初始化完成

    根据使用经验推算初始化速度为100MB/s左右,初始化耗时为单个磁盘组总容量大小/100MB/s

  • 选择池--操作--管理备用磁盘 ,选择所有剩余未被使用的磁盘,添加备用磁盘

    注:默认为全局热备盘,如需配置局部热备盘,则创建时选择对应磁盘组即可

1.3、盘阵卷配置
  • 选择卷--操作--创建线性卷卷大小 为磁盘组所有大小

  • 循环操作多次,分别使用8个磁盘组创建8个卷

1.4、盘阵卷映射
  • 选择映射--操作--映射 ,选择4条主机链路,选择8个卷,选择映射

    注:LUN ID不能为0,此处修改为8,映射完需要检查一遍

  • 映射完成之后,可以查看到有36个映射(8个卷,分别以4个主机链路映射出去)

  • 至此,希捷盘阵所有操作均已配置完成

2、主机配置

希捷5U84盘阵,双控制器(每个控制器出2个万兆,总共出4个万兆),客户端配置4条iscsi路径(双主双备),主备多路径配置如下:

devices {
    device {
        vendor "SEAGATE"
        product "5865"
        path_grouping_policy "group_by_prio"
        path_selector "service-time 0"
        path_checker "tur"
        hardware_handler "1 alua"
        prio "alua"
        failback immediate
        rr_weight "uniform"
    }
}