您好,登錄后才能下訂單哦!
這篇文章給大家介紹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與盤符不一致問題的解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。