此帖子已超过 5 年
631 消息
0
4594
Linux PP LVM问题咨询
一台Linux服务器,连接了EMC 的 DMX高端存储,但之前做vg的时候忘记使用了Powerpath聚合后的Pseudo设备,因目前对系统无影响,具体情况如下。想确认一下:
1、现在的情况下,PP是不是起不到作用了?
2、如果我更换了前端卡14,系统是不是会有问题?
3、如何改变这种情况?
还请各位专家指点迷津。多谢。
[root@locahost dev]# powermt display dev=all
Pseudo name=emcpowera
Symmetrix ID=000187401363
Logical device ID=018E
state=alive; policy=SymmOpt; priority=0; queued-IOs=0;
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sdc FA 3bA active alive 0 0
4 lpfc sdi FA 14bA active alive 0 2
Pseudo name=emcpowerb
Symmetrix ID=000187401363
Logical device ID=0196
state=alive; policy=SymmOpt; priority=0; queued-IOs=0;
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sdd FA 3bA active alive 0 0
4 lpfc sdj FA 14bA active alive 0 2
Pseudo name=emcpowerc
Symmetrix ID=000187401363
Logical device ID=019E
state=alive; policy=SymmOpt; priority=0; queued-IOs=0;
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sde FA 3bA active alive 0 0
4 lpfc sdk FA 14bA active alive 0 2
Pseudo name=emcpowerd
Symmetrix ID=000187401363
Logical device ID=01A6
state=alive; policy=SymmOpt; priority=0; queued-IOs=0;
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sdf FA 3bA active alive 0 0
4 lpfc sdl FA 14bA active alive 0 2
Pseudo name=emcpowerf
Symmetrix ID=000187401363
Logical device ID=0456
state=alive; policy=SymmOpt; priority=0; queued-IOs=0;
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sdg FA 3bA active alive 0 0
4 lpfc sdm FA 14bA active alive 0 2
Pseudo name=emcpowere
Symmetrix ID=000187401363
Logical device ID=045E
state=alive; policy=SymmOpt; priority=0; queued-IOs=0;
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sdh FA 3bA active alive 0 0
4 lpfc sdn FA 14bA active alive 0 2
[root@localhost ~]# pvs
Found duplicate PV lHUaHKBUL1w7Z5Wng8JHGkwgiVPTm8Dl: using /dev/sdi1 not /dev/sdc1
Found duplicate PV KFcp0gdsJHkaJTBVy6tgzqUxlkW2386J: using /dev/sdj1 not /dev/sdd1
Found duplicate PV 25PeU6UTCuUk63hWvDqJt78qLdMGYj2C: using /dev/sdk1 not /dev/sde1
Found duplicate PV ff5OPuwFZSVs6br7qF39WCBhIQd0tT1V: using /dev/sdl1 not /dev/sdf1
Found duplicate PV N7kllr7t08w1UsUyVPuy2m1eJ8ofi2p3: using /dev/sdm1 not /dev/sdg1
Found duplicate PV YszR230cImdBHnpwcP6O2z9dE5mfs1fn: using /dev/sdn1 not /dev/sdh1
PV VG Fmt Attr PSize PFree
/dev/sda1 VolGroup_ID_27668 lvm2 a- 9.53G 9.53G
/dev/sda3 VolGroup_ID_27668 lvm2 a- 548.62G 450.62G
/dev/sdi1 appvg1 lvm2 a- 54.48G 0
/dev/sdj1 appvg1 lvm2 a- 54.48G 0
/dev/sdk1 appvg1 lvm2 a- 54.48G 0
/dev/sdl1 appvg1 lvm2 a- 54.48G 0
/dev/sdm1 appvg1 lvm2 a- 54.48G 0
/dev/sdn1 appvg1 lvm2 a- 54.48G 6.86G
Jun_Tan
2 Intern
2 Intern
•
605 消息
0
2013年2月27日 21:00
1、现在的情况下,PP是不是起不到作用了?
PP没有起作用。
2、如果我更换了前端卡14,系统是不是会有问题?
有问题。
pvs看出来是用的/dev/sd[ijklmn]这些磁盘,参考命令powermt display dev=all结果对应的就是DMX前端口( FA 14bA)。
另外如何搞清楚系统逻辑卷到存储I/O链路之间映射关系,也可以参考下面这个步骤:
Linux存储在线管理(一)FC磁盘设备管理
3、如何改变这种情况?
本机而言应该是没有办法了。重新基于PP的伪设备做逻辑该会毁掉现有数据(这个可以测试确认下),建议另找一台机器配好PP准备数据迁移。
fourier_wang
2 消息
0
2013年2月27日 21:00
出现这种情况的原因是没有配置lvm.conf里的filter,按照我之前遇到的情况,这种情况下链路切换,主机应用会出问题。我也想知道能否在线处理这种情况
Jun_Tan
2 Intern
2 Intern
•
605 消息
0
2013年2月27日 22:00
另外楼主能不能贴下fdisk -l的结果和df -h的结果?
Jun_Tan
2 Intern
2 Intern
•
605 消息
0
2013年2月27日 22:00
有连个跟楼主情况非常类似的帖子可以参考下:
changing pv with its multipath volume
vgcreate command is changing /dev/mapper as PV Name in pvdisplay to /dev/dm-xx path
基本原理是改lvm.conf里面参数preferred_names。
fourier_wang
2 消息
0
2013年2月27日 22:00
在powerpath for linux 的安装文档中明确提到了,需要修改lvm.conf的filter处,然后使用lvmdiskscan和mkinitrd。
我记得HDLM早些版本也需要修改这个,后期的版本安装以后就会自动过滤掉sd*的盘了,fdisk -l已经看不到这些盘,不知道powerpath为什么没有这么做
Jun_Tan
2 Intern
2 Intern
•
605 消息
0
2013年2月28日 00:00
这些参数lvm的,pp去改不一定合适。要客户的使用场景。
其实LVM跟PP使用主要有两个配置需要注意:
1、配置lvm扫描哪些设备?
filter这个配置就是配置lvm只扫描哪些设备。如果是多路径,默认会每条链路都扫描读取一遍lvm元数据信息。
2、配置lvm有限从什么样设备开始扫描?
preferred_names配置lvm优先扫描目录。如果是多路径设备,第一个扫描到的设备会显示在结果中。
另外楼上的意思应该是lvmdiskscan看不到了吧。
Fenglin1
2 Intern
2 Intern
•
2.1K 消息
0
2013年2月28日 01:00
应用不停是不太可能了,如果你要换FA14,又不想长时间停,在阵列内部重新配置你的那些sdx的symmask到另外一个前端口,然后链路切换到新的端口(需要停机),再换FA,停机时间会相应短一点。建议
zhuzhu281306
631 消息
0
2013年2月28日 03:00
不知道通过vgexport,然后再将该VG import到PP的聚合设备上是否可行?
毕竟比如说emcpowera对应的就是sdc和sdi,虽然pv用了sdc,实际上pvid在三个设备上都应该是一致的,数据也是一致的。
不知道有没有这方面的实施经验?
Jun_Tan
2 Intern
2 Intern
•
605 消息
0
2013年2月28日 18:00
vgexport和vgimport不适合的,这两个命令主要用于机器间磁盘迁移。
另外你说的pvid一致这个我也赞同。不过我这边看到楼主的pv是基于分区的,这些分区跟PP的伪设备有对应分区吗?
比如:
sdi -对应- emcpowera
sdi1有没有emcpowera的对应分区?
可以贴下fdisk -l看看。如果有,可以尝试/etc/lvm/lvm.conf配置文件参数preferred_names。然后使用命令vgscan -vvvv清理lvm缓存重新扫描一遍设备;再使用lvmdiskscan看看lvm卷现在是用建在pp设备上面了。 (注意:安全起见,这个操作最好先把文件系统umount下来再做。)
zhuzhu281306
631 消息
0
2013年3月6日 02:00
sdi -对应- emcpowera
sdi1有没有emcpowera的对应分区?
从fdisk 的输出看是有的。
zhuzhu281306
631 消息
0
2013年3月6日 02:00
[root@tmserver ~]# fdisk -l
Disk /dev/sda: 599.5 GB, 599550590976 bytes
255 heads, 63 sectors/track, 72891 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1246 10008463+ 8e Linux LVM
/dev/sda2 * 1247 1271 200812+ 83 Linux
/dev/sda3 1272 72891 575287650 8e Linux LVM
Disk /dev/sdb: 599.5 GB, 599550590976 bytes
255 heads, 63 sectors/track, 72891 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 55785 57123824 83 Linux
Disk /dev/sdd: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 55785 57123824 83 Linux
Disk /dev/sde: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 55785 57123824 83 Linux
Disk /dev/sdf: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdf1 1 55785 57123824 83 Linux
Disk /dev/sdg: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdg1 1 55785 57123824 83 Linux
Disk /dev/sdh: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdh1 1 55785 57123824 83 Linux
Disk /dev/sdi: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdi1 1 55785 57123824 83 Linux
Disk /dev/sdj: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdj1 1 55785 57123824 83 Linux
Disk /dev/sdk: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdk1 1 55785 57123824 83 Linux
Disk /dev/sdl: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdl1 1 55785 57123824 83 Linux
Disk /dev/sdm: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdm1 1 55785 57123824 83 Linux
Disk /dev/sdn: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdn1 1 55785 57123824 83 Linux
Disk /dev/emcpowerf: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/emcpowerf1 1 55785 57123824 83 Linux
Disk /dev/emcpowere: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/emcpowere1 1 55785 57123824 83 Linux
Disk /dev/emcpowera: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/emcpowera1 1 55785 57123824 83 Linux
Disk /dev/emcpowerb: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/emcpowerb1 1 55785 57123824 83 Linux
Disk /dev/emcpowerc: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/emcpowerc1 1 55785 57123824 83 Linux
Disk /dev/emcpowerd: 58.4 GB, 58494812160 bytes
64 heads, 32 sectors/track, 55785 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/emcpowerd1 1 55785 57123824 83 Linux
[root@tmserver ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup_ID_27668-LogVol1
49G 15G 32G 33% /
/dev/mapper/VolGroup_ID_27668-LogVol2
9.7G 151M 9.1G 2% /tmp
/dev/mapper/VolGroup_ID_27668-LogVol5
9.7G 2.1G 7.1G 23% /usr
/dev/mapper/VolGroup_ID_27668-LogVol4
9.7G 416M 8.8G 5% /var
/dev/sda2 190M 17M 165M 9% /boot
tmpfs 7.9G 0 7.9G 0% /dev/shm
/dev/mapper/VolGroup_ID_27668-LogVolHome
9.9G 300M 9.1G 4% /home
/dev/mapper/appvg1-lv_mode
315G 81G 219G 27% /mode
Jun_Tan
2 Intern
2 Intern
•
605 消息
1
2013年3月6日 17:00
那建议修改lvm.conf的preferred_name参数,然后重新扫描下。可以参考下面步骤:
1、停掉应用
2、umount掉文件系统
3、备份/etc/lvm/lvm.conf配置文件
4、修改/etc/lvm/lvm.conf文件参数preferred_name,可以加上""^/dev/emcpower"
5、vgscan -vvvv重新扫描一下
6、vgdisplay -v看看物理卷使用的是不是PP的伪设备。
另外也可以参考EMC Primus:emc120281 "How to set up a Linux host to use emcpower
devices in LVM"
Root File System Not Mounted on a Logical Volume这个部分就足够了。
Primus里面使用的filter参数,直接把非PP伪设备直接过滤掉。
这两个方法有条件楼主可以都可以先试下。
zhuzhu281306
631 消息
0
2013年3月8日 04:00
找机会测试一下再来回复,多谢Jun_Tan
Alex_Ye
109 消息
1
2013年3月8日 15:00
在Linux操作系统上,针对Native设备的I/O请求也是可以被Powerpath接管的。以楼主的一个设备举个例子:
Pseudo name=emcpowera
Symmetrix ID=000187401363
Logical device ID=018E
state=alive; policy=SymmOpt; priority=0; queued-IOs=0;
==============================================================================
--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
3 lpfc sdc FA 3bA active alive 0 0
4 lpfc sdi FA 14bA active alive 0 2
如果有一个应用对于sdc设备发送了一个I/O请求,而lpfc 3这个HBA到3bA这个FA的链路相对比较繁忙,Powerpath也会将这个请求从lpfc 4发送,有14bA来响应。
这个特性不是在所有的操作系统上都成立的。
因此,LVM设备建立在伪设备还是native设备上,其实没有太大关系。但是因为操作系统对于同一个LUN出现了多个通道(n+1),因此LVM的命令里面会报很多的duplicated PVID之类的警告。要去除这些警告,可以参考 EMC Host Connectivity Guide for Linux,或者Powerpath for Linux Installation and Administration Guide里面,修改/etc/lvm.conf中的filter参数。
这个参数的作用是选择或者拒绝使用特定的设备名作为PV,因此只要"ccept"所有的emcpower设备," eject"所有的sd设备,LVM的命令就不会再报错,并且pvs命令也能显示伪设备而不是native设备了。
对于这个参数的修改需要比较小心,修改错误的话,会出现把内部硬盘也拒绝掉,从而无法激活rootvg导致无法启动的状况。针对每种情况的filter配置,在Host Connectivity Guide里面都已经给出了。修改配置以后可以重启服务器,或者执行一个LVM的命令来使之生效。应该是可以在线做的。
Chao_Ma
2 Intern
2 Intern
•
146 消息
0
2013年3月14日 19:00
之前也遇到一个问题,pvs也是显示多个duplicate PV,但和这个问题有2个不一样的地方:
1、没有对本地磁盘做LVM;2、直接使用裸磁盘做的PV,不用分区。
实施人员不能确认,最初是使用的Pseudo设备做的PV,还是使用的sd设备,而且在系统环境RHEL6.X中,filter的规则使用的是先r掉sd、disk等设备,然后a所有emcpower设备。这个filter的语法使用也有问题,正常是先a emcpower,然后r所有需要lvm识别的设备。
当时进行了观察,发现使用iostat能够看到数据是balance到所有路径上的,但由于没有停机窗口,而且马上要下线,所以没有进行filter的调整。建议可以根据iostat先观察一下数据,然后针对性的测试一下,针对具体的环境确定好适用的filter规则,比如a所有本地磁盘,a所有emcpower设备,然后r其他不用的。