欢迎来到之路教程(on itroad-com)

解决方案

该问题是由以下设置引起的,因为 /etc/default/grub/ 和 /boot/grub2/grub.cfg 上的“ipv6.disable=1”参数导致 rds_rdma 模块未加载到内核

/etc/default/grub 配置文件:

########### BEGIN DO NOT REMOVE Added by Oracle Exadata ###########
GRUB_DEFAULT=0
GRUB_DISABLE_OS_PROBER=true
GRUB_DISABLE_RECOVERY=true
GRUB_DISABLE_SUBMENU=y
GRUB_DISTRIBUTOR="Oracle Linux"
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
export EXADATA_IMAGE_TYPE=BareMetal
GRUB_CMDLINE_LINUX_DEFAULT="root=LABEL=DBSYS bootarea=dbsys bootfrom=BOOT ro loglevel=7 panic=60 pci=noaer log_buf_len=1m nmi_watchdog=0 transparent_hugepage=never rd_NO_PLYMOUTH audit=1 console=tty1 console=ttyS0,115200n8 crashkernel=448M processor.max_cstate=1 clocksource=tsc nohpet nopmtimer hda=noprobe hdb=noprobe ide0=noprobe pci=nocrs ifnames_skip=100 biosdevname=0 net.ifnames=0 "
########### END DO NOT REMOVE Added by Oracle Exadata ###########
#OS hardening start
GRUB_CMDLINE_LINUX='ipv6.disable=1'
#OS hardening end

/boot/grub2/grub.cfg 配置文件:

linux16 /vmlinuz-4.14.35-1902.301.1.el7uek.x86_64 root=/dev/mapper/VGExaDb-LVDbSys1 
ro ipv6.disable=1 root=LABEL=DBSYS bootarea=dbsys bootfrom=BOOT 
ro loglevel=7 panic=60 pci=noaer log_buf_len=1m nmi_watchdog=0 transparent_hugepage=never rd_NO_PLYMOUTH audit=1 
console=tty1 console=ttyS0,115200n8 crashkernel=448M processor.max_cstate=1 clocksource=tsc nohpet nopmtimer 
hda=noprobe hdb=noprobe ide0=noprobe pci=nocrs ifnames_skip=100 biosdevname=0 net.ifnames=0
  initrd16 /initramfs-4.14.35-1902.301.1.el7uek.x86_64.img

RDMA 依赖于可用的 ipv6 代码,这被此参数“ipv6.disable=1”阻止。
为了解决该问题,请按照以下概述的步骤操作:

  1. 修改前请先备份/etc/default/grub。
    请从 /boot/grub2/grub.cfg 引导命令行中删除以下选项(或者行):
# vi /boot/grub2/grub.cfg

删除以下行:

ipv6.disable=1

这是因为 RDMA 依赖于可用的 IPv6 代码,但这完全阻止了它的加载。

  1. 请备份 /boot/grub2/grub.cfg 。
    请运行以下命令重新构建 grub 文件。
# grub2-mkconfig -o /boot/grub2/grub.cfg
  1. 请备份当前的 initramfs 文件。
    然后重建initramfs。
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
# dracut -f
  1. 请重启服务器查看结果。

问题

RDMA 服务无法在 CentOS/RHEL 7 机器上启动。
'journalctl -r' 命令显示以下错误:

Oct 11 11:01:15 onitroad  systemd-modules-load: Failed to insert 'rds_rdma': Address family not supported by protocol
Oct 11 11:01:15 onitroad  systemd-modules-load: Failed to insert 'resilient_rdmaip': Address family not supported by protocol
Oct 11 11:01:15 onitroad  systemd: rdma-load-modules@rdma.service: main process exited, code=exited, status=1/FAILURE
Oct 11 11:01:15 onitroad  systemd: Failed to start Load RDMA modules from /etc/rdma/modules/rdma.conf.
Oct 11 11:01:15 onitroad  systemd: Unit rdma-load-modules@rdma.service entered failed state.
无法在 CentOS/RHEL 7 上启动 RDMA 服务
日期:2020-09-17 00:12:44 来源:oir作者:oir