如何让RHEL拥有持久的本地硬盘名称?

我有两台完全相同的Oracle Enterprise LinuxRHEL )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标识符保证正确的设备将被使用。

如果您使用的是multipathd,那么您不应该在意天气磁盘名称是/dev/sda/dev/sdj 。 使用与multipath -ll一起显示的multipath -ll创build的设备名称。 这个名字是持久的。 /dev/sd*名称只能引用单个path…

切勿使用原始磁盘分区。 使用LVM。 无论UUID / WWID磁盘命名架构如何,最终都将在两台主机上进行完全相同的configuration。