如何在 CentOS/RHEL 7 上设置“max_report_luns”和“max_luns”以扫描超过 16,383 个的 LUN

从 CentOS/RHEL 7 开始,max_report_luns 参数的默认值已从 512 增加到 16383.
因此,CentOS/RHEL 7.x 现在在系统使用 Report LUNs 机制扫描 SCSI 互连时可以发现 511 个以上的 LUN。
通常不需要将此值增加到 16383 以上。
但是如果你想增加它,那么在 /etc/default/grub 的内核选项行中更改 max_report_luns 或者 max_luns 的值。

注意: /etc/default/grub 中需要更改的特定内核选项行以 GRUB_CMDLINE_LINUX= 开头。
不要直接编辑 /boot/grub2/grub.cfg。

  1. 编辑配置文件 /etc/default/grub 。

  2. 将 scsi_mod.max_luns 添加到 GRUB_CMDLINE_LINUX= 行,如下图:

# vi /etc/default/grub
GRUB_CMDLINE_LINUX=" ... rd.lvm.lv=vg_rhel7/root crashkernel=auto scsi_mod.max_report_luns=xxx ..."

此处将 xxx 替换为系统应检测到的 LUN 数量的所需值。

  1. 由于在/etc/default/grub中做了改动,需要重新构建boot分区中的grub2菜单文件:

根据机器类型,通过运行 grub2-mkconfig -o 命令重建 /boot/grub2/grub.cfg 文件,如下所示:

在基于 BIOS 的机器上:

# grub2-mkconfig -o /boot/grub2/grub.cfg

在基于 UEFI 的机器上:

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
  1. 重新启动系统。
    重新启动后,应该会出现其他 LUN。
    更改将在重新启动后持续存在。
# shutdown -r now
www. On IT Road .com

验证

重新启动后系统启动后,使用以下任何命令再次验证设置。

# cat /sys/module/scsi_mod/parameters/max_luns
# cat /sys/module/scsi_mod/parameters/max_report_luns
# systool -v -m scsi_mod
日期:2020-09-17 00:12:38 来源:oir作者:oir