标题几乎说明了一切。使用Ubuntu 22.04。我进行了简单的安装 -> 物理 HPE DL360 G9,其中两个 2 端口 HBA 连接到 iSCSI 交换机,而 iSCSI 交换机又连接到我们的 Nimble 存储阵列。以下是我所做的:
- 安装了 Ubuntu 22.04 并更新了它
- 更改启动器配置文件中的 iSCSI 启动器名称
- 将我的 NIC 名称更改为易于理解的名称(en01 = mgmt0;ens1fs0 = iscsi-1;ens2fs1 = iscsi-2)并应用更改
- 我安装了一个 Nimble Linux 工具包,它修改 iscsid.conf 并为 Nimble 设备添加 multipath.conf“设备”部分
- 然后,我使用 2 个 iscsi NIC 创建了两个 iface,并重新启动了 iscsid 和 multipathd 服务
- 我在阵列上配置了一个卷,并通过服务器的 iqn 分配了对其的访问权限
- 然后我通过 iscsiadm 执行 iSCSI 发现,然后登录。
此时......一切看起来都很好
- 我检索了连接的卷的 wwid,以便我可以在 multipath.conf 文件中为其添加一个友好的名称。仍然..这里一切都很好
- 此时,我重新启动服务器以刷新所有内容并确保我的 iSCSI 目标连接自动重新连接,并且确实如此。还好
- 现在这是我的问题。我运行 fdisk /dev/nimblestorage/ (我相信这是指向所连接卷的符号链接)并完成对磁盘进行分区的过程。过程简单。但是,在我将更改“写入”磁盘后,我收到以下错误或警告:
Calling ioctl() to re-read partition table. Re-reading the partition table failed: Invalid Argument.
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8)
因此,我按照消息指示执行操作并重新启动。然后,我尝试使用以下命令将文件系统放在我的分区/卷上:
sudo mkfs.xfs -b siz=4k -m reflink=1,crc=1 -L test01 /dev/nimblestorage/<vol-name>
并收到以下错误:
mkfs.xfs: cannot open /dev/mapper/<vol-name>: Device or resource busy
如果我通过 /dev/mapper/ 尝试此操作,我认为它可以工作,但运行 df -hT 时不会显示存储
我什么也做不了。我一直在互联网上到处搜索,但我所做的一切都没有成功。我缺少什么?问题是多路径吗?是我没配置什么东西吗?非常感谢你们提供的任何帮助。即使我不安装 Nimble 工具包而只是通过 /dev/mapper/... ,我也会遇到同样的问题。
答案1
我必须将我的“Linux 上的存储实现步骤”分开并一点一点地查看问题所在的步骤。当我只使用 1 个适配器时,我就能让这一切工作得非常好。因此,这个问题显然与多路径层有关,或者至少与多路径在 Linux 中的工作方式有关。还在学习这个!
Nimble 有一个适用于 Linux 的“工具包”安装程序,其中包括用于协助多路径的“网络连接管理器”工具。在分区/文件系统连接设备的文档中,他们声明使用设备: /dev/nimblestorage/ ,它基本上是类似于 /dev/mapper/ 的符号链接,然后指向 dm-# 设备。尽管 fdisk 在将分区写入设备后显示一条烦人的警告消息(在使用本地磁盘或使用 1 个适配器连接到基于 san 的 LUN 时不会发生这种情况),但我认为分区仍然可以正常创建。为什么会出现 fdisk 警告/错误,我仍然不知道。为了我自己的理智和理智,我将此任务切换为使用parted,这也允许我在磁盘上放置一个GPT表,所以效果更好