我有两台完全相同的Oracle Enterprise Linux ( RHEL )6.4的Dell R720服务器。
两个服务器(据说)configuration完全相同的方式。 但是,其中一台服务器的行为有所不同。
其他每一个重新启动其本地硬盘驱动器名称(和相关的分区)从/dev/sda翻转到/dev/sdj 。 这是有问题的,因为这个服务器configuration了multipathd ,如果这个翻转发生,这个configuration不匹配其他服务器,并且Oracle DB(或者它的集群件)抱怨节点configuration不一样。
为什么一台服务器有一个一致的设备名称,而另一台服务器不断来回翻转呢?
我如何使本地硬盘一直是/dev/sda ?
编辑:我使用以下规则在/etc/udev/rules.d创build了一个规则文件,但似乎没有工作
KERNEL=="sd*" , PROGRAM="scsi_id --page=0x83 -–whitelisted --device=/dev/%k",RESULT=="36b8ca3a0e58a3f00195c25c8117a6822", NAME="sda"
比使用udev强制给定设备的设备名称更好,永久的解决scheme是使用UUID 。 这对于设备映射器已知的任何设备都是有效的。
这样,您不必担心是否将额外的磁盘添加到主机。 UUID标识符保证正确的设备将被使用。
使用别名或user_friedly_names或使用udev。 所有这些都logging在“RHEL存储pipe理指南”中:
也许你可以使用/ dev / disk / *树而不是映射/ dev / sd *
如果您使用的是multipathd,那么您不应该在意天气磁盘名称是/dev/sda或/dev/sdj 。 使用与multipath -ll一起显示的multipath -ll创build的设备名称。 这个名字是持久的。 /dev/sd*名称只能引用单个path…
切勿使用原始磁盘分区。 使用LVM。 无论UUID / WWID磁盘命名架构如何,最终都将在两台主机上进行完全相同的configuration。