找回密码
 注册
查看: 1872|回复: 2

multipath操作命令 linux系统出现多路径

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-12 12:00:19 | 显示全部楼层 |阅读模式
[root@ceph1 ~]# lsblk 0 T4 o5 G8 C2 f
NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT9 p  Q" \, T, E9 [; d4 `# h
sda               8:0    0 557.9G  0 disk  
, B) N. h' S5 Q├─sda1            8:1    0     1G  0 part  /boot5 S9 }* L! D& c
└─sda2            8:2    0 556.9G  0 part  
& K+ K% c+ c3 S/ C4 ]  ├─centos-root 253:0    0 552.9G  0 lvm   /3 |4 x- Y  j. w
  └─centos-swap 253:1    0     4G  0 lvm   [SWAP]& q* s0 q: d9 i$ ]
sdb               8:16   0 447.1G  0 disk  
3 n7 O; c& [$ R; U└─mpathj        253:9    0 447.1G  0 mpath + \" w: @) o* o3 h
sdc               8:32   0 447.1G  0 disk  . `7 @2 ^% f0 W6 T
└─mpathi        253:10   0 447.1G  0 mpath ! f' x: H7 ]+ _1 G
sdd               8:48   0   3.7T  0 disk  $ p, P# I: A& G
└─mpathc        253:8    0   3.7T  0 mpath 0 U: d3 @& d% Q" y) w+ Q! s
sde               8:64   0   3.7T  0 disk  
5 H3 j0 r* {; p2 u└─mpathh        253:2    0   3.7T  0 mpath ( q$ c1 {) {/ U6 H0 W7 y
sdf               8:80   0   3.7T  0 disk  : y; y, t" j! e. E5 s5 E
└─mpathf        253:7    0   3.7T  0 mpath # ]. X2 [  u5 v+ j& ~' K
sdg               8:96   0   3.7T  0 disk  . v2 \0 t: Y+ B" H! i9 h2 {0 a  F6 W5 j
└─mpathd        253:11   0   3.7T  0 mpath
, G% h! K6 T  x7 psdh               8:112  0   3.7T  0 disk  
& e$ |' ?. J& |- z) h9 y└─mpathk        253:6    0   3.7T  0 mpath
# M# R$ A0 f" w# f* Tsdi               8:128  0   3.7T  0 disk  9 o. t5 N4 D0 z& o( d0 z: }
└─mpathb        253:12   0   3.7T  0 mpath
  U) \- P  a0 _; {sdj               8:144  0   3.5T  0 disk  
- t' B  a$ z4 j& _, Y1 B└─mpathe        253:4    0   3.5T  0 mpath
9 f( l* ?# i3 F; h; Ysdk               8:160  0   3.5T  0 disk  
3 Q2 f1 M) x  g8 e1 _8 u4 Y└─mpathg        253:3    0   3.5T  0 mpath
) R* A; J+ [  m$ [$ d( `3 ?sr0              11:0    1  1024M  0 rom   6 w2 [3 w* j; i4 R; C. Y, r8 F7 s# t" L
sr1              11:1    1  1024M  0 rom   ; n+ H6 s9 M( ^1 o  B
nvme0n1         259:0    0 349.3G  0 disk  
/ e& n; v2 i4 a└─mpatha        253:5    0 349.3G  0 mpath
% _3 r( G1 p0 D, {4 F4 Z[root@ceph1 ~]# multipath -F* O4 }" N6 X2 w/ h2 V1 ?9 Q
Aug 12 11:31:24 | /etc/multipath.conf line 3, invalid keyword: udev_dir
3 {5 ^& ?' m+ y7 `% ?* h/ U
- q3 Y2 U4 Z. U% F7 l9 @' z
% p* \- [% q3 y) o( W/ z* h
8 G4 Y) b! H2 J- ?' o* o

* @" h1 m! y! O5 \- pmultipath操作命令" y3 p3 ?. g* B$ ^% M% h
# /etc/init.d/multipathd start #开启mulitipath服务
$ [6 x) f7 Z; ?1 e3 G# multipath -F #删除现有路径$ v- j" _3 c2 d- u, y" I% Y7 Q
# multipath -v2 #格式化路径
2 u' G4 t7 p+ Y% ?" u& t2 K8 s. B# multipath -ll #查看多路径
" |" B" O: n0 \2 o* }9 D* z* X2 Y, N6 C2 w0 w! Y7 d

' h: V; F& E8 w" |9 }- Q4 n3 h# R& s+ q' e8 [& I' a

: w4 o- f/ W$ P[root@ceph1 dev]# multipath+ \! m. c! C  f3 G
multipath   multipathd  * ]$ a1 a$ Y3 c0 o
[root@ceph1 dev]# multipath -ll6 l# O/ L8 S8 ?$ q0 F# ~$ E7 M% `5 O
Aug 12 11:33:33 | /etc/multipath.conf line 3, invalid keyword: udev_dir
! k* t5 l$ o% }; V7 t3 I7 Q3 ^% j  h[root@ceph1 dev]# multipath -l
" {6 K: I3 ^; p( n7 P/ {' nAug 12 11:33:37 | /etc/multipath.conf line 3, invalid keyword: udev_dir8 G- U" j: O9 D7 b; _5 @0 E
[root@ceph1 dev]# multipath -ll) I& S+ w$ [. r+ s# F, Z
Aug 12 11:33:39 | /etc/multipath.conf line 3, invalid keyword: udev_dir
: O, F- R6 a7 H- [
& |. Y/ _: L4 b5 b8 M

) p8 ?2 S' d8 O) w2 g4 ]' \
  e3 O& ^6 P; o9 }
/ A% w& `0 T2 |2 e8 ~! n
[root@ceph1 dev]# multipath -F2 f3 j4 W: O2 O+ v+ C, C
Aug 12 11:34:33 | /etc/multipath.conf does not exist, blacklisting all devices.
" Z4 u8 k0 N3 a3 _. P) Y  mAug 12 11:34:33 | A default multipath.conf file is located at( q$ U" e, q' G
Aug 12 11:34:33 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf- F, b) G7 ^+ y* N# O/ [5 ^
Aug 12 11:34:33 | You can run /sbin/mpathconf --enable to create
! u, K, R% z$ Z3 A' u% u* z2 D" \Aug 12 11:34:33 | /etc/multipath.conf. See man mpathconf(8) for more details

! i- A- |6 `! R+ S

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:20 | 显示全部楼层
[root@ceph1 ~]# lsblk ; w' h* o4 [# h$ E, A" O
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
8 A" J2 O+ t3 G# t; }" ]sda               8:0    0 557.9G  0 disk + g& T( L& I% V
├─sda1            8:1    0     1G  0 part /boot' B- h# }* ~( P+ ^/ k, p
└─sda2            8:2    0 556.9G  0 part
" t) y, f) i; T# ?  ├─centos-root 253:0    0 552.9G  0 lvm  /
8 r6 J/ k: g+ G- n3 U. {+ }  └─centos-swap 253:1    0     4G  0 lvm  [SWAP]# @% F+ y$ j- a$ U
sdb               8:16   0 447.1G  0 disk
: z- K' H( W5 b8 ]& m) j% ?sdc               8:32   0 447.1G  0 disk
4 y4 Q+ H: a7 S' t* l) Z) k8 |sdd               8:48   0   3.7T  0 disk & S( w8 k% u: L4 m9 z4 h& I. T
sde               8:64   0   3.7T  0 disk
$ m1 Q  V+ \3 o- O# {sdf               8:80   0   3.7T  0 disk & r# F# ]1 h, Q% y
sdg               8:96   0   3.7T  0 disk 7 B; u- N4 B# v4 o- A: L
sdh               8:112  0   3.7T  0 disk
8 ^8 m- g  E. h. [7 }0 E# usdi               8:128  0   3.7T  0 disk ! f6 x# a! c, e9 @3 d5 P* r
sdj               8:144  0   3.5T  0 disk 1 v4 L' W5 I+ {, R, q5 O5 ^  ^
sdk               8:160  0   3.5T  0 disk - @/ n  {" ^' r: d. X/ z2 S$ \
sr0              11:0    1  1024M  0 rom  
8 a2 N4 Q9 {4 I" [1 isr1              11:1    1  1024M  0 rom  
8 {/ K+ g, C1 l0 m% gnvme0n1         259:0    0 349.3G  0 disk " f9 w' |+ M- H1 d' |9 f1 a

: }' y2 a1 K7 j) _  R4 w! u重启系统之后,看见问题视乎解决了。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:21 | 显示全部楼层
4、 multipath磁盘的基本操作' M- a% v5 H1 H( l  @: g1 _" T2 |
要对多路径软件生成的磁盘进行操作直接操作/dev/mapper/目录下的磁盘就行.$ C# Q8 |/ z3 H6 g- d
在对多路径软件生成的磁盘进行分区之前最好运行一下pvcreate命令:. U% l& \' P; ~9 W5 @! H* I
# pvcreate /dev/mapper/mpath01 w8 [5 ]- g, a$ u2 n) e
# fdisk /dev/mapper/mpath0' p! @2 b4 p- ?+ ]) f: z
p_w_picpath
: y( H- g' A8 b; A& T5 c, N8 a用fdisk对多路径软件生成的磁盘进行分区保存时会有一个报错,此报错不用理会。
$ s/ g' n0 k  ufdisk对多路径软件生成的磁盘进行分区之后,所生成的磁盘分区并没有马上添加到/dev/目录下,此时我们要重启IPSAN或者FCSAN的驱动,如果是用iscsi-initiator来连接IPSAN的重启ISCSI服务就可以发现所生成的磁盘分区了+ q4 o7 u- [. S$ \. c! [+ P. f: U
# service iscsi restart
* s# r! V  N0 K- z% ?& S# ls -l /dev/mapper/% @, q6 n  W+ [1 M
p_w_picpath
! }$ b8 [4 j0 J. }8 N1 L! c/ \; P如上图中的mpath0p1和mpath1p1就是我们对multipath磁盘进行的分区; ]( X/ P2 V& M/ l/ K4 v
# mkfs.ext3 /dev/mapper/mpath0p1 #对mpath1p1分区格式化成ext3文件系统
8 e1 c/ n: X- Z0 a/ R( W6 i; ~# mount /dev/mapper/mpath0p1 /ipsan/ #挂载mpath1p1分区
3 c& }0 ]3 C% q1 A1 Lp_w_picpath
2 X4 P: |7 C. e9 \ . w0 s' h8 y6 b" D
+ Q3 V" C6 |9 q; Y) `, }

) S% I! P# T! v" e. j四、multipath的高有配置
3 W1 p( s5 C; W6 R. g4 d以上都是用multipath的默认配置来完成multipath的配置,比如映射设备的名称,multipath负载均衡的方法都是默认设置。那有没有按照我们自己定义的方法来配置multipath呢,当可以。
$ e9 s6 x7 ~& z$ N1 、multipath.conf 文件的配置: C0 _7 K. Q( Q6 G4 R# _
接下来的工作就是要编辑/etc/multipath.conf的配置文件$ g: _3 T! E& `+ i& T% y
multipath.conf主要包括blacklist、multipaths、devices三部份的配置/ v; H9 Q2 d& E# `! }) U
blacklist 配置
; u) L6 ~/ f# J7 ablacklist {9 \4 S: O) W' y! X
devnode "^sda"
; h1 l# U2 l+ Q! |& \}2 B" u) ?$ G; X) g; O
Multipaths 部分配置multipaths和devices两部份的配置。
  ~/ |+ o6 z" L( k& j  {* A% Pmultipaths {6 T2 m5 A& Y& I; A7 J
multipath {$ @5 n  n. N& Z  u: a* b  D8 Q1 q
wwid **************** #此值multipath -v3可以看到
* K+ }* L% i+ e) I* Ialias iscsi-dm0 #映射后的别名,可以随便取
0 D8 s9 M6 P& Dpath_grouping_policy multibus #路径组策略
; `* e4 I) M9 wpath_checker tur #决定路径状态的方法1 j- C0 m5 Z; E
path_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
& h' u# n6 i8 q  b& l4 a+ U}) Q( L. ?' s: J( P+ Z
}
$ M0 ]" u0 @+ d: I! ~& ^: }Devices 部分配置# e/ C' s0 w" E* i0 ?. B* h! ~) ?
devices {8 C' J' }7 r& w
device {6 S- @* j# u: o  S  v
vendor "iSCSI-Enterprise" #厂商名称. x/ o' M8 x& ^/ Y
product "Virtual disk" #产品型号
6 X0 M5 s2 |$ b% E. L* Q4 {path_grouping_policy multibus #默认的路径组策略8 F# T3 o4 X+ w) {. d
getuid_callout "/sbin/scsi_id -g -u -s /block/%n" #获得唯一设备号使用的默认程序
( v; ]! @; ?# R' p; k% K* R0 h' mprio_callout      "/sbin/acs_prio_alua %d" #获取有限级数值使用的默认程序+ ~# n3 @9 a; t
path_checker readsector0 #决定路径状态的方法
! [5 i  A( B3 C  Lpath_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法+ R& |( x$ Z& R+ j
failback        immediate #故障恢复的模式
0 D; z, H. i9 c5 L; y   no_path_retry      queue #在disable queue之前系统尝试使用失效路径的次数的数值' y% O: C( V1 a- i7 M, Y" [
  rr_min_io       100 #在当前的用户组中,在切换到另外一条路径之前的IO请求的数目
9 v4 M) p" u  F+ }  F}
3 T* y; I* p# |* N  y}6 X, Z3 x$ t' y% M6 W+ W
如下是一个完整的配置文件
( {5 p4 o+ I0 Qblacklist {
) S3 Y; ^+ V$ G7 ]* }7 I) c. B) b$ Odevnode "^sda"
, u. }. m* E2 C  e}
* g% M2 P8 c) idefaults {0 R. B: j5 R3 c8 \. U
user_friendly_names no
4 E, K  ^1 q5 ]1 e* U}* J% V& k" X2 }9 N3 T7 ~) h. [
multipaths {$ M5 W4 \  E6 f( v# Z7 F
multipath {: z9 y6 R  ?, A9 @# N& H# @
wwid 14945540000000000a67854c6270b4359c66c272e2f3563211 M) k+ I; M3 w
alias iscsi-dm0- _# p- t8 V) g% Q+ _  d
path_grouping_policy multibus0 m( M: H" D: c5 B
path_checker tur
3 [# `: U2 g- ?/ w* ]4 ?0 ?3 I1 tpath_selector "round-robin 0"& s5 c% e- x" ?" A; w2 b; Q: R
}
- h4 y: c2 G, q6 R4 imultipath {; U/ ?2 B8 g2 l3 D1 }
wwid 14945540000000000dcca2eda91d70b81edbcfce2357f99ee8 }+ ^# A- `4 a$ u3 t
alias iscsi-dm1
! W4 u. @8 S% o- p& D, l3 Mpath_grouping_policy multibus
* N* Z; ?1 Q1 A/ d0 y7 d/ t& Dpath_checker tur
3 k5 J. R  e# K3 Z2 i( E. j9 C9 N% cpath_selector "round-robin 0"* K$ n3 o( r7 Y! f+ i
}& |# k: b2 q: @# t. W# T, s
multipath {, F! f2 b  l  y
wwid 1494554000000000020f763489c165561101813333957ed96
7 K+ E/ ~. b' N; ]0 ralias iscsi-dm26 t! O; Y  u, v
path_grouping_policy multibus
4 [. M/ A9 W  o5 n3 ?/ @4 Ppath_checker tur
- M8 |! q5 @+ \! m; b8 U5 Lpath_selector "round-robin 0"9 T  l  V4 J3 Z$ V; K: X, @
}
1 l  ^. q: w9 E3 Rmultipath {4 a( Z/ G/ B* i, m" ^
wwid 14945540000000000919ca813020a195422ba3663e1f03cc3
$ D0 T  l. a0 z* {alias iscsi-dm3
. A) q( Q/ o) V; X9 Y+ E# M4 zpath_grouping_policy multibus
1 f. q# n; `4 j: |$ Kpath_checker tur
- E- e/ |3 I& N% P3 S: zpath_selector "round-robin 0"
# V$ l  Q: F+ f% J}4 i/ p) q% t' I1 ]1 Q$ U9 W9 p8 V3 d1 i, ?
}; n/ [3 r6 T* J7 q7 V! u- i
devices {
4 _, S9 A2 J% hdevice {
9 l2 o. Z4 T' K$ J8 `7 o7 `/ \& cvendor "iSCSI-Enterprise"
; c, Q* ~' ?+ `2 S% Xproduct "Virtual disk"
7 p+ A) |- `7 T" u8 _' Zpath_grouping_policy multibus  ]  j9 X. f* f; C
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"/ k' \8 q. L0 @4 Q3 I2 w
path_checker readsector0
; v7 g, K) w3 l0 c4 l5 H. c' lpath_selector "round-robin 0". I* I" F& M4 b0 R3 f  g
}
0 i, d: z3 l# |7 [: L8 J; j) u}
- O/ z! l+ Y; N- l; f9 _9 n2 `获取wwid的方法:2 G/ F1 ~( V" P1 S
(1)默认情况下,将使用 /var/lib/multipath/bindings 内的配置设定具体每个多路径设备名,如果在/etc/multipath.conf中有设定各wwid 别名,别名会覆盖此设定。6 A0 E# H" _9 L0 M* q
p_w_picpath
. D; g7 J0 Q- L' [/ Y0 g8 h(2)# multipath -v3命令查找
" y% _& l& I* a: e. e. Y" Tp_w_picpath' ]2 q1 N; E2 w+ k& ?2 ^4 b
2 、负载均衡测试- f, z) r7 K  j( S
使用dd命令来对设备进行写操作,并同时通过iostat来查看I/0状态,命令及输出如下:; `  Q5 ^* G: b/ y  r# T
# dd if=/dev/zero of=/dev/mapper/iscsi-dm1p1! L: j1 r/ A) s) a
开启另外一个终端用以下命令查看IO情况" D; Q) P4 D4 D. U: q" g
# iostat 10 10
  B* P2 `/ i% [- Z, v; O8 dp_w_picpath
4 M8 I! |' F0 L) y8 Y通过上述输出,我们看到,在对/dev/mapper/iscsi-dm1p1读写时,实际上是通过对/dev/md-1包含的当前active的所有设备,即/dev/sde1,/dev/shl这2条路径来完成对实际的LUN的写过程。
9 j& H% a8 b: O/ U- V' _; Y# Y6 q3 、路径切换测试5 Y5 G# j2 r2 r" j# D, \5 q% T
首先,我们拔掉服务器上一根网线,经过不到10秒,我们看到:MPIO成功地从上述“失败”的路径/dev/sel切换到了另外一条路径/dev/sdh1上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:05 , Processed in 0.020122 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表