在某些服务器中显示完整详细信息而在其他服务器中则没有 lsblk 命令有什么问题?
示例:服务器 1
~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 745.2G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 743G 0 part
├─rhel-root 253:0 0 200G 0 lvm /
├─rhel-swap 253:1 0 16G 0 lvm [SWAP]
└─rhel-usr_opt 253:2 0 527G 0 lvm /usr/opt
考虑到所有细节,服务器 2 具有相同的基础设施。
~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 745.2G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 743G 0 part
├─rhel_mbs-root 253:0 0 200G 0 lvm /
├─rhel_mbs-swap 253:1 0 32G 0 lvm [SWAP]
└─rhel_mbs-usr_opt 253:2 0 511G 0 lvm /usr/opt
sdb 8:16 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
sdc 8:32 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
sdd 8:48 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
sde 8:64 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
sdf 8:80 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
sdg 8:96 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
sdh 8:112 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
sdi 8:128 0 833.5G 0 disk
└─mpatha 253:3 0 833.5G 0 mpath
└─mpatha1 253:4 0 833.5G 0 part
答案1
没有什么问题lsblk
。这两台服务器似乎没有相同的基础设施。
服务器 2 有 8 个附加磁盘(从/dev/sdb
到/dev/sdi
),服务器 1 中缺少这些磁盘。这些磁盘要么未安装,要么尚未被内核识别。您需要运行partprobe
或重新启动服务器。
答案2
同一 LUN 具有 8 条路径的多路径建议采用某种企业级 SAN 连接:也许是 FibreChannel 交换结构?
如果在操作系统已运行时 LUN 已提供给服务器 1,您可能需要执行类似以下操作来告诉 FC 主机适配器接受新提供的 LUN 路径:
for i in /sys/class/fc_host/host*; do echo "- - -" > /sys/class/scsi_host/${i##*/}/scan; done
在某些情况下,您甚至可能需要告诉 FC 主机适配器执行 FibreChannel 链路的完全重置,特别是在 SAN 管理员对存储系统进行了一些主要配置更改的情况下:
for i in /sys/class/fc_host/host*; do echo "1" > $i/issue_lip; done
如果sd*
执行这些命令后未出现丢失的设备,您可能需要仔细检查每个 FC 端口的 WWN ( for i in /sys/class/fc_host/host*; do printf "${i##*/}: "; cat $i/port_name; done
) 并验证每根 FC 电缆是否已插入正确的端口。
为了实现容错,通常将 FibreChannel 结构安排为两个独立的半部,并且 FC 连接的主机将有(至少)两个 FC 适配器,每一半一个。如果电缆交叉(即存储希望在结构 A 中看到的适配器连接到结构 B,反之亦然),您将根本看不到 LUN。
如果sd*
重新扫描/重置适配器后会出现设备(如上所述),但设备mpath*
不会出现,则您可能需要安装device-mapper-multipath
和/或运行mpathconf --enable
.
答案3
两台服务器之间的输出差异lsblk
是其配置或硬件设置的差异。
好像还有Multipathing
第二个。
多路径是存储区域网络 (SAN) 中使用的一项技术,通过在服务器及其存储设备之间使用多个物理路径来提供冗余并提高性能。
多路径是一种在服务器及其存储设备之间创建多个物理路径的技术。它可以带来更好的容错能力和性能增强。
sdb
来自-的磁盘sdi
似乎都mpatha1
安装了单个分区,并且它们都配置为多路径设备mpatha
这些要么在启动时包含/安装/绑定,要么您必须为服务器 1 手动执行此操作,检查服务器 1 和服务器 2 的差异或服务器 1 的错误所在。
lsblk
和的有用选项blkid
:
显示有关文件系统的信息
lsblk --fs
显示有关名称、挂载点和 uuid 的信息
lsblk -o +name,mountpoint,uuid
按 .. 列出磁盘:
ls -l /dev/disk/by-id/
ls -l /dev/disk/by-label/
ls -l /dev/disk/by-partuuid/
ls -l /dev/disk/by-path/
ls -l /dev/disk/by-uuid/
获取您的块设备属性
blkid -o list