Linux和AIX下如何检查磁盘是否共享?
例如,假设我们有/dev/sdd
insrv1
和srv2
主机,并且磁盘必须在两台服务器之间共享(同一磁盘)。我们如何确保这是同一个 LUN?
答案1
在 Linux 中,如果磁盘有设备/dev/sd*
,那么它不是远程 NFS 或 Samba 共享,但它可能是使用这些或其他方法共享到其他计算机的本地磁盘。
但是,如果潜在共享磁盘出现/dev/sd*
在两台主机中,则磁盘可能是本地磁盘,或者共享方法可以是从旧的差分 SCSI 到 iSCSI、ATAoE 或 FibreChannel 的任何方法。对于所有这些解决方案,磁盘将显示为本地设备,但可能与至少一台其他主机共享。差异 SCSI 仅限于最多 2 台主机,而 iSCSI、ATAoE 或 FibreChannel 等 SAN 解决方案可以允许任意数量的主机共享磁盘。
在所有这些情况下,检查磁盘/LUN 身份的通用方法是检查磁盘的序列号(或 WWID,如果有的话)。
在现代 Linux 上,您可以lsblk -o +model,serial,wwn
一次性查看所有磁盘的序列号和 WWID。如果该lsblk
命令不可用,则lsscsi
,sdparm --inquiry --page=di /dev/sdX
或sdparm --inquiry --page=sn /dev/sdX
可能有用。
在 AIX 上,lscfg
使用合适的选项,例如lscfg -vl hdiskN
应该报告指定磁盘的序列号和可能的 WWID。
在VMware等虚拟化环境中,虚拟化平台可能并不总是为虚拟磁盘提供唯一的序列号或其他ID:在VMware中,您需要disk.enableUUID=true
在VM配置中设置参数,以便以这种方式识别共享虚拟磁盘。请参阅此链接的 Dell Technologies 指南中的示例。
如果磁盘已包含包含足够唯一标识符的内容(例如文件系统 UUID、LVM PV UUID、GPT 分区磁盘的 PARTUUID 或磁盘唯一 GUID,或 MBR 分区磁盘上的卷序列号),您可以也使用它们进行识别。然而,由于这些都是基于数据中存储的信息,因此使用这些方法无法区分克隆磁盘或磁盘的 SAN 级快照与共享原始磁盘。
在 Linux 中,lsblk -o +UUID,PARTUUID,PTUUID
这是查看所有这些类型的 ID 的最简单方法。
在 AIX 中,lspv
将显示 AIX LVM pvid,如果磁盘已初始化为与 AIX LVM 一起使用,则可以使用该 pvid。