/ dev / disk / by-id符号链接不可靠吗?

我使用Heat模板供应Nova服务器和Cinder卷。

为了识别连接到我的OpenStack服务器的Cinder卷,我想使用udev提供的/dev/disk/by-id/...符号链接。 不幸的是,这些似乎是不可靠的。 我有以下设备连接到系统:

 # find -H /sys/class/block/* -name serial | while read x; do dev=${x%/*}; echo "$dev: $(cat $x)"; done /sys/class/block/vda: /sys/class/block/vdb: f78447c1-8da2-4a68-b /sys/class/block/vdc: d85a0192-37cf-46f3-8 

所以对于vdbvdc/dev/disk/by-id应该有符号链接。 然而:

 # ls -l /dev/disk/by-id total 0 lrwxrwxrwx. 1 root root 9 Oct 11 16:44 virtio-d85a0192-37cf-46f3-8 -> ../../vdc 

如果我运行udevadm trigger ,设备将显示:

 # ls -l /dev/disk/by-id total 0 lrwxrwxrwx. 1 root root 9 Oct 11 17:55 virtio-d85a0192-37cf-46f3-8 -> ../../vdc lrwxrwxrwx. 1 root root 9 Oct 11 17:55 virtio-f78447c1-8da2-4a68-b -> ../../vdb 

但是我希望设备在启动时可靠地显示。 有没有人见过这种行为?