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

当用户挂载多个scsi磁盘时,重启虚拟机后虚拟机内部磁盘映射和用户配置的不一致。如图所示,用户配置的虚拟机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与盘符不一致问题的解决推荐

相关文章:

你感兴趣的文章:

标签云: