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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-12 12:00:19 | 显示全部楼层 |阅读模式
[root@ceph1 ~]# lsblk
* ]: A8 X* y3 i6 D+ t9 ]1 hNAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT1 c2 k0 S4 B, l% F
sda               8:0    0 557.9G  0 disk  
/ K5 F3 i  i: c9 U" O! l$ y├─sda1            8:1    0     1G  0 part  /boot; P( n/ X& S. a3 e& N1 {9 L
└─sda2            8:2    0 556.9G  0 part  0 s& s) w+ _9 q2 a* x) F% ?
  ├─centos-root 253:0    0 552.9G  0 lvm   /; ?% C% W* c# i* |, L% i
  └─centos-swap 253:1    0     4G  0 lvm   [SWAP]
* N% y$ ~# H1 m; Isdb               8:16   0 447.1G  0 disk  ; E' {" b7 ^$ l! |
└─mpathj        253:9    0 447.1G  0 mpath
+ r6 B) y* B* v2 a3 H0 W5 Wsdc               8:32   0 447.1G  0 disk  
4 Q/ z3 `- i/ n9 e9 A4 U: V└─mpathi        253:10   0 447.1G  0 mpath $ t; a8 s% [3 T: F
sdd               8:48   0   3.7T  0 disk  
$ Q' ~0 B7 Q- S% b  o4 u└─mpathc        253:8    0   3.7T  0 mpath ; Q+ e5 _6 B/ R+ R9 @
sde               8:64   0   3.7T  0 disk    T/ i; S3 B8 T3 D
└─mpathh        253:2    0   3.7T  0 mpath 4 K) T) R/ J# q1 v" ~1 N
sdf               8:80   0   3.7T  0 disk  ) H* ?: R: o/ ?5 \* ^
└─mpathf        253:7    0   3.7T  0 mpath 8 ^) J' ~7 J& i( }0 M5 ]
sdg               8:96   0   3.7T  0 disk  / q* C" u6 e" {2 \( v: b+ p
└─mpathd        253:11   0   3.7T  0 mpath 5 U) G1 ~* d5 ~
sdh               8:112  0   3.7T  0 disk  1 X* B9 w3 _6 Y; Y, N
└─mpathk        253:6    0   3.7T  0 mpath , O3 Z- u( g" a6 U0 D. R3 _
sdi               8:128  0   3.7T  0 disk  
6 S! S' B2 D% F$ k└─mpathb        253:12   0   3.7T  0 mpath
* Y$ E3 \* Y! D6 X# g+ zsdj               8:144  0   3.5T  0 disk  
3 Q. {2 C' t; A+ X. G7 \7 u└─mpathe        253:4    0   3.5T  0 mpath , a8 Y' X) B- D$ ]4 m
sdk               8:160  0   3.5T  0 disk  " b2 q" Q5 p. z# d
└─mpathg        253:3    0   3.5T  0 mpath
+ S1 C, Z. ~" x9 c* N; i9 Z8 Jsr0              11:0    1  1024M  0 rom   
4 h, g, O& m! S& y6 wsr1              11:1    1  1024M  0 rom   
. h8 a$ a! X2 Z* I9 Invme0n1         259:0    0 349.3G  0 disk  " @1 a1 S8 p! I2 B( W8 p6 ^8 j
└─mpatha        253:5    0 349.3G  0 mpath + E+ |* M: k% G% w; q
[root@ceph1 ~]# multipath -F/ J" C- j; Q2 b; e$ F
Aug 12 11:31:24 | /etc/multipath.conf line 3, invalid keyword: udev_dir

( w! e, O# l' r& t/ Q& Z+ z
' s% b; h  W" T6 o  T& D2 a0 P

6 [% Z8 w% Y. o8 _4 n
2 g& N3 V" p! w

  d3 \" b4 Z% R8 a6 S' v" Smultipath操作命令
8 Z" \) ~' X7 e8 o# U
# /etc/init.d/multipathd start #开启mulitipath服务
# X; c  B( F9 z' Z# multipath -F #删除现有路径1 B8 Q: r& f' T% c$ g  q" M
# multipath -v2 #格式化路径6 H; e" S3 j- p
# multipath -ll #查看多路径
! w# D8 X; ~' J5 P# U) v# N0 m( ]* K5 }& u- c6 T' u

" p3 ^0 v4 @; @2 `$ q% u) z) z- S$ C+ r1 e" `, y) I/ z* j
8 I4 p) L" O$ h2 Y& N0 L# U! \
[root@ceph1 dev]# multipath
2 F) K7 a4 P% u' V! V' K% \multipath   multipathd  : I. a! u6 V* _9 r
[root@ceph1 dev]# multipath -ll
% T$ x# L) `- N6 o, T' O9 HAug 12 11:33:33 | /etc/multipath.conf line 3, invalid keyword: udev_dir
* T3 K3 f- Y: R# [' P[root@ceph1 dev]# multipath -l1 |8 ?8 g7 w  L' K) o7 \
Aug 12 11:33:37 | /etc/multipath.conf line 3, invalid keyword: udev_dir0 [5 n& R2 F% o! ?- D$ P, ?
[root@ceph1 dev]# multipath -ll" i  P+ j9 U8 ~2 B& D
Aug 12 11:33:39 | /etc/multipath.conf line 3, invalid keyword: udev_dir

1 H" I5 ~5 e) \6 S% K& R8 ^* b/ ?! U' v
% }8 s+ n4 g6 i; K4 f0 e

, z- _- H4 ^1 ]8 Y

' T8 i4 |" H4 q; ]* e% ?$ \[root@ceph1 dev]# multipath -F
* i# c2 c! v/ c% W' @Aug 12 11:34:33 | /etc/multipath.conf does not exist, blacklisting all devices." v3 f* h1 _/ M- a7 u
Aug 12 11:34:33 | A default multipath.conf file is located at1 K9 u, \/ N) l9 k# q8 e5 R, H$ n
Aug 12 11:34:33 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
7 G& I, w1 |5 E' V5 [" nAug 12 11:34:33 | You can run /sbin/mpathconf --enable to create
/ r8 I  N( O) l! P4 ^( l/ mAug 12 11:34:33 | /etc/multipath.conf. See man mpathconf(8) for more details
. [5 Q6 I6 W( s. K7 N* A

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:20 | 显示全部楼层
[root@ceph1 ~]# lsblk - F" ?$ d; d2 r$ r$ A
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
4 @& @6 `8 _; M( b: g9 }8 W7 \4 k9 Z0 z- H& Vsda               8:0    0 557.9G  0 disk $ m2 z6 v( m4 g( x
├─sda1            8:1    0     1G  0 part /boot1 A$ J; @( L# K; k& R2 `. l/ [
└─sda2            8:2    0 556.9G  0 part
! v0 H4 l* k- p! Z% Q  ├─centos-root 253:0    0 552.9G  0 lvm  /1 P" q9 a$ _$ W6 |3 n' D" I- R, a
  └─centos-swap 253:1    0     4G  0 lvm  [SWAP]
5 k5 X, ^8 U* g. [7 _sdb               8:16   0 447.1G  0 disk
' h7 o& G' c. U6 D3 [& a3 C, Psdc               8:32   0 447.1G  0 disk
( R+ @7 q+ L* I2 csdd               8:48   0   3.7T  0 disk
3 z! I# Y: K( k5 d9 w3 P$ csde               8:64   0   3.7T  0 disk " ]8 l9 }# [2 ]
sdf               8:80   0   3.7T  0 disk 3 a3 Z- Y( \  h* z" ?
sdg               8:96   0   3.7T  0 disk
: ?* t" A2 C( P6 T+ vsdh               8:112  0   3.7T  0 disk 8 F! q2 ]7 s, X, W5 L$ t; Y3 p
sdi               8:128  0   3.7T  0 disk / w" t4 p7 @/ E6 e) G) ]& f  a" @+ e
sdj               8:144  0   3.5T  0 disk " C% B7 N7 R6 b( D* t
sdk               8:160  0   3.5T  0 disk 3 V: j  j+ O5 N5 d5 X* S8 Q
sr0              11:0    1  1024M  0 rom  
" f7 v1 k) E/ N" z# psr1              11:1    1  1024M  0 rom  # ^, p* r6 x; n" J2 U" j1 w9 o
nvme0n1         259:0    0 349.3G  0 disk
4 e6 f" _) h: ]% L
" L4 f* T/ a: H重启系统之后,看见问题视乎解决了。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:21 | 显示全部楼层
4、 multipath磁盘的基本操作$ d2 G; _0 l* R) g
要对多路径软件生成的磁盘进行操作直接操作/dev/mapper/目录下的磁盘就行.
; z; P$ w' F( w* e+ `* |在对多路径软件生成的磁盘进行分区之前最好运行一下pvcreate命令:
, M% j8 O; s0 |# pvcreate /dev/mapper/mpath0  V3 Z! j& {" W1 Q! G
# fdisk /dev/mapper/mpath05 N; g; b$ R7 [+ a- S, x4 b
p_w_picpath; w) F3 H1 b2 S' H
用fdisk对多路径软件生成的磁盘进行分区保存时会有一个报错,此报错不用理会。' n; y0 d7 m& k2 m. W
fdisk对多路径软件生成的磁盘进行分区之后,所生成的磁盘分区并没有马上添加到/dev/目录下,此时我们要重启IPSAN或者FCSAN的驱动,如果是用iscsi-initiator来连接IPSAN的重启ISCSI服务就可以发现所生成的磁盘分区了% t; d4 r" C. m0 k5 q% b' L- q
# service iscsi restart
  z/ X5 E$ f5 ~# s6 c$ _# ls -l /dev/mapper/
; K6 g' [9 C) g9 t+ v9 Zp_w_picpath* s1 r/ ~( R- ]2 M
如上图中的mpath0p1和mpath1p1就是我们对multipath磁盘进行的分区; s5 V3 V5 V9 s. |- |% u
# mkfs.ext3 /dev/mapper/mpath0p1 #对mpath1p1分区格式化成ext3文件系统* W8 j- N, O' ~% H, ?$ K
# mount /dev/mapper/mpath0p1 /ipsan/ #挂载mpath1p1分区
% _+ \9 R1 }4 mp_w_picpath
  D: l0 P! k6 }( {2 d. h6 f( D& c
% o2 F7 L) \( H' \6 q5 c / M$ N8 K" v6 Q/ ~0 K2 e/ ]
" N/ z" t$ r0 X( k4 b& J, V3 s
四、multipath的高有配置2 I- v7 Y. E4 E/ D* X: o) [. \4 e
以上都是用multipath的默认配置来完成multipath的配置,比如映射设备的名称,multipath负载均衡的方法都是默认设置。那有没有按照我们自己定义的方法来配置multipath呢,当可以。! [  [9 J  f0 w
1 、multipath.conf 文件的配置
5 {3 G0 {0 v8 u4 w$ J接下来的工作就是要编辑/etc/multipath.conf的配置文件
8 w+ t+ l5 e' X+ h4 Q5 `multipath.conf主要包括blacklist、multipaths、devices三部份的配置
# R8 U3 r9 b* X1 K/ B. vblacklist 配置
- {. G2 t! H) xblacklist {
/ f( j" ]5 H  ?+ l- S# \6 Vdevnode "^sda"* r: g4 z( J" N5 ?
}
8 n& {& ^2 G9 |, kMultipaths 部分配置multipaths和devices两部份的配置。
1 h! x! c8 S, B: z5 x/ c( Omultipaths {- l# g9 ]" N- d
multipath {; n, p. g4 U6 t0 ]4 ~: l
wwid **************** #此值multipath -v3可以看到
$ J% p" |0 E* u. n1 D* ~alias iscsi-dm0 #映射后的别名,可以随便取$ u5 ?9 y7 [% h5 h
path_grouping_policy multibus #路径组策略0 R9 i! f3 f% h* e. m
path_checker tur #决定路径状态的方法7 m$ T3 ?# S9 z: Y; j" W" P
path_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
% A& w4 U! F: Y  r* A2 U5 N}
1 W8 {8 r- E6 ~; K8 e1 U0 r} 2 U5 s  L6 Z. Q  i+ O
Devices 部分配置
4 I: F+ w$ X6 Rdevices {
- u! u, r' h4 ~* B/ ~7 idevice {
8 \% K6 u7 ~+ l* Hvendor "iSCSI-Enterprise" #厂商名称, Y# I5 K/ g. I
product "Virtual disk" #产品型号" G4 L0 ?3 z+ P5 G4 x
path_grouping_policy multibus #默认的路径组策略5 m! g$ Y1 _) j4 R" N1 X# s
getuid_callout "/sbin/scsi_id -g -u -s /block/%n" #获得唯一设备号使用的默认程序0 E$ r# q2 T, Y* u* q$ ~
prio_callout      "/sbin/acs_prio_alua %d" #获取有限级数值使用的默认程序
1 d" i( h9 }9 a& D" bpath_checker readsector0 #决定路径状态的方法$ `# x9 e& o* p8 g/ M6 F
path_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
! O% R+ y* E: x; q$ ]4 n& ~4 vfailback        immediate #故障恢复的模式
6 p% {. R4 v8 @% c; X$ x   no_path_retry      queue #在disable queue之前系统尝试使用失效路径的次数的数值6 ~: l( k; Z- n2 I3 c
  rr_min_io       100 #在当前的用户组中,在切换到另外一条路径之前的IO请求的数目$ R. S$ w3 s& y+ c* `
}
- X* o6 D# c) `  z8 c9 n: B. j}7 ~3 a! l( {% n- @1 ~
如下是一个完整的配置文件2 G% @7 w8 e# {$ B! t) [
blacklist {
8 Q0 X9 x0 X) y) ndevnode "^sda"
, t7 a3 Q; I$ ]: q5 w: N8 l0 r  y}# I8 y5 W7 i, g$ x2 ~& B( O/ D# h
defaults {5 y+ J, U$ R$ Q- M2 x$ J+ {( a* J
user_friendly_names no. C+ [) D" G* L- r  {% p5 n
}
' d" X- p1 F5 I. e  \# z/ Fmultipaths {/ d# q; e9 @1 ?2 e0 a
multipath {
) p% v6 S6 ]; _0 B- `8 L! ]; nwwid 14945540000000000a67854c6270b4359c66c272e2f3563213 h2 x; @2 T% ~7 I1 }+ o, K
alias iscsi-dm0: Y9 E0 s5 @: i" m: E" Z5 B
path_grouping_policy multibus; S3 w; F: c% M) J2 j
path_checker tur
' L' |: e( S; J" E  ~6 _. h; kpath_selector "round-robin 0"1 k2 m9 D) S2 E. F, d
}
0 P* i0 F3 b! k" }multipath {
$ w& T  E% {( u: C3 n: ^: Cwwid 14945540000000000dcca2eda91d70b81edbcfce2357f99ee% Q7 {6 ?! z' w, _7 G
alias iscsi-dm1
( X7 L- G3 n: Apath_grouping_policy multibus
. u0 e% D, ]) N6 bpath_checker tur/ V; B0 k( x6 e
path_selector "round-robin 0"; a1 p1 d2 ]% F
}
/ h- v4 o5 a8 z( O! Vmultipath {: q4 w2 {1 L2 r
wwid 1494554000000000020f763489c165561101813333957ed96
) M1 i% w: T, F: v! kalias iscsi-dm2
7 S' m3 Q0 b& }4 C1 W3 ]7 cpath_grouping_policy multibus! l' X3 U# A- O+ W' k
path_checker tur
& ^& A/ a- z' X2 n. S4 lpath_selector "round-robin 0"
9 n6 K8 z) p- [  ~}
7 h* [. d3 s* P( A) x# W7 Tmultipath {& O$ j0 i( h+ U& N$ f
wwid 14945540000000000919ca813020a195422ba3663e1f03cc3$ R7 k2 r- D0 B- u! I* a
alias iscsi-dm3( ]7 v& i3 ^. y! Y8 P
path_grouping_policy multibus
1 ?" W7 ?  b! r2 Rpath_checker tur8 u0 D) R0 J2 ?  {/ K
path_selector "round-robin 0"3 Z1 M8 f) a( m5 t! F
}
! N$ u" Z+ Z2 }9 z) y: E# _}1 U8 z, _1 {( J  b- q# y; Q
devices {, V& C6 ^3 W, P/ l$ A
device {
5 @9 t) m# h# L5 ovendor "iSCSI-Enterprise"- W/ S. J7 S( p  g; C( S
product "Virtual disk"( V7 F0 I3 M1 [
path_grouping_policy multibus; c! c  s1 l! n$ }
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
- \+ d& x: E5 l4 Bpath_checker readsector0
; D. t2 P+ d: C' V8 z( D; zpath_selector "round-robin 0"' K  x, @/ |' k4 V
}
3 M6 k0 a5 h- A( Z}
" M5 A8 S# c- N* @) y* V8 n$ L获取wwid的方法:
9 K, [, h- C( e' o/ h  c& m(1)默认情况下,将使用 /var/lib/multipath/bindings 内的配置设定具体每个多路径设备名,如果在/etc/multipath.conf中有设定各wwid 别名,别名会覆盖此设定。! I- _0 K3 L% S# p5 i
p_w_picpath+ @, x) R) x6 w0 N7 x# o
(2)# multipath -v3命令查找
8 |; S3 s. u1 E) @2 J+ c( Q5 Cp_w_picpath3 R. u; K! k9 q; |+ t
2 、负载均衡测试2 Q, q2 f& A2 W" z
使用dd命令来对设备进行写操作,并同时通过iostat来查看I/0状态,命令及输出如下:, B; k' {- k( \7 M+ l" K
# dd if=/dev/zero of=/dev/mapper/iscsi-dm1p1
( y( Z- {: `$ I+ r- A$ l. _' v+ X+ h8 [开启另外一个终端用以下命令查看IO情况
5 }) U  G% Z1 m: U( c# iostat 10 10* w( h6 `9 C; m' o
p_w_picpath7 T8 u$ P( G! g& g  B, [! u5 f
通过上述输出,我们看到,在对/dev/mapper/iscsi-dm1p1读写时,实际上是通过对/dev/md-1包含的当前active的所有设备,即/dev/sde1,/dev/shl这2条路径来完成对实际的LUN的写过程。& c' N3 j! q# t- P4 ~9 t
3 、路径切换测试
/ E7 j6 |. E# E, h1 [) o首先,我们拔掉服务器上一根网线,经过不到10秒,我们看到:MPIO成功地从上述“失败”的路径/dev/sel切换到了另外一条路径/dev/sdh1上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 03:02 , Processed in 0.017513 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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