這篇文章給大家介紹linux虛擬機的scsi設備id與盤符不一致問題的解決方法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯企業(yè)建站,10余年網站建設經驗,專注于網站建設技術,精于網頁設計,有多年建站和網站代運營經驗,設計師為客戶打造網絡企業(yè)風格,提供周到的建站售前咨詢和貼心的售后服務。對于成都網站設計、成都做網站中不同領域進行深入了解和探索,創(chuàng)新互聯在網站建設中充分了解客戶行業(yè)的需求,以靈動的思維在網頁中充分展現,通過對客戶行業(yè)精準市場調研,為客戶提供的解決方案。
當用戶掛載多個scsi磁盤時,重啟虛擬機后虛擬機內部磁盤映射和用戶配置的不一致。如圖所示,用戶配置的虛擬機scsi設備id與盤符對應關系。
當虛擬機重啟以后,虛擬機的scsi設備id與盤符的對應關系與用戶配置的不一致。如下圖所示虛擬機的scsi設備id與盤符不一致:
在這種情況下,Oracle RAC中所使用的盤符對應的設備發(fā)生變化時,會對業(yè)務造成一定影響。
解決辦法:
使用虛擬機scsi設備時需要指定scsi設備id,此解決方法主要適用于使用整個scsi磁盤,不在虛擬機內部對scsi磁盤進行分區(qū)的情況。
環(huán)境: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設備,可以執(zhí)行:
#/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設備,可以執(zhí)行:
#/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)的對應關系在虛擬機重啟后有可能發(fā)生變化,原因如下:
Linux生成sda、sdb、sdc的規(guī)則是由Linux內核決定的。Linux內核對于這種磁盤設備的映射基本上取決于三個順序,一是磁盤驅動程序的加載;二是主機PCI插槽的監(jiān)測;三是磁盤本身的監(jiān)測,先來是sda,以此類推。
物理機在設備熱插拔后重啟,也會面臨盤符的變化問題。比如啟動前是sda,sdb,sdc,把sdb設備拔掉后重啟,呈現的設備號是sda,sdb(原來的sdc)。
關于linux虛擬機的scsi設備id與盤符不一致問題的解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文題目:linux虛擬機的scsi設備id與盤符不一致問題的解決方法
網頁地址:http://chinadenli.net/article10/joicgo.html
成都網站建設公司_創(chuàng)新互聯,為您提供企業(yè)建站、動態(tài)網站、商城網站、營銷型網站建設、電子商務、網站策劃
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯