linux mknod命令與磁碟對應一例

2021-09-03 04:07:32 字數 2211 閱讀 6865

在linux下安裝oracle rac時,建asm磁碟組時有時會碰到兩個節點上儲存對映過來的磁碟碟符不一致,有時是物理路徑一致,但聚合後路徑不一致,有時甚至物理路徑也不一致,此時就需將兩個節點上的磁碟碟符修改為一致。

解決這個問題,首先要確認lun id與磁碟的對應關係,確認兩個節點磁碟的對應關係。找到儲存對映到主機的磁碟的lun id,並將兩台主機之間相同lun id的磁碟對應關係找到,通過linux的mknod命令進行修改設定,使其對應。

mknod命令用於建立乙個裝置檔案,即特殊檔案。我們首先要明白什麼是裝置檔案,簡單的說 作業系統與外部裝置(磁碟驅動器,印表機,終端 等等)都是通過裝置檔案來進行通訊 的,在unix/linux系統與外部裝置通訊之前,這個裝置必須首先要有乙個裝置檔案,裝置檔案均放在/dev目錄下。一般情況下在安裝系統的時候系統自動建立了很多已檢測到的裝置的裝置檔案,但有時候我們也需要自己手動建立,命令列生成裝置檔案的方式有 insf,mksf,mknod等等。

mknod命令的標準形式為:       mknod 

devname

major 

minor

引數解釋:

devname是要建立的裝置檔名,如果想將裝置檔案放在乙個特定的資料夾下,就需要先用mkdir在dev目錄下新建乙個目錄;

b和c 分別表示塊裝置和字元裝置:

b表示系統通過塊裝置檔案訪問乙個裝置的時候,先從記憶體中的buffer中讀或寫資料,而不是直接傳送資料到物理磁碟,這種方式能有效的提高磁碟和cd-roms的i/o效能。磁碟和cd-roms即可以使用字元裝置檔案也可使用塊裝置檔案。

c表示字元裝置檔案與裝置傳送資料的時候是以字元的形式傳送,一次傳送乙個字元,比如印表機、終端都是以字元的形式傳送資料;

major和minor分別表示主裝置號和次裝置號。為了管理裝置,系統為每個裝置分配乙個編號,乙個裝置號由主裝置號和次裝置號組成。主裝置號標示某一種類的裝置,次裝置號用來區分同一型別的裝置。linux作業系統中為裝置檔案編號分配了32位無符號整數,其中前12位是主裝置號,後20位為次裝置號,所以在向系統申請裝置檔案時主裝置號不好超過4095,次裝置號不好超過2^20 -1。

配置示例:

發現儲存對映到主機的磁碟的lun id

根據一一對應的wwn值,將相應wwn對應兩個節點的碟符設定成一致:

11.11.10.56

#mknod  /dev/rdisk/data5disk c 13 0x000013

#mknod  /dev/rdisk/data6disk c 13 0x000014

#mknod  /dev/rdisk/data7disk c 13 0x000015

#mknod  /dev/rdisk/data8disk c 13 0x000016

11.11.10.57

#mknod  /dev/rdisk/data5disk c 13 0x000025

#mknod  /dev/rdisk/data6disk c 13 0x000026

#mknod  /dev/rdisk/data7disk c 13 0x000027

#mknod  /dev/rdisk/data8disk c 13 0x000028

設定兩個節點對應碟符路徑的許可權:

#chown oracle:oinstall /dev/rdisk/data5disk

#chown oracle:oinstall /dev/rdisk/data6disk

#chown oracle:oinstall /dev/rdisk/data7disk

#chown oracle:oinstall /dev/rdisk/data8disk

以oracle使用者檢驗讀寫許可權

$dd if=/dev/zero f=/dev/rdisk/data5disk count=10 count=1024

在其中一節點上為asm磁碟組新增磁碟

export oracle_sid=+asm2

sqlplus / as sysdba

alter diskgroup datadg add disk '/dev/rdisk/data5disk';

alter diskgroup datadg add disk '/dev/rdisk/data6disk';

alter diskgroup datadg add disk '/dev/rdisk/data7disk';

alter diskgroup datadg add disk '/dev/rdisk/data8disk';

linux mknod命令使用

mknod 建立塊專用或字元專用檔案 mknod options namemajor minor mknod options namep mmode help version mknod 用指定名稱產生乙個fifo 命名管道 字元專用或塊專用檔案。檔案系統中的乙個專用檔案存貯著三種資訊 布朗型?整型...

linux mknod命令解析

個人覺得linux的軟體設計思想異常強大,比如把所有的裝置都當做檔案來處理,大大簡化了程式設計師的負擔,向提出這個思想的大神s致敬!先來看看linux系統中裝置管理的基本知識 我們的linux作業系統跟外部裝置 如磁碟 光碟等 的通訊都是通過裝置檔案進行的,應用程式可以開啟 關閉 讀寫這些裝置檔案,...

linux mknod命令解析

linux mknod命令解析 mknod make node 生成裝置節點 檔案 mknod option name type major minor description options 選項 create the special file name of the given type.man...