配置ASM磁碟-轉載

swq618發表於2016-04-20
配置ASM磁碟
    在Linux中,載入裝置時,因載入順序問題,共享磁碟在各節點的裝置名可能會不一致.
    為解決這個問題,保證各節點的裝置名一致,有兩種方法:
    <<1>>使用asmlib建立asm磁碟,將會在各分割槽上做asm磁碟標識,以保證裝置名稱的唯一性
    首先安裝ASM核心軟體包
    在oracle官方網站下載asm的軟體包安裝到各節點主機上.
    oracleasm-support-2.1.7-1.el5.x86_64.rpm
    oracleasmlib-2.0.4-1.el5.x86_64.rpm
    oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm
    可以從以下連結下載:
   
    然後建立ASM磁碟
    在一個節點執行以下命令
    # /etc/init.d/oracleasm enable
    # /etc/init.d/oracleasm configure
    # /etc/init.d/oracleasm createdisk DISK1 /dev/sdb5
    # /etc/init.d/oracleasm createdisk DISK2 /dev/sdb6
    # /etc/init.d/oracleasm createdisk DISK3 /dev/sdb7
    將在以下路徑/dev/oracleasm/disks/下產生ASM磁碟DISK1,DISK2,DISK3.
    在其它節點執行以下命令,掃描ASM磁碟.
    # /etc/init.d/oracleasm enable
    # /etc/init.d/oracleasm configure
    # /etc/init.d/oracleasm scandisks
    # /etc/init.d/oracleasm listdisks
    然後需要在每個節點上設定磁碟的訪問許可權,否則後面配置磁碟時無法發現磁碟.
    # chown grid:dba /dev/oracleasm/disks/DISK1
    # chown grid:dba /dev/oracleasm/disks/DISK2
    # chown grid:dba /dev/oracleasm/disks/DISK3
    由於系統重新啟動後,磁碟的owner會被修改為root,為保證重啟後保持磁碟owner不變,可以在/etc/udev/rule下新增一個rules檔案
    新增/etc/udev/rules.d/99-asmdisk-owner.rules檔案,新增以下內容
    NAME=="DISK1", WNER="grid" GROUP="dba", MODE="0660"
    當然,asmlib並不只是用於建立asm磁碟,還具有asm儲存管理功能,併為應用程式提供介面.
    <<2>>使用udev管理,將從磁碟獲得scsi_id,然後根據scsi_id載入成易讀的裝置名,保證裝置名的唯一性.
    如果使用虛擬機器,首先需在虛擬主機的配置檔案vmx檔案中設定下列引數,以起用
    disk.EnableUUID = "TRUE"
    如果虛擬主機有透過設定更改任何引數,這個引數會自動更改為FALSE,需要重設.
    啟動主機後確認udev是否已安裝
    # rpm -qa | grep udev
    udev-095-14.27.el5_7.1
    執行以下命令獲得scsi id資訊
    # /sbin/scsi_id -g -u -s /block/sdb         # rhel5使用, rhel6使用:# /sbin/scsi_id -g -u -d /dev/sdb
    36000c29fd07c14fdb1ca780130a5ad8e
    配置udev配置檔案,新增rules檔案(在目錄/etc/udev/rules.d/下)並授權.
    # cd /etc/udev/rules.d/
    # vi 99-x-asmdisk.rules
    新增以下引數,注意一個行為一條規則,並且逗號(,)與下一個關鍵詞之間有空格.
    KERNEL=="sd?5", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s /block/$parent", RESULT=="36000c29fd07c14fdb1ca780130a5ad8e", NAME="asmdisk1",
OWNER="grid", GROUP="dba", MODE="0660"
    KERNEL=="sd?6", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s /block/$parent", RESULT=="36000c29fd07c14fdb1ca780130a5ad8e", NAME="asmdisk2",
OWNER="oracle", GROUP="dba", MODE="0660"
    KERNEL=="sd?7", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s /block/$parent", RESULT=="36000c29fd07c14fdb1ca780130a5ad8e", NAME="asmdisk3",
OWNER="oracle", GROUP="dba", MODE="0660"
    KERNEL=="sd?5", BUS=="scsi", NAME=="asmdisk1", WNER="grid", GROUP="dba", MODE="0660"
    重新啟動udev或重啟節點.
    # start_udev
    驗證是否配置正常
    # ls -al /dev/asmdisk*
    後續建立磁碟組時可以將搜尋字串ASM_DISKSTRING引數指向‘/dev/asmdisk*'就可以了
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29674916/viewspace-2084930/,如需轉載,請註明出處,否則將追究法律責任。

相關文章