linux系統 重啟磁碟機代號錯亂問題
linux磁碟重啟亂序問題處理
最近到客戶那去巡檢時,客戶提到一個問題,他們的rac在重啟的時候,原來的sda1、sdb1、sdc1會對應變成sdd1、sde1、sdf1,由於他們使用的是磁碟機代號來繫結裸裝置,所以啟動後,經常要手動執行以下命令
[root@ractest1 ~]# raw /dev/raw/raw1 /dev/sda1
[root@ractest1 ~]# raw /dev/raw/raw2 /dev/sdb1
[root@ractest1 ~]# raw /dev/raw/raw3 /dev/sdc1
並且,比較奇怪的事,兩邊有時認得的盤完全不一樣,一邊是sda\b\c,另一邊是sdd\e\f,這樣,使oracle rac的共享盤出現問題。
在瞭解了他們的情況後,我基本上明白是什麼原因,這種盤序錯亂,與linux對磁碟的掃描機制有關,所以我們只能從另一角度去規避這樣的問題,使用id號去繫結,這樣就沒有問題。在告訴他後,他同意我們對他原來的繫結方式進行修改,具體操作如下:
[root@ractest1 ~]# fdisk -l
Disk /dev/sdd: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 52216 419424988+ 83 Linux
Disk /dev/sde: 209 MB, 209715200 bytes
7 heads, 58 sectors/track, 1008 cylinders
Units = cylinders of 406 * 512 = 207872 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 1008 204595 83 Linux
Disk /dev/sdf: 209 MB, 209715200 bytes
7 heads, 58 sectors/track, 1008 cylinders
Units = cylinders of 406 * 512 = 207872 bytes
Device Boot Start End Blocks Id System
/dev/sdf1 1 1008 204595 83 Linux
可以看到,剛重啟的節點1是sdd/sde/sdf
另一個節點的情況是:
[root@ractest2 ~]# fdisk -l
Disk /dev/sda: 429.4 GB, 429496729600 bytes
255 heads, 63 sectors/track, 52216 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 52216 419424988+ 83 Linux
Disk /dev/sdb: 209 MB, 209715200 bytes
7 heads, 58 sectors/track, 1008 cylinders
Units = cylinders of 406 * 512 = 207872 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1008 204595 83 Linux
Disk /dev/sdc: 209 MB, 209715200 bytes
7 heads, 58 sectors/track, 1008 cylinders
Units = cylinders of 406 * 512 = 207872 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 1008 204595 83 Linux
分別在兩臺機子上執行如下命令:
[root@ractest2 ~] scsi_id -g -s /block/sda
360080e500017ff06000004054c47bd4a
[root@ractest2 ~] scsi_id -g -s /block/sdb
360080e500017fdd8000004c74c6344ef
[root@ractest2 ~] scsi_id -g -s /block/sdc
360080e500017ff060000044f4c63446e
[root@ractest1 ~] scsi_id -g -s /block/sdd
360080e500017ff06000004054c47bd4a
[root@ractest1 ~] scsi_id -g -s /block/sde
360080e500017fdd8000004c74c6344ef
[root@ractest1 ~] scsi_id -g -s /block/sdf
360080e500017ff060000044f4c63446e
能過對比,可以看到sda與sdd,sdb與sde,sdc與sdf是對應用的,所以我們啟用udev,透過繫結id來規避這個問題!
[root@ractest1 ~]# cd /etc/udev/rules.d/
[root@ractest1 rules.d]# ls -a
. 50-udev.rules 60-pcmcia.rules 61-uinput-wacom.rules 90-hal.rules
.. 51-hotplug.rules 60-raw.rules 85-pcscd_ccid.rules 95-pam-console.rules
05-udev-early.rules 60-libsane.rules 60-wacom.rules 90-alsa.rules 98-kexec.rules
40-multipath.rules 60-net.rules 61-uinput-stddev.rules 90-dm.rules bluetooth.rules
[root@ractest1 rules.d]# vi 60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
ACTION=="add", KERNEL=="sd*1", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e500017ff060000044f4c63446e", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sd*1", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e500017fdd8000004c74c6344ef", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sd*1", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="360080e500017ff06000004054c47bd4a", RUN+="/bin/raw /dev/raw/raw3 %N"
KERNEL=="raw[1-3]", OWNER="oracle", GROUP="dba", MODE="660"
[root@ractest1 rules.d]# start_udev
Starting udev: [ OK ]
[root@ractest1 rules.d]#
[root@ractest1 rules.d]# raw -qa
/dev/raw/raw1: bound to major 8, minor 81
/dev/raw/raw2: bound to major 8, minor 65
/dev/raw/raw3: bound to major 8, minor 49
同理,在另一臺機,也進行同樣的操作。
經過如上操作後,所有問題都解決了,不管怎麼重啟都不會有問題!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2137099/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux系統 重啟碟符錯亂問題Linux
- 系統磁碟機代號錯亂的解決方案(轉)
- win10更換磁碟機代號報引數錯誤怎麼辦_win10系統磁碟機代號改不了引數錯誤解決方法Win10
- Win10系統更新後多個磁碟機代號重複顯示如何解決Win10
- 升級win10系統後磁碟機代號重複顯示的解決方法Win10
- delphi 隱藏磁碟機代號
- win10加磁碟機代號方法 win10怎麼增加磁碟機代號Win10
- 安裝Windows10系統後磁碟分割槽不顯示磁碟機代號如何解決Windows
- win10系統u盤有兩個磁碟機代號怎麼處理_win10插入u盤有兩個磁碟機代號如何修復Win10
- Linux系統最近重啟時間、錯誤日誌Linux
- Win10專業版系統下如何顯示隱藏磁碟機代號Win10
- windows10系統怎麼刪除百度雲磁碟機代號Windows
- win10增加硬碟後修改光碟機磁碟機代號的方法_win10怎麼修改光碟機磁碟機代號Win10硬碟
- win10系統中C盤的磁碟機代號變x怎麼解決Win10
- Win10系統修改磁碟機代號沒有許可權的解決方法Win10
- WinNTSetup硬碟安裝出錯磁碟機代號錯亂的修復方法和步驟硬碟
- win10系統下檔案歷史記錄只顯示1個磁碟磁碟機代號如何解決Win10
- 將訪問的資料夾變為磁碟磁碟機代號(轉)
- win10隱藏指定磁碟機代號怎麼設定 win10電腦如何隱藏指定磁碟機代號Win10
- Linux 基礎教程 41-系統關機和重啟Linux
- Win10系統下百度雲管家磁碟機代號刪不掉如何解決Win10
- 重啟系統,網路有問題
- 如何在 Linux 系統查詢機器最近重啟時間Linux
- VM虛擬機器 linux系統新增磁碟虛擬機Linux
- Linux系統磁碟管理Linux
- Linux系統磁碟IOLinux
- linux系統重啟網路delaying initialization錯誤的解決方法Linux
- 解決windows中兩個相同磁碟機代號光碟機的辦法Windows
- win10系統d盤怎麼改成c_win10系統盤磁碟機代號d盤更改回c操作方法Win10
- Linux重啟和關機Linux
- linux系統開機啟動流程Linux
- 雲伺服器windows2003第二塊磁碟新增磁碟機代號伺服器Windows
- 如何快速檢視Linux系統重啟情況Linux
- win10行動硬碟無法顯示磁碟機代號怎麼恢復 win10無法顯示行動硬碟磁碟機代號解決方法Win10硬碟
- linux磁碟和檔案系統Linux
- Linux關機和重啟命令Linux
- Linux 系統開機啟動項清理Linux
- 虛擬機器下linux OS如何給系統新增磁碟虛擬機Linux