通常情况下Linux虚拟机中,设备id都是映射c盘的c盘,所以设备id和c盘是相一致的。并且用户在查看Linux设备id的时侯却发觉Linux虚拟机中设备id与c盘不相符,这个时侯该如何办呢?
当用户挂载多个scsic盘时,重启Linux虚拟机后虚拟机内部c盘映射和用户配置的不一致。如图所示,用户配置的虚拟机scsi设备id与c盘对应关系。
当虚拟机重启之后,虚拟机的scsi设备id与c盘的对应关系与用户配置的不一致。如右图所示虚拟机的scsi设备id与c盘不一致:
在这些情况下,OracleRAC中所使用的c盘对应的设备发生变化时,会对业务导致一定影响。
解决办法:
使用虚拟机scsi设备时须要指定scsi设备id,此解决方式主要适用于使用整个scsic盘,不在虚拟机内部对scsic盘进行分区的情况。环境:RedHat6.564位操作系统,举例:/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”虚拟机redhat 上网,KERNEL==“sd*”,PROGRAM==“/sbin/scsi_id-g-u-d/dev/$name”,
RESULT==“360022a11000e085d0de7372c0000002e”linux手机软件,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\配置中的RESULTRedhat6.564位操作系统,举例:/etc/udev/rules.d/60-raw.rules配置文件。
ACTION==“add”,KERNEL==“sd*”,PROGRAM==“/sbin/scsi_id-g-u-s%p”,
RESULT==“360022a11000be24a0004aeee0000000a”,RUN+=“/bin/raw/dev/raw/raw1%N”
KERNEL==“raw1”,OWNER=“grid”,GROUP=“oinstall”,MODE=“777”
通过在PROGRAM手指定的/sbin/scsi_id-g-u-s%p,来获取配置中的RESULT。诸如:
假如须要使用/dev/sda作为RAC设备,可以执行:
#/sbin/scsi_id-g-u-s/block/sda
得到的结果是:
#360022a11000be24a0004aeee0000000a\配置中的RESULT
缘由剖析:
OracleRAC在安装过程中配置scsic盘时,传统方法是指向具体的c盘,如下/etc/udev/rules.d/60-raw.rules配置文件的内容,其中KERNEL数组代表指向的具体c盘。
ACTION==“add”,KERNEL==“sdb”手机linux操作系统,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”虚拟机redhat 上网,MODE=“777”
化学设备映射中呈现给虚拟机的设备id与c盘(如sdasdb)的对应关系在虚拟机重启后有可能发生变化,缘由如下:
Linux生成sda、sdb、sdc的规则是由Linux内核决定的。Linux内核对于这些c盘设备的映射基本上取决于三个次序,一是c盘驱动程序的加载;二是主机PCI插孔的检测;三是c盘本身的检测,先来是sda,以这种推。
化学机在设备热拔插后重启,也会面临盘符的变化问题。例如启动前是sda,sdb,sdc,把sdb设备拔除后重启,呈现的设备号是sda,sdb(原先的sdc)。
以上就是Linux虚拟机中设备id与c盘不相符的解决方式了,若果设备id与c盘不相符,虚拟机运行的过程中都会出现一些故障,所以要尽早排除这个问题。