温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux虚拟机的scsi设备id与盘符不一致问题的解决方法

发布时间:2021-10-21 17:52:13 来源:亿速云 阅读:512 作者:柒染 栏目:云计算

这篇文章给大家介绍linux虚拟机的scsi设备id与盘符不一致问题的解决方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

   当用户挂载多个scsi磁盘时,重启虚拟机后虚拟机内部磁盘映射和用户配置的不一致。如图所示,用户配置的虚拟机scsi设备id与盘符对应关系。

linux虚拟机的scsi设备id与盘符不一致问题的解决方法

   当虚拟机重启以后,虚拟机的scsi设备id与盘符的对应关系与用户配置的不一致。如下图所示虚拟机的scsi设备id与盘符不一致:

 在这种情况下,Oracle RAC中所使用的盘符对应的设备发生变化时,会对业务造成一定影响。

解决办法:

使用虚拟机scsi设备时需要指定scsi设备id,此解决方法主要适用于使用整个scsi磁盘,不在虚拟机内部对scsi磁盘进行分区的情况。

环境:Redhat 6.5 64位操作系统,举例:/etc/udev/rules.d/60-raw.rules配置文件。

ACTION=="add", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$name",
RESULT=="360022a11000e085d0de717f500000003", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$name",
RESULT=="360022a11000e085d0de7372c0000002e", RUN+="/bin/raw /dev/raw/raw2 %N"
KERNEL=="raw1", OWNER="grid", GROUP="oinstall", MODE="777"
KERNEL=="raw2", OWNER="grid", GROUP="oinstall", MODE="777"

我们可以通过/sbin/scsi_id -g -u -d /dev/$name,来获取配置中的RESULT。例如:

当你需要使用/dev/sda作为RAC设备,可以执行:
#/sbin/scsi_id -g -u -d /dev/sda
得到的结果是:
#360022a11000e085d0de717f500000003     \\配置中的RESULT

Redhat 6.5 64位操作系统,举例:/etc/udev/rules.d/60-raw.rules配置文件。

ACTION=="add", KERNEL=="sd*", PROGRAM=="/sbin/scsi_id -g -u -d  /dev/$name",
RESULT=="360022a11000be24a0004aeee0000000a", RUN+="/bin/raw /dev/raw/raw1 %N"
KERNEL=="raw1", OWNER="grid", GROUP="oinstall", MODE="777"

通过在PROGRAM中指定的/sbin/scsi_id -g -u -d  /dev/$name,来获取配置中的RESULT。例如:

如果需要使用/dev/sda作为RAC设备,可以执行:
#/sbin/scsi_id -g -u -d  /dev/sda
得到的结果是:
#360022a11000be24a0004aeee0000000a     \\配置中的RESULT

原因分析:

Oracle RAC在安装过程中配置scsi磁盘时,传统方式是指向具体的盘符,如下/etc/udev/rules.d/60-raw.rules配置文件的内容,其中KERNEL字段代表指向的具体盘符。

ACTION=="add",KERNEL=="sdb",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="sdd",RUN+="/bin/raw /dev/raw/raw3 %N"
KERNEL=="raw1", OWNER="grid", GROUP="oinstall", MODE="777"
KERNEL=="raw2", OWNER="grid", GROUP="oinstall", MODE="777"
KERNEL=="raw3", OWNER="grid", GROUP="oinstall", MODE="777"

物理设备映射中呈现给虚拟机的设备id与盘符(如sda\sdb)的对应关系在虚拟机重启后有可能发生变化,原因如下:

Linux生成sda、sdb、sdc的规则是由Linux内核决定的。Linux内核对于这种磁盘设备的映射基本上取决于三个顺序,一是磁盘驱动程序的加载;二是主机PCI插槽的监测;三是磁盘本身的监测,先来是sda,以此类推。

物理机在设备热插拔后重启,也会面临盘符的变化问题。比如启动前是sda,sdb,sdc,把sdb设备拔掉后重启,呈现的设备号是sda,sdb(原来的sdc)。

关于linux虚拟机的scsi设备id与盘符不一致问题的解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI