系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux虛擬機(jī)的設(shè)備id與盤(pán)符不相符

Linux虛擬機(jī)的設(shè)備id與盤(pán)符不相符怎么辦?

時(shí)間:2015-07-21 15:49:42 作者:zhijie 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20150721/53419.html 手機(jī)查看 評(píng)論

  一般情況下Linux虛擬機(jī)中,設(shè)備id都是映射磁盤(pán)的盤(pán)符,所以設(shè)備id和盤(pán)符是相一致的。但是用戶在查看Linux設(shè)備id的時(shí)候卻發(fā)現(xiàn)Linux虛擬機(jī)中設(shè)備id與盤(pán)符不相符,這個(gè)時(shí)候該怎么辦呢?

  當(dāng)用戶掛載多個(gè)scsi磁盤(pán)時(shí),重啟Linux虛擬機(jī)后虛擬機(jī)內(nèi)部磁盤(pán)映射和用戶配置的不一致。如圖所示,用戶配置的虛擬機(jī)scsi設(shè)備id與盤(pán)符對(duì)應(yīng)關(guān)系。

Linux虛擬機(jī)的設(shè)備id與盤(pán)符不相符怎么辦?

  當(dāng)虛擬機(jī)重啟以后,虛擬機(jī)的scsi設(shè)備id與盤(pán)符的對(duì)應(yīng)關(guān)系與用戶配置的不一致。如下圖所示虛擬機(jī)的scsi設(shè)備id與盤(pán)符不一致:

Linux虛擬機(jī)的設(shè)備id與盤(pán)符不相符怎么辦?

  在這種情況下,Oracle RAC中所使用的盤(pán)符對(duì)應(yīng)的設(shè)備發(fā)生變化時(shí),會(huì)對(duì)業(yè)務(wù)造成一定影響。

  解決辦法:

  使用虛擬機(jī)scsi設(shè)備時(shí)需要指定scsi設(shè)備id,此解決方法主要適用于使用整個(gè)scsi磁盤(pán),不在虛擬機(jī)內(nèi)部對(duì)scsi磁盤(pán)進(jìn)行分區(qū)的情況。環(huán)境:RedHat 6.5 64位操作系統(tǒng),舉例:/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”

  我們可以通過(guò)/sbin/scsi_id -g -u -d /dev/$name,來(lái)獲取配置中的RESULT。例如:

  當(dāng)你需要使用/dev/sda作為RAC設(shè)備,可以執(zhí)行:

  #/sbin/scsi_id -g -u -d /dev/sda

  得到的結(jié)果是:

  #360022a11000e085d0de717f500000003 \\配置中的RESULTRedhat 6.5 64位操作系統(tǒng),舉例:/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”

  通過(guò)在PROGRAM中指定的/sbin/scsi_id -g -u -s %p,來(lái)獲取配置中的RESULT。例如:

  如果需要使用/dev/sda作為RAC設(shè)備,可以執(zhí)行:

  #/sbin/scsi_id -g -u -s /block/sda

  得到的結(jié)果是:

  #360022a11000be24a0004aeee0000000a \\配置中的RESULT

  原因分析:

  Oracle RAC在安裝過(guò)程中配置scsi磁盤(pán)時(shí),傳統(tǒng)方式是指向具體的盤(pán)符,如下/etc/udev/rules.d/60-raw.rules配置文件的內(nèi)容,其中KERNEL字段代表指向的具體盤(pán)符。

  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”

  物理設(shè)備映射中呈現(xiàn)給虛擬機(jī)的設(shè)備id與盤(pán)符(如sda\sdb)的對(duì)應(yīng)關(guān)系在虛擬機(jī)重啟后有可能發(fā)生變化,原因如下:

  Linux生成sda、sdb、sdc的規(guī)則是由Linux內(nèi)核決定的。Linux內(nèi)核對(duì)于這種磁盤(pán)設(shè)備的映射基本上取決于三個(gè)順序,一是磁盤(pán)驅(qū)動(dòng)程序的加載;二是主機(jī)PCI插槽的監(jiān)測(cè);三是磁盤(pán)本身的監(jiān)測(cè),先來(lái)是sda,以此類(lèi)推。

  物理機(jī)在設(shè)備熱插拔后重啟,也會(huì)面臨盤(pán)符的變化問(wèn)題。比如啟動(dòng)前是sda,sdb,sdc,把sdb設(shè)備拔掉后重啟,呈現(xiàn)的設(shè)備號(hào)是sda,sdb(原來(lái)的sdc)。

  以上就是Linux虛擬機(jī)中設(shè)備id與盤(pán)符不相符的解決方法了,如果設(shè)備id與盤(pán)符不相符,虛擬機(jī)運(yùn)行的過(guò)程中就會(huì)出現(xiàn)一些故障,所以要盡快排除這個(gè)問(wèn)題。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門(mén)教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄