您好,登錄后才能下訂單哦!
前段時間接到深圳同事的反應,有個oracle集群中的一臺負載過高,為了排查問題,系統已經重啟了,但是系統重啟后,6塊仲裁盤丟失了。
為了查明原因,登入系統后,執行df -h,發現系統的/boot分區變成了mpathap1,進入/dev/mapper目錄,發現多了mpathap1-3 三個文件。初步判斷是由于系統自帶多路徑軟件導致,查看了初始的配置/etc/multipath.conf 其中并未添加屏蔽本地磁盤的設置。于是手動按文檔添加后,由于改變的是系統本地分區,所以需要重啟系統,發現重啟后,問題依舊;繼續嘗試了/etc/fstab的修改,將boot直接綁定到/dev/sda,結果系統重啟不正常,只能進單用戶修改。嘗試卸載multipath軟件后重啟,原以為系統會自動恢復到初始狀態,結果重啟后無法進入系統,需要單用戶模式進入,并重新安裝軟件。進入/dev/下查看是否有sda1-3發現系統并沒有此分區。最終確認系統重啟后系統已被多路徑軟件將分區篡改,而且不可逆,如果解決此問題只能重新安裝系統。所以配置多路徑前,一定要把本地磁盤給屏蔽掉。而且此問題的發生概率很小,因為之前也重啟過很多次,所以配置時千萬小心。
通過執行 multipath -ll 發現兩臺的wwid 對應的磁盤盤符是錯亂的,以后查看的時候看來確實需要仔細,這里耽誤了很長時間,因為有15個盤符,一個一個對確實挺費事。為了避免盤符錯亂,修改了/etc/multipath.conf ,為每個wwid對應了一個固定的盤符。
方法:
multipath {
wwid 36005076802810fb3000000000000007d
alias mpathf
}
然后執行
multipath -F 清除配置。
service multipathd restart 重啟服務。
multipath -v2 重新掃描。
multipath -ll
至此磁盤對應關系解決了,剩下的工作就是DBA的事情了。
附錄添加方法: 執行/lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/sda 查看對應的wwid
然后添加:
blacklist {
wwid 36234567890abcde01c6a312c0a867e33
}
這樣就把本地盤給屏蔽掉了,而不是直接放開默認注釋:
#blacklist {
# wwid 0x6234567890abcde01c6a312c0a867e33
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z]"
#}
這個屏蔽掉光驅等外置設備,如果直接屏蔽設備也可以寫成devnode "^sd[a-z]*"
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。