最近,我接管了一些使用本机 DM-multipath 运行的 RHEL 系统,这些系统是由其他人安装和配置的。
我的疑惑主要集中在以下几个问题:
1).为什么只有一部分dm-? /dev 目录下 dm10~19 的文件?
2)。为什么所有的mapper文件没有指向它们对应的dm-?哪些文件应该是符号链接?
注意:但是所有完整的dm-?在系统内核中还是可以从/proc/partitions中看到。尽管存在这些症状,但使用本机 DM 多路径运行的所有系统都可以正常工作。
#
#
# ls -ltr /dev/mapper
total 0
crw------- 1 root root 10, 60 Jun 22 2021 control
brw-rw---- 1 root disk 253, 9 Jun 22 2021 vgroot-Lvswap
brw-rw---- 1 root disk 253, 10 Jun 22 2021 3600c0ff0001582e1dc40b45101000000
brw-rw---- 1 root disk 253, 17 Jun 22 2021 3600c0ff0001582e1bdaa115201000000
brw-rw---- 1 root disk 253, 13 Jun 22 2021 3600c0ff0001582e1bc43b45101000000
brw-rw---- 1 root disk 253, 16 Jun 22 2021 3600c0ff0001582e189aa115201000000
brw-rw---- 1 root disk 253, 12 Jun 22 2021 3600c0ff0001582e16641b45101000000
brw-rw---- 1 root disk 253, 15 Jun 22 2021 3600c0ff0001582e15bceba5101000000
brw-rw---- 1 root disk 253, 14 Jun 22 2021 3600c0ff0001582e13bceba5101000000
brw-rw---- 1 root disk 253, 11 Jun 22 2021 3600c0ff0001582e11141b45101000000
brw-rw---- 1 root disk 253, 18 Jun 22 2021 3600c0ff0001581c1ca81625501000000
brw-rw---- 1 root disk 253, 19 Jun 22 2021 3600c0ff0001581c1895b895901000000
brw-rw---- 1 root disk 253, 20 Jun 22 2021 vgoms-lvoms
brw-rw---- 1 root disk 253, 21 Jun 22 2021 vghes-lvhes
brw-rw---- 1 root disk 253, 22 Jun 22 2021 vgdata-lvoadata
brw-rw---- 1 root disk 253, 24 Jun 22 2021 vgdata-lvhnweb
brw-rw---- 1 root disk 253, 23 Jun 22 2021 vgdata-lvdocdata
brw-rw---- 1 root disk 253, 0 Jun 22 2021 vgroot-Lvroot
brw-rw---- 1 root disk 253, 1 Jun 22 2021 vgroot-Lvhome
brw-rw---- 1 root disk 253, 2 Jun 22 2021 vgroot-Lvvar
brw-rw---- 1 root disk 253, 3 Jun 22 2021 vgroot-Lvtmp
brw-rw---- 1 root disk 253, 4 Jun 22 2021 vgroot-Lvinstall
brw-rw---- 1 root disk 253, 5 Jun 22 2021 vgroot-Lvusr
brw-rw---- 1 root disk 253, 6 Jun 22 2021 vgroot-Lvopenv
brw-rw---- 1 root disk 253, 7 Jun 22 2021 vgroot-Lvapp
brw-rw---- 1 root disk 253, 8 Jun 22 2021 vgroot-Lvoracle
brw-rw---- 1 root disk 253, 25 Nov 23 17:24 vgqdisk-lvqdisk
#
#
#
# ls -l /dev/dm-*
brw-rw---- 1 root root 253, 10 Jun 22 2021 /dev/dm-10
brw-rw---- 1 root root 253, 11 Jun 22 2021 /dev/dm-11
brw-rw---- 1 root root 253, 12 Jun 22 2021 /dev/dm-12
brw-rw---- 1 root root 253, 13 Jun 22 2021 /dev/dm-13
brw-rw---- 1 root root 253, 14 Jun 22 2021 /dev/dm-14
brw-rw---- 1 root root 253, 15 Jun 22 2021 /dev/dm-15
brw-rw---- 1 root root 253, 16 Jun 22 2021 /dev/dm-16
brw-rw---- 1 root root 253, 17 Jun 22 2021 /dev/dm-17
brw-rw---- 1 root root 253, 18 Jun 22 2021 /dev/dm-18
brw-rw---- 1 root root 253, 19 Jun 22 2021 /dev/dm-19
#
#
#
# cat /proc/partitions
major minor #blocks name
104 0 292935982 cciss/c0d0
104 1 104391 cciss/c0d0p1
104 2 292824787 cciss/c0d0p2
8 0 976512 sda
8 16 97656192 sdb
8 32 97656192 sdc
8 48 97656192 sdd
8 64 97656192 sde
8 80 97656192 sdf
8 96 97656192 sdg
8 112 97656192 sdh
8 128 585937472 sdi
8 144 989858240 sdj
8 160 976512 sdk
8 176 97656192 sdl
8 192 97656192 sdm
8 208 97656192 sdn
8 224 97656192 sdo
8 240 97656192 sdp
65 0 97656192 sdq
65 16 97656192 sdr
65 32 585937472 sds
65 48 989858240 sdt
253 0 10485760 dm-0
253 1 5242880 dm-1
253 2 5242880 dm-2
253 3 5242880 dm-3
253 4 15728640 dm-4
253 5 10485760 dm-5
253 6 20971520 dm-6
253 7 20971520 dm-7
253 8 62914560 dm-8
253 9 16777216 dm-9
253 10 976512 dm-10
253 11 97656192 dm-11
253 12 97656192 dm-12
253 13 97656192 dm-13
253 14 97656192 dm-14
253 15 97656192 dm-15
253 16 97656192 dm-16
253 17 97656192 dm-17
253 18 585937472 dm-18
253 19 989858240 dm-19
253 20 989855744 dm-20
253 21 585105408 dm-21
253 22 209715200 dm-22
253 23 209715200 dm-23
253 24 209715200 dm-24
253 25 974848 dm-25
#
#
#
#
# multipath -ll
3600c0ff0001581c1ca81625501000000 dm-18 HP,P2000 G3 FC
[size=559G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:9 sds 65:32 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:9 sdi 8:128 [active][ready]
3600c0ff0001582e13bceba5101000000 dm-14 HP,P2000 G3 FC
[size=93G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:5 sdo 8:224 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:5 sde 8:64 [active][ready]
3600c0ff0001582e15bceba5101000000 dm-15 HP,P2000 G3 FC
[size=93G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:6 sdp 8:240 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:6 sdf 8:80 [active][ready]
3600c0ff0001582e1bc43b45101000000 dm-13 HP,P2000 G3 FC
[size=93G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:3 sdn 8:208 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:3 sdd 8:48 [active][ready]
3600c0ff0001582e1dc40b45101000000 dm-10 HP,P2000 G3 FC
[size=954M][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:0 sdk 8:160 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:0 sda 8:0 [active][ready]
3600c0ff0001582e11141b45101000000 dm-11 HP,P2000 G3 FC
[size=93G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:1 sdl 8:176 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:1 sdb 8:16 [active][ready]
3600c0ff0001582e16641b45101000000 dm-12 HP,P2000 G3 FC
[size=93G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:2 sdm 8:192 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:2 sdc 8:32 [active][ready]
3600c0ff0001581c1895b895901000000 dm-19 HP,P2000 G3 FC
[size=944G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:10 sdt 65:48 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:10 sdj 8:144 [active][ready]
3600c0ff0001582e1bdaa115201000000 dm-17 HP,P2000 G3 FC
[size=93G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:8 sdr 65:16 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:8 sdh 8:112 [active][ready]
3600c0ff0001582e189aa115201000000 dm-16 HP,P2000 G3 FC
[size=93G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 2:0:2:7 sdq 65:0 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 1:0:3:7 sdg 8:96 [active][ready]
#
#
# rpm -Vav|grep /etc/udev/rules.d
........ /etc/udev/rules.d
........ c /etc/udev/rules.d/05-udev-early.rules
........ c /etc/udev/rules.d/50-udev.rules
........ c /etc/udev/rules.d/51-hotplug.rules
........ c /etc/udev/rules.d/90-dm.rules
........ c /etc/udev/rules.d/95-pam-console.rules
........ c /etc/udev/rules.d/61-uinput-stddev.rules
........ c /etc/udev/rules.d/61-uinput-wacom.rules
........ /etc/udev/rules.d/90-hal.rules
........ /etc/udev/rules.d/90-ib.rules
........ /etc/udev/rules.d/90-alsa.rules
........ c /etc/udev/rules.d/60-raw.rules
........ /etc/udev/rules.d/xen-backend.rules
........ /etc/udev/rules.d/40-multipath.rules
........ /etc/udev/rules.d/60-net.rules
........ /etc/udev/rules.d/90-hal.rules
........ /etc/udev/rules.d/60-wacom.rules
........ c /etc/udev/rules.d/98-kexec.rules
........ c /etc/udev/rules.d/85-pcscd_ccid.rules
........ /etc/udev/rules.d/51-dlm.rules
........ /etc/udev/rules.d/60-libsane.rules
........ c /etc/udev/rules.d/bluetooth.rules
........ /etc/udev/rules.d/60-pcmcia.rules
#
#
# cat /etc/udev/rules.d/90-dm*
KERNEL=="dm-[0-9]*", ACTION=="add", OPTIONS+="ignore_device"
#
#
答案1
我真的不知道你的问题 1.) 的答案。但我注意到所有丢失的/dev/dm-*
设备节点都与 LVM 设备映射相关。
但对于问题 2.) 在 RHEL 5.x 中,在目录中使用符号链接的做法/dev/mapper
尚未实现。该版本中使用的旧版本udev
比现代集成版本更宽松systemd
。
对于该版本来说,将真实设备节点同时作为/dev/mapper/vg*
文件和相应的/dev/dm-*
文件(而不是/dev/mapper/vg*
相应的符号链接)是正常的。/dev/dm-*
dm-multipath 可能也是如此,但我无法确认这一点,因为我唯一剩下的 RHEL 5.x 测试虚拟机未配置多路径。
我还注意到,大多数/dev/mapper/*
和/dev/dm-*
设备节点上的时间戳表明该系统已经连续运行了大约 1.5 年。但/dev/mapper/vgqdisk-lvqdisk
日期是 11 月 23 日,因此存储配置的某些部分最近已更改,并且其相应的部分/dev/dm-25
也丢失了。
您检查过自定义 udev 规则吗/etc/udev/rules.d/
?请注意,RHEL 5.x 有全部它的 udev 规则在那里;RHEL 5.x 中尚不存在分发版标准规则/usr/lib/udev/
和系统管理员自定义的分离。/etc/udev/
如果前任管理员为其(可能的)自定义规则编写了注释,这些注释可能会解释他们的想法。
要查明是否存在非默认规则,您需要运行以下命令:
sudo rpm -Vav | grep /etc/udev/rules.d
这将输出 RPM 包管理已知的 udev 规则文件列表:如果文件与相应 RPM 包所包含的内容相同,则文件名将以 8 个点为前缀:........
.
然后,您需要将此文件列表与目录中实际的文件进行比较/etc/udev/rules.d
:如果命令未列出任何文件rpm
,则它们将是以前的系统管理员添加的自定义内容,应检查它们是否可能导致设备节点丢失。
/dev/dm-*
当然,由于某些命令输入错误,设备可能会丢失,如果系统重新启动,它将/dev/dm-*
正常重新创建所有设备。如果您运行sudo lsof +aL1 /dev
并发现丢失的设备仍处于打开状态,则可能支持删除是随机系统管理员“哎呀”的理论。
(当接管已经连续运行很长时间的旧系统时,在新管理员承担责任之前,最好要求旧管理员证明系统实际上可以毫无错误地重新启动。这样,任何隐藏的问题都有可能变得可见,并且可以避免各种指责游戏,但我知道实际上并不总是可以安排这样的测试......)