arm64 上缺少 isci_tcp 模块 ubuntu 23.10

arm64 上缺少 isci_tcp 模块 ubuntu 23.10

在四台 Raspberry PI 4 (arm64) 上,我安装了 Ubuntu 23.10。对于 Kubernetes 上的 Longhorn 存储,我需要 iscsi_tcp 模块。使用内核 6.5.0-1007-raspi (#9)。我已经安装了 linux-modules-extra-raspi,并且尝试安装 open-iscsi(显示已安装)。

我一直在尝试这个问题/答案没有成功。

我一直在尝试在节点上安装/清除 linux-modules-extra-raspi、linux-modules-extra-6.5.0-1007-raspi 和 open-isci 的不同组合,试图安装 isci_tcp 模块,但仍然无济于事。

偶尔,我可以到达显示lsmod iscsi_tcp它存在于节点上的点(但后来,在尝试了一些方法之后,它并没有出现)。在所有情况下,始终modprobe iscsi_tcp显示: modprobe: FATAL: Module iscsi_tcp not found in directory /lib/modules/6.5.0-1007-raspi

另外,当我安装附加功能的通用版本时,我看到两个条目:

ii  linux-modules-extra-6.5.0-1007-raspi 6.5.0-1007.9                            arm64        Linux kernel extra modules for version 6.5.0 on ARMv8 SMP
ii  linux-modules-extra-raspi            6.5.0.1007.8                            arm64        Raspberry Pi Linux kernel extra modules

如果我安装特定的 linux-modules-extra-6.5.0-1007-raspi,我只会看到顶部条目。

我对“iscsi-top”进行了包搜索(https://packages.ubuntu.com/search?suite=mantic&arch=arm64&mode=exactfilename&searchon=contents&keywords=iscsi_tcp) 和 23.10,我看到这些(部分列表):

/usr/src/linux-headers-6.5.0-1004-laptop/include/config/ISCSI_TCP   linux-headers-6.5.0-1004-laptop
/usr/src/linux-headers-6.5.0-1005-raspi/include/config/ISCSI_TCP    linux-headers-6.5.0-1005-raspi
/usr/src/linux-headers-6.5.0-1007-azure/include/config/ISCSI_TCP    linux-headers-6.5.0-1007-azure
/usr/src/linux-headers-6.5.0-1007-gcp/include/config/ISCSI_TCP  linux-headers-6.5.0-1007-gcp

我有一系列问题...

  1. linux-modules-extra-6.5.0-1007-raspi (6.5.0-1007.9) 的顶部条目显示 ARMv8 SMP。这是 Raspberry PI arm64 的正确模块吗?
  2. 在软件包列表中,似乎 raspi 版本仅在 6.5.0-1005 上。这是否意味着它不在 6.5.0-1007 中,我需要使用较旧的内核?
  3. 我在尝试安装所需模块时是否遗漏了某些步骤?
  4. 如果我必须降级内核,有人可以告诉我如何操作吗?

谢谢!

答案1

我在使用 Longhorn 存储时遇到的问题是卷状态不佳(卡在附加状态)。Longhorn 的 pod 显示错误,表示未找到 iscsci_tcp 模块。我查看了故障排除页面并尝试了一些安装步骤,然后我发布了此问题。

他们提到了一个检查脚本(https://longhorn.io/docs/1.5.3/deploy/install/#using-the-environment-check-script)。运行该程序后,它没有抱怨 iscsid(尽管我看不到 iscsi_tcp 模块),但它确实抱怨在节点上运行的 multipathd。有人提到这可能会干扰 iscsid。

我偶然发现此主题其中一部分是有人执行了这些命令:

sudo apt install nfs-common
sudo systemctl enable iscsid
sudo systemctl start iscsid
sudo systemctl stop multipathd
sudo systemctl disable multipathd

我在每个节点上都执行了这些操作,运行了检查脚本并且通过了。

longhorn 文档中还有更多建议(抱歉,这是针对 kubernetes 的),关于安装 open-iscsi:

kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.5.3/deploy/prerequisite/longhorn-iscsi-installation.yaml

但是,查看日志时,它只是说它已经安装好了。我也没有看到 iscsi_tcp 模块可用性有任何变化。我继续设置 longhorn,现在音量正常了!

可能 iscsi_tcp 错误只是个幌子,问题出在 multipathd 上?无论如何,它现在正常工作了。

相关内容