与SAN相关的活动有哪些常见的Linux命令? 如何检查LUN是否连接到计算机?

位冗长,但我无法掌握这个话题。 任何帮助,将不胜感激。

是的,HBA会将一个LUN作为另一个磁盘呈现给操作系统。 fdisk -l应该列出这个。


由于操作系统对SAN存储没有可见性,操作系统中没有特别的命令可以让您了解SAN环境。 但是,一些存储供应商提供的工具将与HBA卡连接,以提供一些可见性。


设备的WWN(世界名称)是一个非常类似于IPnetworking中的MAC地址的标识符(实质上与iSCSI端的EUI相同)。 它应该唯一标识一个存储networking的成员(SAN和客户端计算机的HBA都具有WWN),并且在传输(“这个数据需要去哪里?”)以及身份validation(“哪个系统获得看到这个LUN?“)。


实质上,多path是一种消除整个存储networking中的单点故障或平衡负载的手段。

因此,举例来说,如果您的SAN机架上有两个控制器单元,那么如果其中一个出现故障,另一个仍然可以提供数据。 那么,如果只通过一条path (通过现在已故的控制器)将LUN呈现给用户,那么这对你来说并不是什么好事。

服务器中的SAN交换机和HBA卡也一样; 由于单件设备的故障,您不想丢失连接。 由于每台设备都有自己的WWN,所以在整个系统中增加冗余将会给您至less4条path; 两个HBA中的每一个都将通过两个控制器中的每一个看到每个LUN。

但是,如果没有多path感知,客户端系统上的操作系统会将这4个path中的每一个视为单独的磁盘(回到磁盘只是原样显示给主机操作系统的事实)。 所以,多path为操作系统提供了一种能力,即能够确定同一磁盘的所有副本实际上只有多条path才能访问同一个磁盘,并将备用path用作故障转移或平衡负载path。

您将在Linux上使用的命令与SAN存储交互取决于所使用的协议。 从SAN提供给Linux服务器的存储通常不会从fdisk这样的命令中看到,直到您发现为止。 对于iscsi,您可以使用iscsiadm --mode discovery --portal $PORTAL --type sendtargets来执行此操作,其中PORTAL是SAN的IP地址。 对于光纤通道,你可以写$ C $ T $ L到/ sys / class / scsi_host / host $ H / scan,其中C是通道,T是目标ID,L是lun,H是主机。

这只是一个口味; 您应该查看红帽的“ 存储pipe理指南”和“ DM多path指南”以获取更多的细节。

另请注意:您可以使用命令iscsiadm -m session -P 3来查看iscsi启动器的当前状态。 这将显示哪些块设备映射到哪些目标上的LUN。

通过查看sysfs文件系统也可以得到相同的信息。 我写了一个Perl脚本查询sysfs条目并将iscsi块设备映射到其目标和LUN: https : //gist.github.com/3154821