1. 程式人生 > >linux系統 重啟碟符錯亂問題

linux系統 重啟碟符錯亂問題

原文地址:

http://blog.itpub.net/21752515/viewspace-1063051/

linux磁碟重啟亂序問題處理

    最近到客戶那去巡檢時,客戶提到一個問題,他們的rac在重啟的時候,原來的sda1、sdb1、sdc1會對應變成sdd1、sde1、sdf1,由於他們使用的是碟符來繫結裸裝置,所以啟動後,經常要手動執行以下命令
[[email protected] ~]# raw /dev/raw/raw1 /dev/sda1 
[[email protected] ~]# raw /dev/raw/raw2 /dev/sdb1
[[email protected]

~]# raw /dev/raw/raw3 /dev/sdc1
並且,比較奇怪的事,兩邊有時認得的盤完全不一樣,一邊是sda\b\c,另一邊是sdd\e\f,這樣,使oracle rac的共享盤出現問題。

在瞭解了他們的情況後,我基本上明白是什麼原因,這種盤序錯亂,與linux對磁碟的掃描機制有關,所以我們只能從另一角度去規避這樣的問題,使用id號去繫結,這樣就沒有問題。在告訴他後,他同意我們對他原來的繫結方式進行修改,具體操作如下:

[[email protected] ~]# 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
另一個節點的情況是:
[[email protected] ~]# 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

分別在兩臺機子上執行如下命令:
[[email protected] ~] scsi_id -g -s /block/sda
360080e500017ff06000004054c47bd4a
[[email protected] ~] scsi_id -g -s /block/sdb
360080e500017fdd8000004c74c6344ef
[[email protected] ~] scsi_id -g -s /block/sdc
360080e500017ff060000044f4c63446e
[[email protected] ~] scsi_id -g -s /block/sdd
360080e500017ff06000004054c47bd4a
[[email protected] ~] scsi_id -g -s /block/sde
360080e500017fdd8000004c74c6344ef
[[email protected] ~] scsi_id -g -s /block/sdf
360080e500017ff060000044f4c63446e

能過對比,可以看到sda與sdd,sdb與sde,sdc與sdf是對應用的,所以我們啟用udev,通過繫結id來規避這個問題!

[[email protected] ~]# cd /etc/udev/rules.d/
[[email protected] 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
[[email protected] 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"
[[email protected] rules.d]# start_udev 
 Starting udev: [  OK  ]
[[email protected] rules.d]#
[[email protected] 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

同理,在另一臺機,也進行同樣的操作。

經過如上操作後,所有問題都解決了,不管怎麼重啟都不會有問題!


相關推薦

linux系統 錯亂問題

原文地址: http://blog.itpub.net/21752515/viewspace-1063051/ linux磁碟重啟亂序問題處理     最近到客戶那去巡檢時,客戶提到一個問題,他們的rac在重啟的時候,原來的sda1、sdb1、sdc1會對應變成sdd

用最簡單的方法解決:linux系統網路delaying initialization錯誤

錯誤的資訊: 在我們重啟網絡卡時如果報錯如下:   device "eth0" does not seem to be present, delaying initialization 1.說明    錯誤是由於找不到eth0網路裝置導致,在我們

教你不系統“更改系統引導分割槽”輕鬆搞定!

以下是引用片段:有朋友問我如何能在不重灌系統的情況下修改系統分割槽碟符呢(系統引導分割槽,即C盤)?他的XP雙系統的,有一次對分割槽表的操作導致第一分割槽C(啟動分割槽)的碟符在D盤的XP裡顯示成了H(最後一個碟符),用Windows的磁碟管理沒法改(提示不能修改啟動分割槽的

奪命雷公狗---linux NO:14 linux系統定向

大於 log 。。 cnblogs 指定 linux 追加 明顯 而且 我們為了測試系統重定向,我們先創建兩個文件,名字為 leigood leigood2 然後我們給leigood輸入內容,如下所示: leigood 這文件裏面很明顯就有14個字節了。

系統

-s span nor letter orm san float import pla shutdown -r now系統重啟

linux 關機命令

halt linu nbsp 取消 命令 linux 關機 power 關機 選項 shutdown命令 shutdown [選項] 時間 -c : 取消前一個關機命令 -h : 關機 -r : 重啟  halt 命令     poweroff命令      i

使用虛擬機克隆CentOS 6.9系統網卡報錯問題的解決

才有 讀懂它 成功 使用虛擬機克隆CentOS6.9系統重啟網卡報錯問題的解決1.錯誤信息Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization.

【樹莓派】RPi desktop系統或關機掛起問題:plymouth-reboot.service

rect red see hat 系統重啟 其他 www. pyse exc 在基於intel平臺安裝的RPi desktop關機或者重啟時,會存在掛起的問題,一直卡著不動。 頁面停留在:plymouth-reboot.service。 經過查詢,可能的解決辦法如下:

ovs2.7 在系統後,再次使用時提示數據庫無法連接的問題。

detail 使用 art logs 解決方法 操作 分享 bsp mage 問題現象如下,ovs開始安裝後,對ovs的操作是正常的,但是,現在系統重啟後,OVS的操作第一條命令就失敗,如下: 問題解決方法: 參考 http://blog.csdn.net/xyq5

Linux無限的幾種方法

linux 無限重啟 大家好,十月一假期過了一大半兒了,是不是感覺時間過得特別快?今天我給大家帶來一個好東西:讓Linux系統無限重啟的幾種方法適用系統:CentOS/RHEL(其他系統待嘗試)用戶身份:必須是root1.用sed命令直接修改源文件實現無限重啟[[email protected]

nginx mysql數據庫5.7 系統報錯

mysql 數據庫 系統重啟 前言生活生活奈若何???直接上幹貨!報錯如圖所示:InnoDB: To fix the problem and start mysqld:InnoDB: 1) If there is a permission problem in the file and mysql

linuxweblogic(關閉和啟動)

遠程文件 hup acl middle 16px target html sin 服務器 本文轉自:http://blog.sina.com.cn/s/blog_4b5bc011010110nq.html ssh遠程連接Linux服務器! 開啟weblogic:

系統後,藍鯨CMDB報404故障

ges pts -s ner ext scripts rate images roc 故障:CMDB無法打開 原因:使用host解析域名,域名服務器無法解析域名 cat /etc/resolv.conf # Generated by NetworkManager name

設置Django生產環境系統後的自動啟動項

系統默認 查看 usr cal 命令 after get chmod fig 前面,作者已經介紹了把Django部署到生產環境中的主要方法,現在我們來看一下如何設置項目開機啟動。 在把Django項目部署到生產環境中時,我們前面使用安裝包和源碼安裝了Nginx、uwsgi、

簡單的Linux多個tomcat服務的指令碼

在運維的過程中,我們經常會遇到一臺伺服器部署了多個Tomcat的情況。當重啟這些Tomcat的時候就會有大量的重複kill和startup的工作。所以我這裡將這些重複的工作寫成了一個指令碼。 1、指令碼如下圖所示 #!/bin/bash #獲取XXX專案程序ID tomcatpid=`p

Linux每次network啟動都失敗

問題描述: 剛開始學習hadoop,使用centOS7.0搭建叢集,以hdp-node-01為原件克隆了兩個副本hdp-node-02、hdp-node-03(mac地址都有重新生成),剛搭建完三個機器都是好的。但是關閉虛擬機器重啟之後,hdp-node-01機器出現了問題。使用ip

linux伺服器指令

一、Linux 的五個重啟命令   1、shutdown   2、poweroff   3、init   4、reboot   5、halt   二、五個重啟命令的具體說明   shutdown   reboot   在linux下一些常用的關機/重啟命令有shutdown、halt、reb

linuxjar包

1.  ps -ef |grep java ps:將某個程序顯示出來 -A  顯示所有程式。  -e  此引數的效果和指定"A"引數相同。 -f  顯示UID,PPIP,C與STIME欄位。  grep命令是查詢 中間的|是管道命令 是指ps命令與grep同時執行

Ubuntu系統後DNS配置丟失

方案1 通過/etc/network/interfaces配置 通過向/etc/network/interfaces介面配置檔案追加dns-nameserver和dns-search項來永久儲存配置,儲存完成後執行"sudo service networing restart"重啟網路來

系統後恢復OpenStack網路設定-tips

眼看著今天就要過去了,一個月就要過去了,馬上一年也就要過去了,可你又能怎樣? 昨天在焦慮,今天還在焦慮,明天將繼續焦慮,何時能停止? 既然無力掙扎,那就閉著眼睛過吧,時間最終會給我們答案,塵過塵,土歸土,看談一些就好,看空一些就好。 不管OpenStack是不是