您好,登錄后才能下訂單哦!
本篇內容主要講解“CentOS下多路徑大容量硬盤的掛載方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“CentOS下多路徑大容量硬盤的掛載方法”吧!
一、應用環境及需求 刀片服務器通過光纖交換機連接HP存儲,形成了一個2X2的鏈路。 操作系統為CentOS 6.4 64位 掛載的存儲容量為2.5T
基于此應用環境,需要解決兩個問題:
為保證鏈路的穩定性及傳輸性能等,可以使用多路徑技術; 掛載的存儲硬盤超過了2T,MBR分區格式不能支持,需要使用到GPT分區格式
因為CentOS 6.4中已經自帶了HP存儲的驅動,會自動識別出掛載的存儲硬盤,否則的話,需要先安裝存儲驅動。
二、什么是多路徑
普通的電腦主機都是一個硬盤掛接到一個總線上,這里是一對一的關系。而到了有光纖組成的SAN環境,或者由iSCSI組成的IPSAN環境,由于主機和存儲通過了光纖交換機或者多塊網卡及IP來連接,這樣的話,就構成了多對多的關系。也就是說,主機到存儲可以有多條路徑可以選擇。主機到存儲之間的IO由多條路徑可以選擇。每個主機到所對應的存儲可以經過幾條不同的路徑,如果是同時使用的話,I/O流量如何分配?其中一條路徑壞掉了,如何處理?還有在操作系統的角度來看,每條路徑,操作系統會認為是一個實際存在的物理盤,但實際上只是通向同一個物理盤的不同路徑而已,這樣是在使用的時候,就給用戶帶來了困惑。多路徑軟件就是為了解決上面的問題應運而生的。
多路徑的主要功能就是和存儲設備一起配合實現如下功能:
1.故障的切換和恢復
2.IO流量的負載均衡
3.磁盤的虛擬化
由于多路徑軟件是需要和存儲在一起配合使用的,不同的廠商基于不同的操作系統,都提供了不同的版本。并且有的廠商,軟件和硬件也不是一起賣的,如果要使用多路徑軟件的話,可能還需要向廠商購買license才行。比如EMC公司基于linux下的多路徑軟件,就需要單獨的購買license。好在,RedHat和Suse的2.6的內核中都自帶了免費的多路徑軟件包,并且可以免費使用,同時也是一個比較通用的包,可以支持大多數存儲廠商的設備,即使是一些不是出名的廠商,通過對配置文件進行稍作修改,也是可以支持并運行的很好的。
比較直觀的感受是在Linux系統中執行fdisk -l命令,會出現類似/dev/sda1、/dev/sdb1、/dev/sdc1、/dev/sdd1的硬盤。因為總共有四種組合的路徑,Linux系統會將每跳鏈路都認為是掛載了一塊硬盤。
三、Linux下multipath介紹
CentOS 6.4中,默認已經安裝了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等配置文件。這些工具通過device mapper的ioctr的接口創建和配置multipath設備(調用device-mapper的用戶空間庫,創建的多路徑設備會在/dev /mapper中)。
device-mapper:主要包括兩大部分:內核部分和用戶部分。
其中內核部分主要由device mapper核心(dm.ko)和一些target driver(md-multipath.ko)。核心完成設備的映射,而target根據映射關系和自身特點具體處理從mappered device 下來的i/o。同時,在核心部分,提供了一個接口,用戶通過ioctr可和內核部分通信,以指導內核驅動的行為,比如如何創建mappered device,這些divece的屬性等。linux device mapper的用戶空間部分主要包括device-mapper這個包。其中包括dmsetup工具和一些幫助創建和配置mappered device的庫。這些庫主要抽象,封裝了與ioctr通信的接口,以便方便創建和配置mappered device。multipath-tool的程序中就需要調用這些庫。
dm-multipath.ko和dm.ko:dm.ko是device mapper驅動。它是實現multipath的基礎。dm-multipath其實是dm的一個target驅動。
scsi_id: 包含在udev程序包中,可以在multipath.conf中配置該程序來獲取scsi設備的序號。通過序號,便可以判斷多個路徑對應了同一設備。這個是多路徑實現的關鍵。scsi_id是通過sg驅動,向設備發送EVPD page80或page83 的inquery命令來查詢scsi設備的標識。但一些設備并不支持EVPD 的inquery命令,所以他們無法被用來生成multipath設備。但可以改寫scsi_id,為不能提供scsi設備標識的設備虛擬一個標識符,并輸出到標準輸出。multipath程序在創建multipath設備時,會調用scsi_id,從其標準輸出中獲得該設備的scsi id。在改寫時,需要修改scsi_id程序的返回值為0。因為在multipath程序中,會檢查該直來確定scsi id是否已經成功得到。
四、配置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 #開啟mulitipath服務 # multipath -F #刪除現有路徑 # multipath -v2 #格式化路徑 # multipath -ll #查看多路徑
如果配置正確的話就會在/dev/mapper/目錄下多出mpathbp1等之類的設備,用fdisk -l命令可以看到多路徑軟件創建的磁盤,如:/dev/mapper/mpathbp1
五、格式化硬盤
執行fdisk -l,可以看到存儲已經識別成功,并且多路徑配置也正確。信息如下:
[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 ......
通過上面的信息可以發現已經是GPT的分區格式了,接下來就是需要對硬盤進行格式化。如果不是,需要先執行如下步驟:
1. 新建分區
[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 #設置分區類型為gpt (parted) mkpart extended 0% 100% #擴展分區,并使用整個硬盤 (parted) quit #退出 Information: You may need to update /etc/fstab.
2. 格式化&掛載硬盤
[root@localhost ~]# mkfs.ext4 /dev/mapper/mpathbp1 [root@localhost ~]# mount /dev/mapper/mpathbp1 /test
掛載成功后,即可使用了。
3. 動掛載分區
當在系統里創建了一個新的分區后,因為mount掛載在重啟系統后會失效,所以需要將分區信息寫到/etc/fstab文件中讓其永久掛載。
[root@localhost ~]# vi /etc/fstab /dev/mapper/mpathbp1 /test ext4 defaults 1 2
保存退出,重啟后/dev/mapper/mpathbp1 就會自動掛載到/test 目錄下
到此,相信大家對“CentOS下多路徑大容量硬盤的掛載方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。