【商用存储】希捷磁盘阵列部署实践
一、前言
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.2
和10.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 immediaterr_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 immediaterr_weight "uniform"}
}