本篇內(nèi)容主要講解“CentOS下多路徑大容量硬盤(pán)的掛載方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“CentOS下多路徑大容量硬盤(pán)的掛載方法”吧!
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)推出界首免費(fèi)做網(wǎng)站回饋大家。
一、應(yīng)用環(huán)境及需求刀片服務(wù)器通過(guò)光纖交換機(jī)連接HP存儲(chǔ),形成了一個(gè)2X2的鏈路。 操作系統(tǒng)為CentOS 6.4 64位 掛載的存儲(chǔ)容量為2.5T
基于此應(yīng)用環(huán)境,需要解決兩個(gè)問(wèn)題:
為保證鏈路的穩(wěn)定性及傳輸性能等,可以使用多路徑技術(shù); 掛載的存儲(chǔ)硬盤(pán)超過(guò)了2T,MBR分區(qū)格式不能支持,需要使用到GPT分區(qū)格式
因?yàn)镃entOS 6.4中已經(jīng)自帶了HP存儲(chǔ)的驅(qū)動(dòng),會(huì)自動(dòng)識(shí)別出掛載的存儲(chǔ)硬盤(pán),否則的話,需要先安裝存儲(chǔ)驅(qū)動(dòng)。
二、什么是多路徑
普通的電腦主機(jī)都是一個(gè)硬盤(pán)掛接到一個(gè)總線上,這里是一對(duì)一的關(guān)系。而到了有光纖組成的SAN環(huán)境,或者由iSCSI組成的IPSAN環(huán)境,由于主機(jī)和存儲(chǔ)通過(guò)了光纖交換機(jī)或者多塊網(wǎng)卡及IP來(lái)連接,這樣的話,就構(gòu)成了多對(duì)多的關(guān)系。也就是說(shuō),主機(jī)到存儲(chǔ)可以有多條路徑可以選擇。主機(jī)到存儲(chǔ)之間的IO由多條路徑可以選擇。每個(gè)主機(jī)到所對(duì)應(yīng)的存儲(chǔ)可以經(jīng)過(guò)幾條不同的路徑,如果是同時(shí)使用的話,I/O流量如何分配?其中一條路徑壞掉了,如何處理?還有在操作系統(tǒng)的角度來(lái)看,每條路徑,操作系統(tǒng)會(huì)認(rèn)為是一個(gè)實(shí)際存在的物理盤(pán),但實(shí)際上只是通向同一個(gè)物理盤(pán)的不同路徑而已,這樣是在使用的時(shí)候,就給用戶(hù)帶來(lái)了困惑。多路徑軟件就是為了解決上面的問(wèn)題應(yīng)運(yùn)而生的。
多路徑的主要功能就是和存儲(chǔ)設(shè)備一起配合實(shí)現(xiàn)如下功能:
1.故障的切換和恢復(fù)
2.IO流量的負(fù)載均衡
3.磁盤(pán)的虛擬化
由于多路徑軟件是需要和存儲(chǔ)在一起配合使用的,不同的廠商基于不同的操作系統(tǒng),都提供了不同的版本。并且有的廠商,軟件和硬件也不是一起賣(mài)的,如果要使用多路徑軟件的話,可能還需要向廠商購(gòu)買(mǎi)license才行。比如EMC公司基于linux下的多路徑軟件,就需要單獨(dú)的購(gòu)買(mǎi)license。好在,RedHat和Suse的2.6的內(nèi)核中都自帶了免費(fèi)的多路徑軟件包,并且可以免費(fèi)使用,同時(shí)也是一個(gè)比較通用的包,可以支持大多數(shù)存儲(chǔ)廠商的設(shè)備,即使是一些不是出名的廠商,通過(guò)對(duì)配置文件進(jìn)行稍作修改,也是可以支持并運(yùn)行的很好的。
比較直觀的感受是在Linux系統(tǒng)中執(zhí)行fdisk -l命令,會(huì)出現(xiàn)類(lèi)似/dev/sda1、/dev/sdb1、/dev/sdc1、/dev/sdd1的硬盤(pán)。因?yàn)榭偣灿兴姆N組合的路徑,Linux系統(tǒng)會(huì)將每跳鏈路都認(rèn)為是掛載了一塊硬盤(pán)。
三、Linux下multipath介紹
CentOS 6.4中,默認(rèn)已經(jīng)安裝了multipath:
[root@localhost ~]# rpm -qa|grep mapper device-mapper-multipath-0.4.9-64.el6.x86_64 device-mapper-event-libs-1.02.77-9.el6.x86_64 device-mapper-multipath-libs-0.4.9-64.el6.x86_64 device-mapper-persistent-data-0.1.4-1.el6.x86_64 device-mapper-libs-1.02.77-9.el6.x86_64 device-mapper-event-1.02.77-9.el6.x86_64 device-mapper-1.02.77-9.el6.x86_64
device-mapper-multipath:即multipath-tools。主要提供multipathd和multipath等工具和 multipath.conf等配置文件。這些工具通過(guò)device mapper的ioctr的接口創(chuàng)建和配置multipath設(shè)備(調(diào)用device-mapper的用戶(hù)空間庫(kù),創(chuàng)建的多路徑設(shè)備會(huì)在/dev /mapper中)。
device-mapper:主要包括兩大部分:內(nèi)核部分和用戶(hù)部分。
其中內(nèi)核部分主要由device mapper核心(dm.ko)和一些target driver(md-multipath.ko)。核心完成設(shè)備的映射,而target根據(jù)映射關(guān)系和自身特點(diǎn)具體處理從mappered device 下來(lái)的i/o。同時(shí),在核心部分,提供了一個(gè)接口,用戶(hù)通過(guò)ioctr可和內(nèi)核部分通信,以指導(dǎo)內(nèi)核驅(qū)動(dòng)的行為,比如如何創(chuàng)建mappered device,這些divece的屬性等。linux device mapper的用戶(hù)空間部分主要包括device-mapper這個(gè)包。其中包括dmsetup工具和一些幫助創(chuàng)建和配置mappered device的庫(kù)。這些庫(kù)主要抽象,封裝了與ioctr通信的接口,以便方便創(chuàng)建和配置mappered device。multipath-tool的程序中就需要調(diào)用這些庫(kù)。
dm-multipath.ko和dm.ko:dm.ko是device mapper驅(qū)動(dòng)。它是實(shí)現(xiàn)multipath的基礎(chǔ)。dm-multipath其實(shí)是dm的一個(gè)target驅(qū)動(dòng)。
scsi_id: 包含在udev程序包中,可以在multipath.conf中配置該程序來(lái)獲取scsi設(shè)備的序號(hào)。通過(guò)序號(hào),便可以判斷多個(gè)路徑對(duì)應(yīng)了同一設(shè)備。這個(gè)是多路徑實(shí)現(xiàn)的關(guān)鍵。scsi_id是通過(guò)sg驅(qū)動(dòng),向設(shè)備發(fā)送EVPD page80或page83 的inquery命令來(lái)查詢(xún)scsi設(shè)備的標(biāo)識(shí)。但一些設(shè)備并不支持EVPD 的inquery命令,所以他們無(wú)法被用來(lái)生成multipath設(shè)備。但可以改寫(xiě)scsi_id,為不能提供scsi設(shè)備標(biāo)識(shí)的設(shè)備虛擬一個(gè)標(biāo)識(shí)符,并輸出到標(biāo)準(zhǔn)輸出。multipath程序在創(chuàng)建multipath設(shè)備時(shí),會(huì)調(diào)用scsi_id,從其標(biāo)準(zhǔn)輸出中獲得該設(shè)備的scsi id。在改寫(xiě)時(shí),需要修改scsi_id程序的返回值為0。因?yàn)樵趍ultipath程序中,會(huì)檢查該直來(lái)確定scsi id是否已經(jīng)成功得到。
四、配置multipath
基本配置腳本如下:
[root@localhost ~]# cat /etc/multipath.conf defaults { polling_interval 30 failback immediate no_path_retry queue rr_min_io 100 path_checker tur user_friendly_names yes } # SVC device { vendor "IBM" product "2145" path_grouping_policy group_by_prio prio_callout "/sbin/mpath_prio_alua /dev/%n" }
multipath基本操作命令
# /etc/init.d/multipathd start #開(kāi)啟mulitipath服務(wù) # multipath -F #刪除現(xiàn)有路徑 # multipath -v2 #格式化路徑 # multipath -ll #查看多路徑
如果配置正確的話就會(huì)在/dev/mapper/目錄下多出mpathbp1等之類(lèi)的設(shè)備,用fdisk -l命令可以看到多路徑軟件創(chuàng)建的磁盤(pán),如:/dev/mapper/mpathbp1
五、格式化硬盤(pán)
執(zhí)行fdisk -l,可以看到存儲(chǔ)已經(jīng)識(shí)別成功,并且多路徑配置也正確。信息如下:
[root@localhost ~]# fdisk -l ...... Disk /dev/mapper/mpathb: 2684.4 GB, 2684354560000 bytes 255 heads, 63 sectors/track, 326354 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/mapper/mpathbp1 1 267350 2147483647+ ee GPT ......
通過(guò)上面的信息可以發(fā)現(xiàn)已經(jīng)是GPT的分區(qū)格式了,接下來(lái)就是需要對(duì)硬盤(pán)進(jìn)行格式化。如果不是,需要先執(zhí)行如下步驟:
1. 新建分區(qū)
[root@localhost ~]# pvcreate /dev/mapper/mpathb [root@localhost ~]# parted /dev/mapper/mpathb GNU Parted 2.1 Using /dev/mapper/mpathbp1 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel gpt #設(shè)置分區(qū)類(lèi)型為gpt (parted) mkpart extended 0% 100% #擴(kuò)展分區(qū),并使用整個(gè)硬盤(pán) (parted) quit #退出 Information: You may need to update /etc/fstab.
2. 格式化&掛載硬盤(pán)
[root@localhost ~]# mkfs.ext4 /dev/mapper/mpathbp1 [root@localhost ~]# mount /dev/mapper/mpathbp1 /test
掛載成功后,即可使用了。
3. 動(dòng)掛載分區(qū)
當(dāng)在系統(tǒng)里創(chuàng)建了一個(gè)新的分區(qū)后,因?yàn)閙ount掛載在重啟系統(tǒng)后會(huì)失效,所以需要將分區(qū)信息寫(xiě)到/etc/fstab文件中讓其永久掛載。
[root@localhost ~]# vi /etc/fstab /dev/mapper/mpathbp1 /test ext4 defaults 1 2
保存退出,重啟后/dev/mapper/mpathbp1 就會(huì)自動(dòng)掛載到/test 目錄下
到此,相信大家對(duì)“CentOS下多路徑大容量硬盤(pán)的掛載方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!