我有两台相同的 Dell R720 服务器,运行相同的Oracle Enterprise Linux
( RHEL
)6.4。
两台服务器(据称)的配置完全相同。但是,其中一台服务器的行为却不同。
每隔一次重启,其本地硬盘名称(及相关分区)就会从 变为/dev/sda
。/dev/sdj
这是有问题的,因为此服务器配置为multipathd
,如果发生这种翻转,则此配置与其他服务器不匹配,并且 Oracle DB(或其集群件)会抱怨节点配置不一致。
为什么一台服务器具有一致的设备名称,而另一台服务器却来回翻转?
我怎样才能使本地硬盘保持一致/dev/sda
?
编辑:我/etc/udev/rules.d
使用以下规则创建了一个规则文件,但它似乎不起作用
KERNEL=="sd*" , PROGRAM="scsi_id --page=0x83 -–whitelisted --device=/dev/%k",RESULT=="36b8ca3a0e58a3f00195c25c8117a6822", NAME="sda"
答案1
比udev
强制使用设备更好姓名对于给定的设备,永久的解决方案是使用UUID. 这对于设备映射器已知的任何设备均有效。
这样,您就不必担心向主机添加额外的磁盘。UUID 标识符可确保使用正确的设备。
答案2
使用别名或 user_friedly_names 或使用 udev。所有这些都记录在 RHEL 存储管理指南中:
也许您可以使用 /dev/disk/* 树而不是映射的 /dev/sd*
答案3
如果您使用的是 multipathd,则不必关心磁盘名称是/dev/sda
还是。使用所示的/dev/sdj
设备名称创建。该名称是持久的。名称仅指单个路径...multipathd
multipath -ll
/dev/sd*
答案4
切勿使用原始磁盘分区。使用 LVM。无论 UUID/WWID 磁盘命名方案如何,您最终都会在两个主机上获得完全相同的配置。