SC 存储客户通知:Linux 较大的 IO 大小可能会影响 iSCSI 卷的可用性

Riepilogo: 向 Oracle Enterprise Linux 分发中引入了最近的内核更改,更改了在数据块设备上计算 IO 限制的行为。

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

警告:

下面概述了这些更改。

Oracle Linux 6/7:

 

ELSA-2015-3098-Unbreakable Enterprise 内核安全和 bugfix 更新

http://linux.oracle.com/errata/ELSA-2015-3098.html

发布日期/2015-11-13

[3.8.13-100.el6uek/3.8.13-100.el7uek]

block:卸下 artifical max_hw_sectors 帽(Christoph Hellwig) [Orabug:21511611]

 

 

Oracle Linux 5:

 

ELBA-2015-3076-Unbreakable Enterprise 内核错误修复更新

http://linux.oracle.com/errata/ELBA-2015-3076.html

发布日期/2015-08-27

[2.6.39-400.260.1. el5uek]

block:卸下 artifical max_hw_sectors 帽(李先生金) [Orabug:21455630]

 

 

 

概述:

Linux 系统上存在的每个数据块设备都分配有队列目录(位于/sys/block/xxx/queue/)。此目录包含多个配置文件。这些文件的详细信息可在以下位置找到:

 

https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt

 

与此 CSTA 相关的两个参数:

 

max_hw_sectors_kb

单个数据传输中支持的最大 kb 数。

通过 SCSI 查询响应,此参数为只读并由目标存储设备提供。Storage Center 操作系统(SCOS)中的 SCSI 目标子系统当前响应零。这表示没有限制,因此服务器会将该值设置为 linux 内核版本(32MB)中允许的最大值。

 

max_sectors_kb

Block 层将允许文件系统请求的最大 kb 数。

此值为读写。此值必须小于或等于max_hw_sectors_kb值。

 

对内核2.6.39-400.260.1 el5uek、3.8.13-100. el6uek 和 3.8.13-100 中引入的 Oracle Linux 内核的更改。 el7uek 更改max_sectors_kb计算方式。在以前的内核版本中,值始终设置为 512 KB。更改后, max_sectors_kb的值被设置为max_hw_sectors_kb的值。这主要会将单个 IO 传输的最大大小从512KB 增加到 32 MB。

 

此更改暴露了 Storage Center 10Gb iSCSI 驱动程序的问题,超出容量超过 ~ 8MB 的 I/O。导致大型 IO 的服务器进程可能会挂起,或者由于大型 IO 大小,卷可能变得不可用。此外,10Gb iSCSI 驱动程序问题可能会导致控制器占用其他 Storage Center 子系统所需的内存,这可能会导致更大的影响。

 

 

 

解决办法:

为了防止出现此问题, 必须在 Linux 服务器上动态更改每个数据块设备的 max_sectors_kb。下面是连接到 Linux 系统的多路径数据块设备的命令示例:

 

#mpath1:

回显 512 >/sys/block/dm-6/queue/max_sectors_kb

回显 512 >/sys/block/sdc/queue/max_sectors_kb

回显 512 >/sys/block/sde/queue/max_sectors_kb

回显 512 >/sys/block/sdk/queue/max_sectors_kb

回显 512 >/sys/block/sdm/queue/max_sectors_kb

 

这些更改不会通过重新引导来持续进行。可以实施 init 脚本,以便在给定的服务器引导时运行,这将为所有 iSCSI 数据块设备修改此参数。请咨询 Linux 管理员或 Oracle 对每个客户环境实施此持久性的最佳方式的支持。

 

以下脚本(udev 规则)将每个 iSCSI 连接的 Compellent 卷的 max_sectors_kb 设置为 512 kb。请自行决定使用此脚本,因为不存在暗示或保证。建议测试脚本,但不会出现问题。

 

创建文件99-cml-iscsi。目录/etc/udev/rules.d/中的规则具有以下内容:

[root@localhost/] # cat/etc/udev/rules.d/99-cml-iscsi.rules

# Dell Storage Center iSCSI 映射卷的 "Modify" max_sectors_kb

ACTION = = "add",\

ENV = = "*-iscsi-* compellent *",\

RUN + = "/bin/sh-c" echo 512 >/sys $ DEVPATH/queue/max_sectors_kb ""

 

 

受影响的版本:

使用 10Gb iSCSI 接口的所有 SCOS 版本都会受到影响。光纤通道、1 Gb iSCSI 和 FCoE 不受影响。

 

 

解决办法:

7.01.12、7.02.01 和7.03.01 及更高版本 SCOS 中已解决了 max_sectors_kb 问题。

 

更改在 SCOS 6.07.03 和更高版本中可用,以解决 10Gb iSCSI 驱动程序的内存消耗问题。

Causa

 

Risoluzione

 

Prodotti interessati

Entry Level & Midrange, Compellent (SC, SCv & FS Series), Dell Compellent SC4020, Dell Storage SC8000, Dell Compellent Series 40, Dell Storage SCv2000, Dell Storage SCv2020, Dell Storage SCv2080, Dell Storage SC9000
Proprietà dell'articolo
Numero articolo: 000137348
Tipo di articolo: Solution
Ultima modifica: 03 mag 2021
Versione:  4
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.