centos检测不到磁盘_linux – Centos 7服务器看不到磁盘阵列磁盘

上下文

我有一台新安装了CentOS 7的服务器,连接到带有光纤通道连接的磁盘阵列.

我想在我服务器的文件系统上安装磁盘阵列的磁盘,然后在其上设置一个NFS服务器,使该存储可供集群中的所有节点使用(服务器和磁盘阵列都是一个小集群的一部分我’管理).

服务器:Bull R423

磁盘阵列:DDN S2A6620(DirectData网络)

我只使用磁盘阵列的两个控制器之一.

这是命令lspci输出的摘录:

# lspci

85:00.0 Fibre Channel: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter (rev 03)

85:00.1 Fibre Channel: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter (rev 03)

所以我认为我的服务器很好地检测到了FC HBA(光纤通道主机总线适配器),它似乎来自Emulex品牌.

磁盘阵列与Red Hat 5& 6服务器兼容,所以我不确定它是否真的可以与CentOS 7服务器一起使用,但我决定尝试一下.

我已经按照磁盘阵列的用户指南,我已经能够从服务器远程连接到它,并且我已经完成了所有必要的配置(创建一个包含2个磁盘的Raid 1存储池,从中创建一个虚拟磁盘该池用于将磁盘提供给服务器,使用LUN编号将虚拟磁盘提供给主机,…).但是,用户指南没有说明服务器端的任何内容.

磁盘阵列配置

有关我如何在磁盘阵列端执行配置的一些细节.

磁盘阵列OS是SFA OS v1.3.0.8.我发现的最接近的手册是this one(v1.4.0).基本上这是我遵循的步骤(对应于文档的第3.6.5节,以及后面):

>清理磁盘阵列

$application删除演示文稿*

$application delete host *

$delete virtual_disk *

$delete pool *

>创建存储池

$create pool raid_level = raid1 number = 2

number表示池的磁盘数.创建的池有id 7.

>基于该池创建虚拟磁盘

$create virtual_disk capacity = max pool = 7

虚拟磁盘基于我刚创建的池并使用其所有存储容量.

>创建与我的服务器对应的主机对象:

$application创建主机名= io1 ostype = linux

>将已发现的启动器导入与主机的关系中:

发现$app show *

|发起者标识符| |

指数|输入| ID |节点|港口| Ctrl 0 | Ctrl 1 |

00003 FC 0x000001 0x20000000c99de40f 0x10000000c99de40f 1

总FC发起人:1

只有一个已发现的启动器,ID为3.它对应于我服务器的一个光纤通道主机:

$cat / sys / class / fc_host / host10 / port_name

0x10000000c99de40f

它与磁盘阵列的控制器1相关联,这实际上是我正在使用的唯一控制器.

$application import discovered_initiator 3 host 3

>向主机提供虚拟磁盘

$application create presentation virtual_disk 7 host 3

(我创建的虚拟磁盘的ID是7)

虚拟磁盘和存储池似乎都处于Ready状态.

问题

既然我已经将磁盘提供给我的服务器,我想将该存储空间作为文件系统安装在我的服务器上.

我试过检查/ dev /目录.目前只安装了sda磁盘(我的服务器硬盘).我查询了/ dev /中的每个文件,发现了一些可能与光纤通道或Scsi有关的文件:

> / dev / bsg /是一个专用于linux SCSI通用驱动程序的目录,包含/ dev / bsg / fc_host9和/ dev / bsg / fc_host10;

> / dev / lpfcmgmt专用于Emulex驱动程序;

> / dev / tgt,由SCSI目标使用.

我安装了sg3_utils,并在fc_host10上运行扫描:

$sg_scan /dev/bsg/fc_host10

/dev/bsg/fc_host10: scsi0 channel=0 id=0 lun=0 [em]

运行扫描命令后,我仍然找不到aditional / dev / sd *.

此外,/ sys / class / fc_host / host10 /是/sys/devices/pci0000:80/0000:80:07.0/0000:85:00.1/host10/fc_host/host10的链接,所以我想这给了我一些公共汽车的“ID”.

但这是目录/ dev / disk / by-path中的文件列表:

$ll /dev/disk/by-path

total 0

lrwxrwxrwx. 1 root root 9 Aug 3 22:02 pci-0000:84:00.0-scsi-0:0:0:0 -> ../../sda

lrwxrwxrwx. 1 root root 10 Aug 3 22:02 pci-0000:84:00.0-scsi-0:0:0:0-part1 -> ../../sda1

lrwxrwxrwx. 1 root root 10 Aug 3 22:02 pci-0000:84:00.0-scsi-0:0:0:0-part2 -> ../../sda2

ID不匹配,无论如何它们都是/ dev / sda *的符号链接,它们对应于我的服务器本地磁盘.

正如比利所说,我跑了

echo’ – – – ‘> / SYS /班/ scsi_host / host10 /扫描

但它没有输出任何东西,并且仍然没有出现任何新的/ dev / sd *.

问题

我假设成功后磁盘应该显示为/ dev / sd * /.真的吗?如果没有,那些磁盘应该出现在哪里?

最后,如何让这些磁盘出现在我的服务器角度?

编辑

按照billyw的建议,我运行echo 1> / SYS /班/ fc_host /主机X / issue_lip.这是logs.

显然FLOGI错误与此无关,因为我处于循环拓扑中,而不是结构拓扑.仍然没有出现在/ dev中的磁盘.

现在,在this thread之后,我重新启动了lpfc驱动程序:

$modprobe -r lpfc

$modprobe lpfc

这导致these logs在/ var / log / messages中.

这次,/ dev / sdb和/ dev / sdc出现了.但我无法装载它们:

$mount /dev/sdb /mnt/db

mount: /dev/sdb is write-protected, mounting read-only

mount: unknown filesystem type ‘(null)’

所以我试着调查重启lpfc时生成的日志.首先,我注意到循环拓扑消息中不支持Link Up Event npiv.我重新启动lpfc,这次禁用npiv(我觉得npiv在我的情况下没用):

$modprobe -r lpfc

$modprobe lpfc lpfc_enable_npiv=0

Logs是完全相同的,但npiv消息消失了.

我还在调查日志,我的TODO列表上的下一个错误是警告!收到指示此目标上的LUN分配已更改的指示. Linux SCSI层不会自动重新映射LUN分配.

    原文作者:饭太
    原文地址: https://blog.csdn.net/weixin_36369605/article/details/112844145
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞