在Linux平臺使用multipath固化磁碟裝置與LUN的對應關係

尛樣兒發表於2013-06-26

        在Linux平臺做Oracle RAC,經常會遇到兩個不同的節點的相同儲存裝置名對應不同的LUN,這對於Oracle RAC的安裝會帶來較大的困擾,這個問題可以透過儲存的多路徑軟體配置,Multipath,udev來解決,下面是一個例子,展示了使用Multipath解決這個問題。

        現在越來越多的儲存在Linux平臺都直接使用Multipath軟體作為自己的多路徑軟體,這樣安裝和部署都非常的方便。下面這個例子使用的是EMC的儲存,沒有安裝EMC的多路徑軟體,在安裝好Oracle Linux 6的作業系統之後,根據環境自動生成了Multipath配置檔案,並且該配置檔案生效,有效的避免了前面提到的問題,這裡做出記錄:
[root@oracle2 etc]# cat multipath.conf
# multipath.conf written by anaconda

defaults {
        user_friendly_names yes
}
blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^dcssblk[0-9]*"
        device {
                vendor "DGC"
                product "LUNZ"
        }
        device {
                vendor "IBM"
                product "S/390.*"
        }
        # don't count normal SATA devices as multipaths
        device {
                vendor  "ATA"
        }
        # don't count 3ware devices as multipaths
        device {
                vendor  "3ware"
        }
        device {
                vendor  "AMCC"
        }
        # nor highpoint devices
        device {
                vendor  "HPT"
        }
        wwid "366c416a105bce0001956f42f04d4e160"
        wwid "350060160bee0195c50060160bee0195c"
        wwid "20111102-00000002"
        wwid "20111102-00000002"
        wwid "350060160bee0195c50060160bee0195c"
        wwid "350060160bee0195c50060160bee0195c"
        wwid "350060160bee0195c50060160bee0195c"
        device {
                vendor Cisco
                product Virtual_CD_DVD
        }
        wwid "*"
}
blacklist_exceptions {
        wwid "36006016046f03200342f9967bbd8e211"
        wwid "36006016046f03200352f9967bbd8e211"
        wwid "36006016046f032006c060e70bbd8e211"
        wwid "36006016046f032006d060e70bbd8e211"
        wwid "36006016046f03200b84f3077bbd8e211"
        wwid "36006016046f032001af61c82bbd8e211"
        wwid "36006016046f0320040733292bbd8e211"
}
multipaths {
        multipath {
                uid 0
                gid 0
                wwid "36006016046f03200342f9967bbd8e211"
                mode 0600
        }
        multipath {
                uid 0
                gid 0
                wwid "36006016046f03200352f9967bbd8e211"
                mode 0600
        }
        multipath {
                uid 0
                gid 0
                wwid "36006016046f032006c060e70bbd8e211"
                mode 0600
        }
        multipath {
                uid 0
                gid 0
                wwid "36006016046f032006d060e70bbd8e211"
                mode 0600
        }
        multipath {
                uid 0
                gid 0
                wwid "36006016046f03200b84f3077bbd8e211"
                mode 0600
        }
        multipath {
                uid 0
                gid 0
                wwid "36006016046f032001af61c82bbd8e211"
                mode 0600
        }
        multipath {
                uid 0
                gid 0
                wwid "36006016046f0320040733292bbd8e211"
                mode 0600
        }
}

        上面的配置可以作為一個模板保留下來,透過對wwid號的修改可以很好的將系統磁碟裝置名稱和儲存LUN對應並固化下來。

        在multipath中還可以配置別名,例如:
              multipath {
                                 wwid 14f504e46494c4500556e533079542d644c46642d3047614a
                                 alias disk1
                              }
        這樣在/dev/mapper目錄下會生成對應儲存LUN 
wwid號的系統磁碟裝置名稱。

        完成multipath.conf檔案的配置之後,需要執行以下的命令確保multipathd服務能自動啟動:
#service multipathd restart
#chkconfig --level 345 multipathd on
#chkconfig --list | grep multipathd

        另外,使用Linux平臺的udev工具,預先繫結scsi_id命令收集的LUN ID,也可以達到Multipath軟體達到的效果。詳情可參考文章:
http://blog.csdn.net/hijk139/article/details/8979941

--end--

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

相關文章