存儲multipath
❶ multipath 查看設備來自於哪個存儲
從multipath命令來看,已經認到多路徑的盤了。 設備名為 mpath6, ls -l /dev/mapper/*可以看到你的設備。 而且mpath6總共有四條路徑 sdksdysddsdr其中sdk和sdy這兩條路是激活狀態的。 fdisk -l命令能列出操作系統能認到的LUN/dev/dm-5 就是你存
❷ linux 多路徑存儲是怎麼回事
Linux下HDS存儲多路徑查看
在Redhat下確定需要劃分的存儲空間。在本例中需要進行劃分的空間是從HDS AMS2000上劃分到伺服器的多路徑存儲空間。其中sddlmad為ycdb1上需要進行劃分的空間,sddlmah為ycdb2上需要進行劃分的空間。具體如下:
查看環境
# rpm -qa|grep device-mapper
device-mapper-event-1.02.32-1.el5
device-mapper-multipath-0.4.7-30.el5
device-mapper-1.02.32-1.el5
# rpm -qa|grep lvm2 lvm2-2.02.46-8.el5
查看空間
#fdisk -l
Disk /dev/sddlmad: 184.2 GB, 184236900352 bytes 255 heads, 63 sectors/track, 22398 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sddlmah: 184.2 GB, 184236900352 bytes
255 heads, 63 sectors/track, 22398 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
查看存儲
#cd /opt/DynamicLinkManager/bin/
#./dlnkmgr view -lu
Proct : AMS
SerialNumber : 83041424 LUs : 8
iLU HDevName Device PathID Status
0000 sddlmaa /dev/sdb 000000 Online
/dev/sdj 000008 Online
/dev/sdr 000016 Online
/dev/sdz 000017 Online
0001 sddlmab /dev/sdc 000001 Online
/dev/sdk 000009 Online
/dev/sds 000018 Online
/dev/sdaa 000019 Online
0002 sddlmac /dev/sdd 000002 Online
/dev/sdl 000010 Online
/dev/sdt 000020 Online
/dev/sdab 000021 Online
0003 sddlmad /dev/sde 000003 Online
/dev/sdm 000011 Online
/dev/s 000022 Online
/dev/sdac 000023 Online
0004 sddlmae /dev/sdf 000004 Online
/dev/sdn 000012 Online
/dev/sdv 000024 Online
/dev/sdad 000025 Online
0005 sddlmaf /dev/sdg 000005 Online
/dev/sdo 000013 Online
/dev/sdw 000026 Online
/dev/sdae 000027 Online
0006 sddlmag /dev/sdh 000006 Online
/dev/sdp 000014 Online
/dev/sdx 000028 Online
/dev/sdaf 000029 Online
0007 sddlmah /dev/sdi 000007 Online
/dev/sdq 000015 Online
/dev/sdy 000030 Online
/dev/sdag 000031 Online
##############################################################
4. lvm.conf的修改
為了能夠正確的使用LVM,需要修改其過濾器:
#cd /etc/lvm #vi lvm.conf
# By default we accept every block device
# filter = [ "a/.*/" ]
filter = [ "a|sddlm[a-p][a-p]|.*|","r|dev/sd|" ]
例:
[root@bsrunbak etc]# ls -l lvm*
[root@bsrunbak etc]# cd lvm
[root@bsrunbak lvm]# ls
archive backup cache lvm.conf
[root@bsrunbak lvm]# more lvm.conf
[root@bsrunbak lvm]# pvs
Last login: Fri Jul 10 11:17:21 2015 from 172.17.99.198
[root@bsrunserver1 ~]#
[root@bsrunserver1 ~]#
[root@bsrunserver1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 30G 8.8G 20G 32% /
tmpfs 95G 606M 94G 1% /dev/shm
/dev/sda2 194M 33M 151M 18% /boot
/dev/sda1 200M 260K 200M 1% /boot/efi
/dev/mapper/datavg-oraclelv
50G 31G 17G 65% /oracle
172.16.110.25:/Tbackup
690G 553G 102G 85% /Tbackup
/dev/mapper/tmpvg-oradatalv
345G 254G 74G 78% /oradata
/dev/mapper/datavg-lvodc
5.0G 665M 4.1G 14% /odc
[root@bsrunserver1 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 datavg lvm2 a-- 208.06g 153.06g
/dev/sddlmba tmpvg lvm2 a-- 200.00g 49.99g
/dev/sddlmbb tmpvg lvm2 a-- 200.00g 0
[root@bsrunserver1 ~]# cd /etc/lvm
[root@bsrunserver1 lvm]# more lvm.conf
# Don't have more than one filter line active at once: only one gets
used.
# Run vgscan after you change this parameter to ensure that
# the cache file gets regenerated (see below).
# If it doesn't do what you expect, check the output of 'vgscan -vvvv'.
# By default we accept every block device:
# filter = [ "a/.*/" ]
# Exclude the cdrom drive
# filter = [ "r|/dev/cdrom|" ]
# When testing I like to work with just loopback devices:
# filter = [ "a/loop/", "r/.*/" ]
# Or maybe all loops and ide drives except hdc:
# filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
# Use anchors if you want to be really specific
# filter = [ "a|^/dev/hda8$|", "r/.*/" ]
filter = [ "a|/dev/sddlm.*|", "a|^/dev/sda5$|", "r|.*|" ]
[root@bsrunserver1 lvm]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda4 30963708 9178396 20212448 32% /
tmpfs 99105596 620228 98485368 1% /dev/shm
/dev/sda2 198337 33546 154551 18% /boot
/dev/sda1 204580 260 204320 1% /boot/efi
/dev/mapper/datavg-oraclelv
51606140 31486984 17497716 65% /oracle
172.16.110.25:/Tbackup
722486368 579049760 106736448 85% /Tbackup
/dev/mapper/tmpvg-oradatalv
361243236 266027580 76865576 78% /oradata
/dev/mapper/datavg-lvodc
5160576 680684 4217748 14% /odc
[root@bsrunserver1 lvm]#
You have new mail in /var/spool/mail/root
[root@bsrunserver1 lvm]#
[root@bsrunserver1 lvm]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 datavg lvm2 a-- 208.06g 153.06g
/dev/sddlmba tmpvg lvm2 a-- 200.00g 49.99g
/dev/sddlmbb tmpvg lvm2 a-- 200.00g 0
[root@bsrunserver1 lvm]#
進入文件:
[root@bsrunbak lvm]# cd /opt/D*/bin
or
[root@bsrunbak bin]# pwd
/opt/DynamicLinkManager/bin
顯示HDS存儲卷:
[root@bsrunbak lvm]# ./dlnkmgr view -lu
❸ emc存儲multipath問題求助
LINUX下多路徑(multi-path)介紹及使用
一、什麼是多路徑
普通的電腦主機都是一個硬碟掛接到一個匯流排上,這里是一對一的關系。而到了有光纖組成的SAN環境,或者由iSCSI組成的IPSAN環境,由於主機和存儲通過了光纖交換機或者多塊網卡及IP來連接,這樣的話,就構成了多對多的關系。也就是說,主機到存儲可以有多條路徑可以選擇。主機到存儲之間的IO由多條路徑可以選擇。每個主機到所對應的存儲可以經過幾條不同的路徑,如果是同時使用的話,I/O流量如何分配?其中一條路徑壞掉了,如何處理?還有在操作系統的角度來看,每條路徑,操作系統會認為是一個實際存在的物理盤,但實際上只是通向同一個物理盤的不同路徑而已,這樣是在使用的時候,就給用戶帶來了困惑。多路徑軟體就是為了解決上面的問題應運而生的。
多路徑的主要功能就是和存儲設備一起配合實現如下功能:
1.故障的切換和恢復
2.IO流量的負載均衡
3.磁碟的虛擬化
由於多路徑軟體是需要和存儲在一起配合使用的,不同的廠商基於不同的操作系統,都提供了不同的版本。並且有的廠商,軟體和硬體也不是一起賣的,如果要使用多路徑軟體的話,可能還需要向廠商購買license才行。比如EMC公司基於linux下的多路徑軟體,就需要單獨的購買license。好在, RedHat和Suse的2.6的內核中都自帶了免費的多路徑軟體包,並且可以免費使用,同時也是一個比較通用的包,可以支持大多數存儲廠商的設備,即使是一些不是出名的廠商,通過對配置文件進行稍作修改,也是可以支持並運行的很好的。
二、Linux下multipath介紹,需要以下工具包:
在CentOS 5中,最小安裝系統時multipath已經被安裝,查看multipath是否安裝如下:
1、device-mapper-multipath:即multipath-tools。主要提供multipathd和multipath等工具和 multipath.conf等配置文件。這些工具通過device mapper的ioctr的介面創建和配置multipath設備(調用device-mapper的用戶空間庫。創建的多路徑設備會在/dev /mapper中)。
2、 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的程序中就需要調用這些庫。
3、dm-multipath.ko和dm.ko:dm.ko是device mapper驅動。它是實現multipath的基礎。dm-multipath其實是dm的一個target驅動。
4、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在CentOS 5中的基本配置過程:
1、安裝和載入多路徑軟體包
# yum –y install device-mapper device-mapper-multipath
# chkconfig –level 2345 multipathd on #設置成開機自啟動multipathd
# lsmod |grep dm_multipath #來檢查安裝是否正常
如果模塊沒有載入成功請使用下列命初始化DM,或重啟系統
---Use the following commands to initialize and start DM for the first time:
# modprobe dm-multipath
# modprobe dm-round-robin
# service multipathd start
# multipath –v2
2、配置multipath:
Multipath的配置文件是/etc/multipath.conf , 如需要multipath正常工作只需要如下配置即可:(如果需要更加詳細的配置,請看本文後續的介紹)
blacklist {
devnode "^sda"
}
defaults {
user_friendly_names yes
path_grouping_policy multibus
failback immediate
no_path_retry fail
}
# vi /etc/multipath.conf3、multipath基本操作命令
# /etc/init.d/multipathd start #開啟mulitipath服務
# multipath -F #刪除現有路徑
# multipath -v2 #格式化路徑
# multipath -ll #查看多路徑
如果配置正確的話就會在/dev/mapper/目錄下多出mpath0、mpath1等之類設備。
用fdisk -l命令可以看到多路徑軟體創建的磁碟,如下圖中的/dev/dm-[0-3]4、multipath磁碟的基本操作
要對多路徑軟體生成的磁碟進行操作直接操作/dev/mapper/目錄下的磁碟就行.
在對多路徑軟體生成的磁碟進行分區之前最好運行一下pvcreate命令:
# pvcreate /dev/mapper/mpath0
# fdisk /dev/mapper/mpath0
用fdisk對多路徑軟體生成的磁碟進行分區保存時會有一個報錯,此報錯不用理會。
fdisk對多路徑軟體生成的磁碟進行分區之後,所生成的磁碟分區並沒有馬上添加到/dev/目錄下,此時我們要重啟IPSAN或者FCSAN的驅動,如果是用iscsi-initiator來連接IPSAN的重啟ISCSI服務就可以發現所生成的磁碟分區了
# service iscsi restart
# ls -l /dev/mapper/
如上圖中的mpath0p1和mpath1p1就是我們對multipath磁碟進行的分區
# mkfs.ext3 /dev/mapper/mpath0p1 #對mpath1p1分區格式化成ext3文件系統
# mount /dev/mapper/mpath0p1 /ipsan/ #掛載mpath1p1分區
❹ 請教一個多路徑Multipath處理的問題
multipath是容錯的功能,比方說你的存儲同時存在兩個不同的網路/網段和其他虛擬主機相連,如果其中一個出了問題,如網線,網路埠等等,主機和存貯的通訊不會中斷。除非兩個存儲都支持lineaggregation,否則對存儲移植不會有什麼幫助。還要考慮XENSERVER的一個問題,會不會把MULTIPATH認為是兩個不同的存儲子系統,這樣會造成混亂。看到不是真實的存儲空間,記得XENSERVER默認是有這個問題。
❺ 如何在Linux下用multipath給Oracle RAC資料庫配置共享存儲
multipath 只是個多路徑軟體。
配置文件:/etc/multipath.conf
查看磁碟:multipath -ll
掃描磁碟: multipath -v2
在使用時,一般用/etc/mapper/mpath{n}塊設備。
❻ multipath多路徑,Linux系統底層存儲擴容了,如何擴大文件系統
linux伺服器通過multipath多路徑連接到共享存儲,那麼當文件系統空間不足的時候,有幾種方式可以擴展文件系統的大小:
1、pv不變,原lun存儲擴大容量,擴大lv,擴大文件系統
2、新增pv,加入到vg中,擴大lv,擴大文件系統
下文是針對場景1的情況下如何操作(但是個人建議採取新建pv的方式2進行):
Environment
If you have this specific scenario, you can use the following steps:
Note: if these lv's are part of a clustered vg, steps 1 and 2 need to be performed on all nodes. 注意:集群模式下步驟1和步驟2兩個節點都需要執行。
1) Update block devices
Note: This step needs to be run against any sd devices mapping to that lun. When using multipath, there will be more than one. 通過multipath -ll命令查看每個聚合卷對應的路徑。
2) Update multipath device
例子:
3) Resize the physical volume, which will also resize the volume group
4) Resize your logical volume (the below command takes all available space in the vg)
5) Resize your filesystem
6) Verify vg, lv and filesystem extension has worked appropriately
模擬存儲端擴容testlv增加
查看客戶端多路徑情況
客戶端更新存儲
更新聚合設備
更新pv空間
更新lv空間
更新文件系統空間
❼ Linux文件系統-ISCSI存儲和Multipathd
iscsi是由scsi協議發展而來,簡單來講,iscsi是對scsi的封裝,並通過乙太網來進行scsi指令的傳輸. 傳統的scsi存儲設備,通過匯流排連接到主機,供主機使用. 通過iscsi,主機可以直接通過乙太網(TCP/IP)連接使用scsi存儲設備,這也是通常所說的NAS存儲的一種,它提供的是塊級存儲服務.
通過iscsi連接的存儲設備,由於中間經過了交換機等網路設備,從主機到同一個存儲設備,可能會存在多條路徑. 每條路徑在linux系統上都會被識別成一個設備,如果把每條路徑都當成獨立設備去處理的話,不同路徑之間的讀寫操作就可能會造成數據的紊亂.
multipathd可以解決上述的多路徑問題,其主要原理包括:
a. 每一個scsi設備都有唯一的scsi_id,multipathd通過探測scsi_id來判斷不同路徑後面是不是同一個存儲設備.
b. 通過內核device-mapper功能,將多條路徑映射為單一的塊設備,提供給文件系統使用.
c. 由於多路徑的存在,multipathd可以提供負載均衡和高可用的服務.
整個環境通過兩台虛擬機搭建,一台虛擬機作為iscsi存儲伺服器,另一台作為客戶端. 兩台虛擬機都配置了兩張網卡,從客戶端到iscsi伺服器,可以形成兩條路徑.
通過openfiler搭建iscsi存儲伺服器,openfiler鏡像包及部署手冊,具體參考openfiler官網.
https://www.openfiler.com/community/download
部署完成後,創建了2個iscsi target:
需要安裝如下軟體包:
iscsi-initiator-utils:提供iscsid服務,及iscsi管理工具iscsiadm
device-mapper-multipath&device-mapper-multipath-libs:提供multipathd服務及multipath管理工具
通過iscsiadm命令探測openfiler伺服器上的iscsi target,具體如下:
可以看到,openfiler返回了2個target,每個target 2條路徑. 執行命令後,在/var/lib/iscsi/目錄生成了如下文件:
對iscsi target執行login操作後,系統才能識別到設備並使用,login命令如下:
執行login命令後,識別到了sda、sdb、sdc、sdd 4個設備,查看它們的scsi_id;可以看到sda、sdc是同一設備的不同路徑,sdb、sdd是同一設備的不同路徑.
啟動multipathd服務後,multipathd會自動識別多路徑,並自動在/dev/mapper/目錄下創建多路徑映射後的設備.
查看multipathd工作模式,命令multipath -ll
從上面輸出可以看到,multipathd默認的策略是兩條路徑一主一備.
使用dd往/dev/mapper/mpathb中寫入數據,數據從sda寫入,sdc處於備用狀態
將sda網路斷開,過幾秒後,切換到sdc寫數據
再查看sda、sdc主備情況如下:
修改multipathd path_grouping_policy、path_selector(路徑選擇策略),在/etc/multipath.conf配置文件中,加入如下配置修改mpathb的工作模式.
重啟multipathd服務後,查看multipathd工作模式,可以看到sda sdc都處於active狀態:
dd測試mpathb寫入數據時的情況如下,sda sdc輪詢寫入,所以吞吐量一樣:
❽ emc存儲multipath問題求助
可以提供產品和波形圖,給有EMC實驗室的工程師看看,做CCC認證時最好能先摸底一下比較好,浙江地區杭州、寧波都有這樣的實驗室
❾ linux存儲問題
1、安裝oracle軟體時,只裝軟體不要創建實例。
2、兩台linux系統你是想用熱備份還是冷備份?如果熱備份需要安裝HA軟體,如果只做冷備份就無所謂了。
3、使用linux的硬碟命令對陣列存儲進行分區。資料庫你是想使用裸設備還是文件系統,如果是裸設備需要創建裸設備,文件系統就要創建文件系統了。
4、將裸設備或文件系統連接到oracle下的./oradata目錄下
5、創建資料庫實例,指定安裝目錄及文件。
❿ 存儲分配了一塊2T的磁碟給伺服器,做完multipath,掛載磁碟時出現錯誤:
說你已經掛載,執行mount 命令,貼出來看看。