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删除演示文稿* >创建存储池 $create pool raid_level = raid1 number = 2 number表示池的磁盘数.创建的池有id 7. >基于该池创建虚拟磁盘 $create virtual_disk capacity = max pool = 7 虚拟磁盘基于我刚创建的池并使用其所有存储容量. >创建与我的服务器对应的主机对象: $application创建主机名= io1 ostype = linux >将已发现的启动器导入与主机的关系中: 发现$app show * 只有一个已发现的启动器,ID为3.它对应于我服务器的一个光纤通道主机: $cat / sys / class / fc_host / host10 / port_name 它与磁盘阵列的控制器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; 我安装了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分配. 解决方法
要使磁盘显示在/ dev / sd *下,解决方案是重新启动光纤通道HBA驱动程序,如
this answer中所述.在我的情况下,它是lpfc:
停止lpfc驱动程序: $modprobe -r lpfc 启动lpfc驱动程序: $modprobe lpfc 然后,我的设备出现在/ dev / sdb下.之后,正如GregL所说,我需要对设备进行分区,然后使用给定的文件系统对其进行格式化. 继that thread之后: >我使用parted mklabel命令在磁盘上创建了一个GPT分区表. $parted / dev / sdb mklabel gpt >然后我创建了一个主分区占用该设备上的所有空间(从0%到100%),并使用parted mkpart的命令进行最佳对齐: $parted –align optimal / dev / sdb mkpart primary 0%100% 这给了我一个分区/ dev / sb1. >之后,我用文件系统xfs格式化了分区(我已经将该文件系统用于我的其他分区): $mkfs.xfs / dev / sdb1 >最后,我安装了分区: mount / dev / sdb1 / mnt / disk_array / 现在一切正常:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |