设置 SAN 主机上的队列深度
您可能需要更改主机上的队列深度,以达到每个节点和 FC 端口扇入的 ITN 的最大值。
AIX 主机
您可以使用 chdev
命令更改 AIX 主机上的队列深度。使用 chdev
命令所做的更改会在重新启动后持续存在。
示例
-
要更改 hdisk7 设备的队列深度,请使用以下命令:
chdev -l hdisk7 -a queue_depth=32
-
要更改 fcs0 HBA 的队列深度,请使用以下命令:
chdev -l fcs0 -a num_cmd_elems =128
num_cmd_elems
的默认值为 200 。最大值为 2 , 048 。可能需要使 HBA 脱机才能更改
num_cmd_elems
,然后使用rmdev -l fcs0 -R
和makdev -l fcs0 -P
命令将其恢复联机。
HP-UX 主机
您可以使用内核参数 scsI_max_qdepth
更改 HP-UX 主机上的 LUN 或设备队列深度。您可以使用内核参数 max_fcp_reqs
更改 HBA 队列深度。
-
sCSI 最大 qdepth
的默认值为 8 。最大值为 255 。可以在运行的系统上使用
kmtune
命令上的 ` -u` 选项动态更改scsI_max_qdepth
。此更改将对系统上的所有设备生效。例如,使用以下命令将 LUN 队列深度增加到 64 :kmtune -u -s SCSI_max_qdepth=64
可以使用
scsictl
命令更改单个设备文件的队列深度。使用scsictl
命令进行的更改在系统重新启动后不会持久。要查看和更改特定设备文件的队列深度,请执行以下命令:scsictl -a /dev/rdsk/c2t2d0
scsictl -m queue_depth=16 /dev/rdsk/c2t2d0
-
max_fcp_reqs
的默认值为 512 。最大值为 1024 。必须重建内核并重新启动系统,对
max_fcp_reqs
所做的更改才能生效。例如,要将 HBA 队列深度更改为 256 ,请使用以下命令:kmtune -u -s max_fcp_reqs=256
Solaris 主机
您可以为 Solaris 主机设置 LUN 和 HBA 队列深度。
-
对于 LUN 队列深度:主机上正在使用的 LUN 数乘以每个 LUN 的限制( lun-queue-depth )必须小于或等于主机上的 tgt-queue-depth 值。
-
对于 Sun 堆栈中的队列深度:原生驱动程序不允许在 HBA 级别设置每个 LUN 或每个目标
max_throttle
。为原生驱动程序设置max_throttle
值的建议方法是在每个设备类型( VID_PID )级别上的 ` /kernel/drv/sd.conf` 和 ` /kernel/drv/sfs.conf` 文件中。对于 MPxIO 配置, Host 实用程序会将此值设置为 64 ,对于 Veritas DMP 配置,则会将此值设置为 8 。
-
` # cd/kernel/drv`
-
` # vi lpfc.conf`
-
搜索 ` /ttp-queue ( /tgt-queue )`
tgt-queue-depth=32
安装时,默认值设置为 32 。
-
根据您的环境配置设置所需的值。
-
保存文件。
-
使用 ` sync ; sync ; sync ; reboot — -r` 命令重新启动主机。
QLogic HBA 的 VMware 主机
使用 esxcfg-module
命令更改 HBA 超时设置。不建议手动更新 esx.conf
文件。
-
以 root 用户身份登录到服务控制台。
-
使用 ` #vmkload_mod -l` 命令验证当前已加载的 Qlogic HBA 模块。
-
对于 Qlogic HBA 的单个实例,运行以下命令:
` #esxcfg-module -s ql2xmaxqdepth=64 qla2300_707`
此示例使用 qla2300_707 模块。根据
vmkload_mod -l
的输出使用相应的模块。 -
使用以下命令保存所做的更改:
` #/usr/sbin/esxcfg-boot -b`
-
使用以下命令重新启动服务器:
` # 重新启动`
-
使用以下命令确认更改:
-
` #esxcfg-module -g qla2300_707`
-
qla2300_707 enabled = 1 个选项 = "ql2xmaxqdepth=64"
-
适用于 Emulex HBA 的 VMware 主机
使用 esxcfg-module
命令更改 HBA 超时设置。不建议手动更新 esx.conf
文件。
-
以 root 用户身份登录到服务控制台。
-
使用 ` #vmkload_mod -l grep lpfc` 命令验证当前已加载的 Emulex HBA 。
-
对于 Emulex HBA 的单个实例,输入以下命令:
` #esxcfg-module -s lpfc0_lun_queue_depth=16 lpfcdd_7xx`
根据 HBA 的型号,此模块可以是 lpfcdd_7xx 或 lpfcdd_732 。上述命令使用 lpfcdd_7xx 模块。您应根据
vmkload_mod -l
的结果使用相应的模块。运行此命令会将 lpfc0 表示的 HBA 的 LUN 队列深度设置为 16 。
-
对于 Emulex HBA 的多个实例,运行以下命令:
esxcfg-module -s "lpfc0_lun_queue_depth=16 lpfc1_lun_queue_depth=16" lpfcdd_7xx
lpfc0 的 LUN 队列深度和 lpfc1 的 LUN 队列深度均设置为 16 。
-
输入以下命令:
` #esxcfg-boot -b`
-
使用 ` # reboot` 重新启动。
适用于 Emulex HBA 的 Windows 主机
在 Windows 主机上,您可以使用 LPUTILNT
实用程序更新 Emulex HBA 的队列深度。
-
运行
C : \WINNT\system32
目录中的LPUTILNT
实用程序。 -
从右侧菜单中选择 * 驱动器参数 * 。
-
向下滚动并双击 * 队列深度 * 。
如果要将 * 队列深度 * 设置为大于 150 ,则还需要相应地增加以下 Windows 注册表值:
HKEY_LOCAL_MACHINE \System\CurrentControlSet\Services\lpxnds\Parameters\Device\NumberOfRequests
Qlogic HBA 的 Windows 主机
在 Windows 主机上,您可以使用和 SAnsurfer
HBA 管理器实用程序来更新 Qlogic HBA 的队列深度。
-
运行
SAnsurfer
HBA 管理器实用程序。 -
单击 * HBA port* > * 设置 * 。
-
单击列表框中的 * 高级 HBA 端口设置 * 。
-
更新
Execution Throttle
参数。
适用于 Emulex HBA 的 Linux 主机
您可以在 Linux 主机上更新 Emulex HBA 的队列深度。要使更新在重新启动后保持持久性,必须创建新的 RAM 磁盘映像并重新启动主机。
-
确定要修改的队列深度参数:
modinfo lpfc|grep queue_depth
此时将显示队列深度参数及其问题描述的列表。根据您的操作系统版本,您可以修改以下一个或多个队列深度参数:
-
lpfc_lun_queue_depth
:可排队到特定 LUN 的最大 FC 命令数( uint ) -
lpfc_hba_queue_depth
:可排队到 lpfc HBA 的最大 FC 命令数( uint ) -
lpfc_tgt_queue_depth
:可排队到特定目标端口( uint )的最大 FC 命令数lpfc_tgt_queue_depth
参数仅适用于 Red Hat Enterprise Linux 7.x 系统, SUSE Linux Enterprise Server 11 SP4 系统和 12.x 系统。
-
-
通过将队列深度参数添加到 Red Hat Enterprise Linux 5.x 系统的 ` /etc/modprobe.conf` 文件以及 Red Hat Enterprise Linux 6.x 或 7.x 系统或 SUSE Linux Enterprise Server 11.x 或 12.x 系统的 ` /etc/modprobe.d/scsi.conf` 文件来更新队列深度。
根据您的操作系统版本,您可以添加以下一个或多个命令:
-
options lpfc lpfc_HBA_queue_depth=new_queue_depth
-
options lpfc lpfc_lun_queue_depth=new_queue_depth
-
options lpfc_tgt_queue_depth=new_queue_depth
-
-
创建新的 RAM 磁盘映像,然后重新启动主机,使更新在重新启动后保持不变。
有关详细信息,请参见 "系统管理" 适用于您的 Linux 操作系统版本。
-
验证是否已为您修改的每个队列深度参数更新队列深度值:
cat /sys/class/scsi_host/host_number/lpfc_lun_queue_depth
cat /sys/class/scsi_host/host_number/lpfc_tgt_queue_depth
cat /sys/class/scsi_host/host_number/lpfc_hba_queue_depthroot@localhost ~]#cat /sys/class/scsi_host/host5/lpfc_lun_queue_depth 30
此时将显示队列深度的当前值。
适用于 QLogic HBA 的 Linux 主机
您可以在 Linux 主机上更新 QLogic 驱动程序的设备队列深度。要使更新在重新启动后保持持久性,必须创建新的 RAM 磁盘映像并重新启动主机。您可以使用 QLogic HBA 管理 GUI 或命令行界面( CLI )修改 QLogic HBA 队列深度。
此任务显示如何使用 QLogic HBA 命令行界面修改 QLogic HBA 队列深度
-
确定要修改的设备队列深度参数:
modinfo qla2xxx
grep ql2xmaxqdepth您只能修改
ql2xmaxqdepth
queue depth 参数,该参数表示可以为每个 LUN 设置的最大队列深度。对于 RHEL 7.5 及更高版本,默认值为 64 。对于 RHEL 7.4 及更早版本,默认值为 32 。root@localhost ~]# modinfo qla2xxx|grep ql2xmaxqdepth parm: ql2xmaxqdepth:Maximum queue depth to set for each LUN. Default is 64. (int)
-
更新设备队列深度值:
-
如果要使修改持久,请执行以下步骤:
-
通过将队列深度参数添加到 Red Hat Enterprise Linux 5.x 系统的 ` /etc/modprobe.conf` 文件和 Red Hat Enterprise Linux 6.x 或 7.x 系统的 ` /etc/modprobe.d/scsi.conf` 文件或 SUSE Linux Enterprise Server 11.x 或 12.x 系统的
/etc/modprobe.d/mscsi.conf
文件来更新队列深度: options qmax_qla2xxx 或 maxqfase=new depth -
创建新的 RAM 磁盘映像,然后重新启动主机,使更新在重新启动后保持不变。
有关详细信息,请参见 "系统管理" 适用于您的 Linux 操作系统版本。
-
-
如果要仅修改当前会话的参数,请运行以下命令:
echo new_queue_depth > /sys/module/qla2xxx/parameters/ql2xmaxqdepth
在以下示例中,队列深度设置为 128 。
echo 128 > /sys/module/qla2xxx/parameters/ql2xmaxqdepth
-
-
验证队列深度值是否已更新:
cat /sys/module/qla2xxx/parameters/ql2xmaxqdepth
此时将显示队列深度的当前值。
-
通过在 QLogic HBA BIOS 中更新固件参数
Execution Throttle
来修改 QLogic HBA 队列深度。-
登录到 QLogic HBA 管理 CLI :
` /opt/QLogic_Corporation/QConvergeConsoleCLI/qaucli`
-
从主菜单中,选择
Adapter Configuration
选项。[root@localhost ~]# /opt/QLogic_Corporation/QConvergeConsoleCLI/qaucli Using config file: /opt/QLogic_Corporation/QConvergeConsoleCLI/qaucli.cfg Installation directory: /opt/QLogic_Corporation/QConvergeConsoleCLI Working dir: /root QConvergeConsole CLI - Version 2.2.0 (Build 15) Main Menu 1: Adapter Information **2: Adapter Configuration** 3: Adapter Updates 4: Adapter Diagnostics 5: Monitoring 6: FabricCache CLI 7: Refresh 8: Help 9: Exit Please Enter Selection: 2
-
从适配器配置参数列表中,选择
HBA Parameters
选项。1: Adapter Alias 2: Adapter Port Alias **3: HBA Parameters** 4: Persistent Names (udev) 5: Boot Devices Configuration 6: Virtual Ports (NPIV) 7: Target Link Speed (iiDMA) 8: Export (Save) Configuration 9: Generate Reports 10: Personality 11: FEC (p or 0: Previous Menu; m or 98: Main Menu; ex or 99: Quit) Please Enter Selection: 3
-
从 HBA 端口列表中,选择所需的 HBA 端口。
Fibre Channel Adapter Configuration HBA Model QLE2562 SN: BFD1524C78510 1: Port 1: WWPN: 21-00-00-24-FF-8D-98-E0 Online 2: Port 2: WWPN: 21-00-00-24-FF-8D-98-E1 Online HBA Model QLE2672 SN: RFE1241G81915 3: Port 1: WWPN: 21-00-00-0E-1E-09-B7-62 Online 4: Port 2: WWPN: 21-00-00-0E-1E-09-B7-63 Online (p or 0: Previous Menu; m or 98: Main Menu; ex or 99: Quit) Please Enter Selection: 1
此时将显示 HBA 端口的详细信息。
-
从 HBA Parameters 菜单中,选择
DisPlay HBA Parameters
选项以查看Execution Throttle
选项的当前值。Execution Throttle
选项的默认值为 65535 。
HBA Parameters Menu ======================================================= HBA : 2 Port: 1 SN : BFD1524C78510 HBA Model : QLE2562 HBA Desc. : QLE2562 PCI Express to 8Gb FC Dual Channel FW Version : 8.01.02 WWPN : 21-00-00-24-FF-8D-98-E0 WWNN : 20-00-00-24-FF-8D-98-E0 Link : Online ======================================================= 1: Display HBA Parameters 2: Configure HBA Parameters 3: Restore Defaults (p or 0: Previous Menu; m or 98: Main Menu; x or 99: Quit) Please Enter Selection: 1 -------------------------------------------------------------------------------- HBA Instance 2: QLE2562 Port 1 WWPN 21-00-00-24-FF-8D-98-E0 PortID 03-07-00 Link: Online -------------------------------------------------------------------------------- Connection Options : 2 - Loop Preferred, Otherwise Point-to-Point Data Rate : Auto Frame Size : 2048 Hard Loop ID : 0 Loop Reset Delay (seconds) : 5 Enable Host HBA BIOS : Enabled Enable Hard Loop ID : Disabled Enable FC Tape Support : Enabled Operation Mode : 0 - Interrupt for every I/O completion Interrupt Delay Timer (100us) : 0 **Execution Throttle : 65535** Login Retry Count : 8 Port Down Retry Count : 30 Enable LIP Full Login : Enabled Link Down Timeout (seconds) : 30 Enable Target Reset : Enabled LUNs Per Target : 128 Out Of Order Frame Assembly : Disabled Enable LR Ext. Credits : Disabled Enable Fabric Assigned WWN : N/A Press <Enter> to continue:
-
按 * 输入 * 继续。
-
从 HBA Parameters 菜单中,选择
Configure HBA Parameters
选项以修改 HBA 参数。 -
从 Configure Parameters 菜单中,选择
Execute Throttle
选项并更新此参数的值。Configure Parameters Menu ======================================================= HBA : 2 Port: 1 SN : BFD1524C78510 HBA Model : QLE2562 HBA Desc. : QLE2562 PCI Express to 8Gb FC Dual Channel FW Version : 8.01.02 WWPN : 21-00-00-24-FF-8D-98-E0 WWNN : 20-00-00-24-FF-8D-98-E0 Link : Online ======================================================= 1: Connection Options 2: Data Rate 3: Frame Size 4: Enable HBA Hard Loop ID 5: Hard Loop ID 6: Loop Reset Delay (seconds) 7: Enable BIOS 8: Enable Fibre Channel Tape Support 9: Operation Mode 10: Interrupt Delay Timer (100 microseconds) 11: Execution Throttle 12: Login Retry Count 13: Port Down Retry Count 14: Enable LIP Full Login 15: Link Down Timeout (seconds) 16: Enable Target Reset 17: LUNs per Target 18: Enable Receive Out Of Order Frame 19: Enable LR Ext. Credits 20: Commit Changes 21: Abort Changes (p or 0: Previous Menu; m or 98: Main Menu; x or 99: Quit) Please Enter Selection: 11 Enter Execution Throttle [1-65535] [65535]: 65500
-
按 * 输入 * 继续。
-
从 Configure Parameters 菜单中,选择
Commit Changes
选项以保存更改。 -
退出菜单。
-