當使用ASMLIB 來管理ASM 磁盤時,設備的路徑信息是不會在gv$asm_disk視圖path列中顯示的,如果你使用的是ASMLIB Support Tools 2.1 或者更高(oracleasm-support-2.1*的rpm包)版本,可以通過root用戶運行’oracleasm querydisk -p’來獲得設備路徑信息:
# ls -l /dev/oracleasm/disks total 0 brw-rw---- 1 grid asmadmin 8, 5 May 2 12:00 DISK1
brw-rw---- 1 grid asmadmin 8, 6 May 2 12:00 DISK2
brw-rw---- 1 grid asmadmin 8, 7 May 2 12:00 DISK3 ... # oracleasm querydisk -p DISK1 Disk "DISK1" is a valid ASM disk
/dev/sda5: LABEL="DISK1" TYPE="oracleasm"
譯者注:譯者并不推薦使用asmlib來管理ASM的磁盤,asmlib的出現本質上是為了解決設備權限、設備擁有者信息的問題,還可以提供一個“永不變化”的設備名,但是linux原生的udev同樣可以做到這一點,而且做的更好,ASM INSTANCE使用ASMLIB提供的asm disk,增加了額外的層面,每次Linux Kernel更新,都需要替換新的ASMLIB包,ASMLIB的存在,還可能引入更多的bug。特別是,如果是在RHEL/OEL 5或以上版本,udev已非常成熟,你已經有充分的理由利用udev而放棄ASMLIB。
另外,通過下面的shell腳本也可以查看:
#!/bin/bash for asmlibdisk in `ls /dev/oracleasm/disks/*` do echo "ASMLIB disk name: $asmlibdisk" asmdisk=`kfed read $asmlibdisk | grep dskname | tr -s ' '| cut -f2 -d' '` echo "ASM disk name: $asmdisk" majorminor=`ls -l $asmlibdisk | tr -s ' ' | cut -f5,6 -d' '`
device=`ls -l /dev | tr -s ' ' | grep "$majorminor" | cut -f10 -d' '` echo "Device path: /dev/$device" done
上面腳本是要通過操作系統中ASM或GI的owner用戶執行,當然kfed二進制文件必須是已經可以使用并在相關的PATH環境變量中。運行以上命令不必使用root特權用戶。
如果一個ASMLIB 磁盤已經被刪除掉,那/dev/oracleasm/disks下就看不到相關的磁盤,可以通過下面的腳本來檢查設備是否和ASM有關系(曾經有關系)。
#!/bin/bash for device in `ls /dev/sd*` do asmdisk=`kfed read $device|grep ORCL|tr -s ' '|cut -f2 -d' '|cut -c1-4` if [ "$asmdisk" = "ORCL" ] then echo "Disk device $device may be an ASM disk" fi done
譯者注:其實使用asmlib方式管理磁盤,跟使用udev管理磁盤并沒有什么不同,asmlib方式管理的磁盤,也只是在磁盤頭的kfdhdb.driver.provstr位置記錄了它是asmlib管理的磁盤而已,格式為:ORCLDISK+[ASM disk name],如果不是asmlib管理的磁盤,kfdhdb.driver.provstr記錄的信息為ORCLDISK。
上面的腳本將掃描/dev下sd關鍵字打頭的設備,除了kfed要在PATH 路徑中之外,腳本還需要使用用超級用戶運行。當然,你也可以去掃描/dev/dm*, /dev/mapper下面的設備甚至/dev/下面所有的設備,但這可能并不高效。
近有一個問題是關于怎么樣不使用kfed來達到上面操作能實現的功能,下面給出的就是一種解決辦法:
#!/bin/bash for device in `ls /dev/sd*` do asmdisk=`od -c $device | head | grep 0000040 | tr -d ' ' | cut -c8-11` if [ "$asmdisk" = "ORCL" ] then echo "Disk device $device may be an ASM disk" fi done
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。