




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Linux下多路徑multipath配置文檔和有關(guān)觀點Linux下多路徑multipath配置文檔和有關(guān)觀點12/12Linux下多路徑multipath配置文檔和有關(guān)觀點一、什么是multipath一般的電腦主機都是一個硬盤掛接到一個總線上,這里是一對一的關(guān)系。而到了有光纖組成的SAN環(huán)境,因為主機和儲存經(jīng)過了光纖互換機連結(jié),這樣的話,就構(gòu)成了多對多的關(guān)系。也就是說,主機到儲存能夠有多條路徑能夠選擇。主機到儲存之間的IO由多條路徑能夠選擇。既然,每個主機到所對應(yīng)的儲存能夠經(jīng)過幾條不一樣的路徑,假如是同時使用的話,I/O流量怎樣分派?此中一條路徑壞掉了,怎樣辦理?還有在操作系統(tǒng)的角度來看,每條
2、路徑,操作系統(tǒng)會認為是一個實質(zhì)存在的物理盤,但實質(zhì)上不過通向同一個物理盤的不一樣路徑而已,這樣是在使用的時候,就給用戶帶來了疑惑。多路徑軟件就是為認識決上邊的問題應(yīng)運而生的。多路徑的主要功能就是和儲存設(shè)施一同配合實現(xiàn)以下功能:故障的切換和恢復(fù)IO流量的負載平衡磁盤的虛構(gòu)化二、為何使用multipath因為多路徑軟件是需要和儲存在一同配合使用的,不一樣的廠商鑒于不一樣的操作系統(tǒng),都提供了不一樣的版本。而且有的廠商,軟件和硬件也不是一同賣的,假如要使用多路徑軟件的話,可能還需要向廠商購置license才行。比方EMC企業(yè)鑒于linux下的多路徑軟件,就需要獨自的購置license。此中,EMC供給
3、的就是PowerPath,HDS供給的就是HDLM,更多的儲存廠商供給的軟件,可參考這里。自然,使用系統(tǒng)自帶的免費多路徑軟件包,同時也是一個比較通用的包,能夠支持大多半儲存廠商的設(shè)施,即便是一些不是有名的廠商,經(jīng)過對配置文件進行稍作改正,也是能夠支持并運轉(zhuǎn)的很好的。請與IBM的RDAC、Qlogic的failover驅(qū)動劃分開,它們都僅供給了Failover的功能,不支持LoadBalance負載平衡方式。但multipath依據(jù)選擇的策略不一樣,可支持多種方式,如:Failover、Multipath等。Failover的功能解說:平常地說,即當(dāng)A無法為客戶服務(wù)時,系統(tǒng)能夠自動地切換,使B能
4、夠?qū)崟r地頂上持續(xù)為客戶供給服務(wù),且客戶感覺不到這個為他供給服務(wù)的對象已經(jīng)改換。這里的A和B能夠存在于各樣領(lǐng)域,但一般fail-over特指計算機領(lǐng)域的數(shù)據(jù)庫、應(yīng)用服務(wù)、硬件設(shè)施等的無效轉(zhuǎn)移。三、multipath的構(gòu)成我這里以紅帽x86_64為例,固然版本比較老,但下邊的配置方式基本合用后邊的所有版本。引用#cat/etc/redflag-releaseRedFlagDCServerrelease5.0(TrinitySP2)#uname-aLinuxlocalhost.localdomain2.6.18-164.el5#1SMPTueAug1815:51:48EDT2009x86_64x86
5、_64x86_64GNU/Linux#rpm-qa|grepdevice這些是需要安裝的安裝包,假如沒有安裝需要到安裝光盤中rpm-ivhdevice-mapper-*將以上這些包所有安裝chkconfig-list|grepmultipathmultipathd0:封閉1:封閉2:封閉3:封閉4:封閉5:封閉6:封閉#chkconfigmultipathdon可見,一套完好的multipath由下邊幾部分構(gòu)成:1.device-mapper-multipath供給multipathd和multipath等工具和multipath.conf等配置文件。這些工具經(jīng)過devicemapper的io
6、ctr的接口創(chuàng)立和配置multipath設(shè)施(調(diào)用device-mapper的用戶空間庫。創(chuàng)立的多路徑設(shè)施會在/dev/mapper中);2.device-mapperdevice-mapper包含兩大多半:內(nèi)核部分和用戶部分。內(nèi)核部分由device-mapper核心(multipath.ko)和一些targetdriver(dm-multipath.ko)構(gòu)成。dm-mod.ko是實現(xiàn)multipath的基礎(chǔ),dm-multipath實質(zhì)上是dm的一個target驅(qū)動。核心達成設(shè)施的映照,而target依據(jù)映照關(guān)系和自己特色詳細辦理從mappereddevice下來的i/o。同時,在核心部分
7、,供給了一個接口,用戶經(jīng)過ioctr可和內(nèi)核部分通訊,以指導(dǎo)內(nèi)核驅(qū)動的行為,比方怎樣創(chuàng)立mappereddevice,這些device的屬性等。用戶空間部分包含device-mapper這個包。此中包含dmsetup工具和一些幫助創(chuàng)立和配置mappereddevice的庫。這些庫主要抽象,封裝了與ioctr通訊的接口,以便方便創(chuàng)立和配置mappereddevice。device-mapper-multipath的程序中就需要調(diào)用這些庫;3.scsi_id其包含在udev程序包中,能夠在multipath.conf中配置該程序來獲取scsi設(shè)施的序號。通過序號,便能夠判斷多個路徑對應(yīng)了同一設(shè)施。
8、這個是多路徑實現(xiàn)的重點。scsi_id是經(jīng)過sg驅(qū)動,向設(shè)施發(fā)送EVPDpage80或page83的inquery命令來查問scsi設(shè)施的表記。但一些設(shè)施其實不支持EVPD的inquery命令,所以他們無法被用來生成multipath設(shè)施。但能夠改寫scsi_id,為不可以供給scsi設(shè)施表記的設(shè)施虛構(gòu)一個表記符,并輸出到標(biāo)準(zhǔn)輸出。multipath程序在創(chuàng)立multipath設(shè)施時,會調(diào)用scsi_id,從其標(biāo)準(zhǔn)輸出中獲取該設(shè)施的scsiid。在改寫時,需要改正scsi_id程序的返回值為0。因為在multipath程序中,會檢查該直來確立scsiid能否已經(jīng)成功獲取。四、配置multipa
9、th原理看了一堆,實質(zhì)配置仍是比較簡單的。配置文件只有一個:/etc/multipath.conf。配置前,請用fdisk-l確認已可正確辨別盤柜的所有LUN邏輯單元號,HDS支持多鏈路負載平衡,所以每條鏈路都是正常的;而假如是近似EMCCX300這樣僅支持負載平衡的設(shè)施,則冗余的鏈路會出現(xiàn)I/OError的錯誤。multipath.conf的配置參數(shù)、默認值,可參照:1、編寫黑名單默認狀況下,multipath會把所有設(shè)施都加入到黑名單(devnode*),也就是嚴(yán)禁使用。所以,我們第一需要撤消該設(shè)置,把配置文件改正為近似下邊的內(nèi)容:vim/etc/multipath.confdevnode
10、_blacklist#devnode*用#將此行說明掉devnodehdawwid3600508e000000000dc7200032e08af0b這里嚴(yán)禁使用hda,也就是光驅(qū)。此外,還限制使用當(dāng)?shù)氐膕da設(shè)施,這個wwid,可經(jīng)過下邊的命令獲取:scsi_id-g-u-s/block/sda3600508e000000000dc7200032e08af0b2、編寫默認規(guī)則不一樣的device-mapper-multipath或操作系統(tǒng)刊行版,其默認的規(guī)則都有點不一樣,以RedHatx86_64為例,其path_grouping_policy默認為failover無效轉(zhuǎn)移,也就是主備的方式。
11、這顯然不切合我們的要求。(HDS支持多路徑負載平衡,EMCCX300等只支持Failover)。所以,我們需要改正默認的規(guī)則:defaultsudev_dir/devpath_grouping_policymultibusfailbackimmediateno_path_retryfailuser_friendly_nameyes重點是path_grouping_policy一項,其余選項可參照說明文檔。3、啟動服務(wù)及生成映照modprobedm-multipathservicemultipathdrestartmultipath-v04、查察復(fù)合后的設(shè)施#multipath-ll會看到近似下
12、邊的信息:mpath0(360060e80058e980000008e9800000007)size=20GBfeatures=0hwhandler=0_round-robin0prio=1active_3:0:0:7sdaa65:160activeready_round-robin0prio=1enabled_4:0:0:7sdas66:192activeready_round-robin0prio=1enabled_5:0:0:7sdbk67:224activeready_round-robin0prio=1enabled_2:0:0:7sdi8:128activeready這說明,已由四
13、條鏈路sdaa/sdas/sdbk/sdi復(fù)合成一條鏈路,設(shè)施名為mpath0。狀態(tài)正常的話,把multipathd設(shè)置為自啟動:chkconfigmultipathdonmkdir/oradatamkfs.ext3/dev/mapper/mpath0mkfs.ext3/dev/mapper/mpath1#blkid/dev/mapper/mpath0生成該儲存設(shè)施的UUID#blkid/dev/mapper/mpath1#vim/etc/fstab(改正該配置文件并增添以下)UUID=47931c90-140b-45fe-9dfa-5a0f56810db3/oradataext3defaul
14、ts00保留退出#mount-a注意:要使用哪塊儲存設(shè)施就在fastab里面掛載就能夠了5、使用mpath設(shè)施用multipath生成映照后,會在/dev目錄下產(chǎn)生多個指向同一條鏈路的設(shè)施:/dev/mapper/mpathn/dev/mpath/mpathn/dev/dm-n但它們的根源是完好不一樣的:/dev/mapper/mpathn/dev/mpath/mpathn是multipath虛構(gòu)出來的多路徑設(shè)施,我們應(yīng)當(dāng)使用這個設(shè)施;是udev設(shè)施管理器創(chuàng)立的,實質(zhì)上就是指向下邊的dm-n設(shè)施,僅為了方便,不可以用來掛載;/dev/dm-n是軟件內(nèi)部自己使用的,不可以被軟件之外使用,不行掛載
15、。簡單來說,就是我們應(yīng)當(dāng)使用/dev/mapper/下的設(shè)施符。對該設(shè)施即可用fdisk進行分區(qū),或創(chuàng)立為pv。6、分區(qū)或創(chuàng)立lvm從前,我考慮到從系統(tǒng)iostat看到的都是dm-n的設(shè)施,所以向來都是直接對dm-n操作。但這會產(chǎn)生一個問題,就是無法分區(qū)。而對/dev/mapper/mpathn設(shè)施操作就沒有這問題。只需要注意,用fdisk分區(qū)并保留后,一定刷新multipath的映照表,以便其創(chuàng)立分區(qū)對應(yīng)的設(shè)施符,比如:#fdisk-l/dev/mapper/mpath0255heads,63sectors/track,26108cylindersUnits=cylindersof16065
16、*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/mapper/mpath0p1126108209712478+83Linux#multipath-F#刪除現(xiàn)有路徑兩個新的路徑就會被刪除#multipath-v0#格式化路徑#ll/dev/mapper/mpath0p1brw-rw1rootdisk253,25月707:40/dev/mapper/mpath0p1相同的,mpathn或其分區(qū)都可用來做pv使用:pvcreate/dev/mapper/mpath0p1vgcreatetest/dev/mapper/mpath0p1lvcr
17、eate-L1g-nlv1testlvdisplaymkfs.ext3/dev/test/lv1注意:依據(jù)網(wǎng)上的資料,有部分multipath版本存在與lvm兼容的問題。詳細表現(xiàn)是,使用device-mapper設(shè)施創(chuàng)立lvm達成,重啟后,固然lvm仍存在,但/dev/mapper下的設(shè)施丟掉。為了防備可能的不測,建議仍是改正一下lvm的配置文件/etc/lvm/lvm.conf,加入:types=device-mapper,17、其余最簡單的測試方法,是用dd往磁盤讀寫數(shù)據(jù),而后用iostat察看各通道的流量和狀態(tài),以判斷Failover無效轉(zhuǎn)移或負載平衡方式能否正常:ddif=/dev/z
18、eroof=/dev/mapper/mpath0iostat-k2此外,假如是在由多臺服務(wù)器建立集群環(huán)境中,為了讓每臺服務(wù)器識其余mpathn設(shè)施次序一致,需進行wwid的綁定工作,請參照后邊“自定義設(shè)施名稱”中的內(nèi)容。五、答疑1、為何黑名單中不直接使用devnodesda呢?因為按Linux對設(shè)施的編號,當(dāng)設(shè)施從sda到sdz時,后一個設(shè)施應(yīng)當(dāng)是sdaa。而multipath對黑名單的設(shè)置是以般配的方式進行的,也就是說,假如你設(shè)置為devnodesda,那么除了sda為,sdaa、sdab等的設(shè)施(通道)都會被加入到黑名單中,而嚴(yán)禁使用。自然,你也能夠參照配置文件中的款式,以正規(guī)表達式的形式
19、進行描繪:devnodesda$。但考慮到每次重啟后,udev分派的盤符可能都不一樣(沒有做udev綁定的狀況),所以,我感覺以wwid的方式辦理更靠譜。2、為儲存定制特定的策略在前面的配置中,我們已經(jīng)在/etc/mulitpah.conf中配置了多路徑的默認path_grouping_policy為multibus。但有時,同一臺機器上假如連結(jié)了一個以上的儲存時,可能默認規(guī)則其實不完好合用。這時,我們能夠給特定的儲存定制多路徑切合的策略。a、mulipath命令該命令供給了一個-p的參數(shù),能夠改正默認策略,參數(shù)有:-ppolicyforceallmapstospecifiedpolicy:f
20、ailover1pathperprioritygroupmultibusallpathsin1prioritygroupgroup_by_serial1prioritygroupperserialgroup_by_prio1prioritygroupperprioritylvlgroup_by_node_name1prioritygrouppertargetnode比如,履行:multipath-Fmultipath-pfailover-v0有以下結(jié)果:引用mpath18(360060e8010463ef004f2b79f00000006)size=320GBfeatures=0hwhandl
21、er=0_round-robin0prio=2active_5:0:0:6sdaf65:240activeready_4:0:0:6sdv65:80activeready_round-robin0enabled_2:0:0:6sdb8:16activeready_3:0:0:6sdl8:176activeready這說明,當(dāng)你對mpath18設(shè)施讀寫時,sdaf、sdv會處于active狀態(tài),都有數(shù)據(jù)流,但sdb、sdl構(gòu)成的鏈路是enabled,作為ready狀況。這為Failover(主備)狀況,僅當(dāng)sdaf、sdv構(gòu)成的鏈路出現(xiàn)問題時,才會切換到sdb、sdl的鏈路上。b、改正配置文件能
22、夠在配置文件中為指定的儲存定義策略。第一,能夠用multipath-v3-ll看看儲存的信息,比如,我這里的機器就同時連結(jié)了兩個不一樣的儲存:=pathinfosdaa(mask0 x5)=bus=1dev_t=65:160size=10487040vendor=HITACHIproduct=OPEN-Vrev=6006h:b:t:l=2:0:1:24tgt_node_name=0 x50060e80058e9800pathchecker=readsector0(internaldefault)state=2uid=360060e80058e980000008e9800000058(cache
23、)=pathinfosdaf(mask0 x5)=bus=1dev_t=65:240size=671088640vendor=HITACHIproduct=DF600Frev=0000h:b:t:l=3:0:0:6tgt_node_name=0 x50060e8010463ef1pathchecker=readsector0(internaldefault)state=2uid=360060e8010463ef004f2b79f00000006(cache)默認狀況下,multipath已經(jīng)支持大多半常有的儲存型號(可見),但不一樣的multipath版本可能都有些不一樣。這時,建議參照儲存的
24、官方文檔:devicesdevicevendorHITACHI/廠商名稱productOPEN-V/產(chǎn)品型號path_grouping_policygroup_by_prio/默認的路徑組策略getuid_callout/sbin/scsi_id-p0 x80-g-u-s/block/%n/獲取唯一設(shè)施號使用的默認程序path_checkerpath_selectorprio_calloutreadsector0/round-robin/sbin/mpath_prio_alua0/決定路徑狀態(tài)的方法選擇那條路徑進行下一個IO操作的方法/dev/%n/獲取有限級數(shù)值使用的默認程序failbackimmediatehardware_handler0/故障恢復(fù)的模式確認用來在路徑切換和IO錯誤時,履行特定的操作的模塊。no_path_retryqueue/在disablequeue從前系統(tǒng)試試使用失效路徑的次數(shù)的數(shù)值rr_min_io100/在目前的用戶組中,在切換到此外一條路徑從前的IO懇求的數(shù)量千萬不要寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何編寫楠木原木項目可行性研究報告方案可用于立項及銀行貸款+
- 2025年管線鋼項目申請報告
- 汽車專用零部件力學(xué)性能測試設(shè)備項目安全評估報告
- 中國顯示器超薄柔性玻璃行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 社區(qū)衛(wèi)生服務(wù)中心基礎(chǔ)設(shè)施建設(shè)項目可行性研究報告
- 學(xué)校體育場建設(shè)項目可行性研究報告1
- 收藏品鑒定項目可行性研究報告
- 空壓站升級改造可行性報告
- 大學(xué)生心理健康教育的
- 下列關(guān)于心理健康教育課程
- 數(shù)字化轉(zhuǎn)型背景下制造業(yè)產(chǎn)業(yè)鏈協(xié)同創(chuàng)新機制研究
- 第14課 光榮的少先隊 課件-2024-2025學(xué)年道德與法治一年級下冊統(tǒng)編版
- 2025年北京市海淀區(qū)高三二模-數(shù)學(xué)+答案
- 安全生產(chǎn)月活動查找身邊安全隱患人人講安全個個會應(yīng)急課件
- 湖南炎德·英才大聯(lián)考長郡中學(xué)2025屆模擬試卷(一)政治+答案
- 公司主體變更勞動合同補充協(xié)議7篇
- 早產(chǎn)兒經(jīng)口喂養(yǎng)臨床實踐專家共識(2025)解讀
- DB33T 1376-2024鄉(xiāng)鎮(zhèn)(街道)應(yīng)急消防管理站建設(shè)與運行規(guī)范
- 2025年華中科技大學(xué)職員招聘考試筆試試題(含答案)
- 無人機吊裝作業(yè)安全管理
- 工貿(mào)培訓(xùn)課件
評論
0/150
提交評論