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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-12 12:00:19 | 显示全部楼层 |阅读模式
[root@ceph1 ~]# lsblk # Q$ H7 M* c9 e/ c" {
NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
/ Y+ c- X3 P9 @0 f; I8 H" J, K+ k. Nsda               8:0    0 557.9G  0 disk  6 {* J; n) S7 \
├─sda1            8:1    0     1G  0 part  /boot
; b0 T: N% [* P7 J5 K└─sda2            8:2    0 556.9G  0 part  ) R' O. H. D! I! \* i& u
  ├─centos-root 253:0    0 552.9G  0 lvm   /# L8 ~& o' m8 l5 ]' K5 P9 e5 m
  └─centos-swap 253:1    0     4G  0 lvm   [SWAP]
4 C8 ]7 ?* j# Bsdb               8:16   0 447.1G  0 disk  0 V$ |4 I- M  B6 }" q- W
└─mpathj        253:9    0 447.1G  0 mpath
2 F: V+ V3 q( t* P7 h: K5 w# tsdc               8:32   0 447.1G  0 disk  
! U" T" e/ V3 }1 O/ C7 d4 H└─mpathi        253:10   0 447.1G  0 mpath
6 P( ]/ X& t% G3 W* msdd               8:48   0   3.7T  0 disk  : j% I6 P( Q4 N* z2 ^& i5 p8 x3 C- t
└─mpathc        253:8    0   3.7T  0 mpath % B8 y& `* E$ C/ y+ Y" \
sde               8:64   0   3.7T  0 disk  
$ j3 M- p5 w7 [  Z* Y└─mpathh        253:2    0   3.7T  0 mpath
/ J& E* X# }( A% D8 \7 p2 Hsdf               8:80   0   3.7T  0 disk  2 z' G$ f. B: G! o, o3 O3 Q
└─mpathf        253:7    0   3.7T  0 mpath 7 S8 U+ u. o6 Z& q) N4 m* h
sdg               8:96   0   3.7T  0 disk  
0 y2 H( ~! _5 \& }└─mpathd        253:11   0   3.7T  0 mpath
5 H; `6 c6 F5 f) L! [% g/ u9 Csdh               8:112  0   3.7T  0 disk  * ~5 F8 F0 t  `4 `
└─mpathk        253:6    0   3.7T  0 mpath " y9 v- {% n5 c# ?
sdi               8:128  0   3.7T  0 disk  
' S, n" p  l: U$ w+ J└─mpathb        253:12   0   3.7T  0 mpath
6 V5 V" R* V; o. F8 \* C2 ^sdj               8:144  0   3.5T  0 disk  ' O5 j- @4 m2 v8 r* \$ b
└─mpathe        253:4    0   3.5T  0 mpath
9 Y& d& z' L% f. c3 W- H% Lsdk               8:160  0   3.5T  0 disk  - P; z" o7 p* U4 k" N2 d5 P
└─mpathg        253:3    0   3.5T  0 mpath ! P2 Y: T9 i. q* V9 u( E
sr0              11:0    1  1024M  0 rom   + x' r. ^4 l2 h& X9 a# }) Y" l
sr1              11:1    1  1024M  0 rom   
- L3 M6 E9 @! @& |/ R! V+ H3 Snvme0n1         259:0    0 349.3G  0 disk  
4 k! t6 ~0 p6 B# A" d) k! A! `└─mpatha        253:5    0 349.3G  0 mpath
( ^6 A0 ]( Z2 U! F[root@ceph1 ~]# multipath -F& l' W2 K. F5 a  r& V( ]
Aug 12 11:31:24 | /etc/multipath.conf line 3, invalid keyword: udev_dir
) S* v: |6 Z( F* w( r  u
& |2 B+ t3 C9 q" `4 T- q
; ]% x" o" F0 Q- x
( y/ s4 s4 ?" D( d* @& M% X
7 K) f4 Q# w) ^, s" \+ D
multipath操作命令' w" ^" A( B1 Z% G6 D& J2 {
# /etc/init.d/multipathd start #开启mulitipath服务$ K5 Y9 J4 D; z8 L! |0 n7 U
# multipath -F #删除现有路径
/ k" r) V# K5 }# multipath -v2 #格式化路径  X4 d1 n/ e6 v1 r
# multipath -ll #查看多路径8 ^' J' q3 k9 d5 P2 I
# A  U3 h9 g  S$ ?7 `5 e
" ~" \9 q$ v* R# j+ \
2 I3 R) n  q$ g9 ]- ?! c

2 T( x$ E, R  C# p[root@ceph1 dev]# multipath
' m* H& ~2 W: H! A; C2 L8 z: Dmultipath   multipathd  
" i' N1 b- ]# `& \[root@ceph1 dev]# multipath -ll
9 A2 w6 p' y! {" yAug 12 11:33:33 | /etc/multipath.conf line 3, invalid keyword: udev_dir5 }. A% {7 u5 [6 i* {! F; X: E
[root@ceph1 dev]# multipath -l
0 Q1 o1 n) n+ o; v4 oAug 12 11:33:37 | /etc/multipath.conf line 3, invalid keyword: udev_dir7 _- H+ t0 D- p
[root@ceph1 dev]# multipath -ll4 T4 b6 G0 K) K9 Q8 U, m
Aug 12 11:33:39 | /etc/multipath.conf line 3, invalid keyword: udev_dir
% P' h  @% \7 X* j, T6 X* [6 c
6 W7 k4 [/ K+ m- A
1 \; g+ y" T& E7 Y& K- i

! {' L. r- Y) i
7 d+ l4 @+ j3 w$ c
[root@ceph1 dev]# multipath -F+ O2 {; L/ A+ `9 z. D- t- i( a2 F
Aug 12 11:34:33 | /etc/multipath.conf does not exist, blacklisting all devices.
/ W& ]9 X+ k: N7 e* \Aug 12 11:34:33 | A default multipath.conf file is located at
% K7 s4 B# ~5 g7 b5 D2 ?Aug 12 11:34:33 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf0 O& g0 I) V+ P/ L! c7 ~+ T5 N! Q
Aug 12 11:34:33 | You can run /sbin/mpathconf --enable to create
1 d; G% P5 d# N0 ~! |1 o2 e  IAug 12 11:34:33 | /etc/multipath.conf. See man mpathconf(8) for more details

6 m( m0 L0 ?$ L+ d& U: w9 t7 ~% n" k

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:20 | 显示全部楼层
[root@ceph1 ~]# lsblk
0 k& i8 U  B2 a9 I+ a7 q& L- xNAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT0 Y- v8 j! t; T; M& C5 m* g2 `+ w
sda               8:0    0 557.9G  0 disk
) y4 a; q2 ]& S2 s2 W8 U0 M├─sda1            8:1    0     1G  0 part /boot) [' t3 l& N" [$ o
└─sda2            8:2    0 556.9G  0 part
! G; m. l# L3 |6 t9 ^1 \( P! @+ D# Z1 i  ├─centos-root 253:0    0 552.9G  0 lvm  /& D/ N+ k" b1 t( y
  └─centos-swap 253:1    0     4G  0 lvm  [SWAP]
# j% t# y4 v% x3 Xsdb               8:16   0 447.1G  0 disk 8 |) O" _8 y+ d. N7 _
sdc               8:32   0 447.1G  0 disk - N# o8 o, O$ c' C& E; @
sdd               8:48   0   3.7T  0 disk
5 u8 H8 X% A& Q* d0 G) xsde               8:64   0   3.7T  0 disk
+ H" O+ ]8 R" \: h! z2 Qsdf               8:80   0   3.7T  0 disk 0 B- L% A& ^. H9 _; a1 v
sdg               8:96   0   3.7T  0 disk   z& [& s; |& E" w8 b
sdh               8:112  0   3.7T  0 disk
  s; N- c7 y$ _3 l" H: L  @4 osdi               8:128  0   3.7T  0 disk
; ]2 s0 o+ d3 l9 Isdj               8:144  0   3.5T  0 disk
1 L8 y) C9 A" F  _sdk               8:160  0   3.5T  0 disk
8 c' ?7 M' d6 x$ isr0              11:0    1  1024M  0 rom  
+ ?$ `# E5 u: i4 xsr1              11:1    1  1024M  0 rom  ; ~* d4 Q- u; P/ W. o; i  Q
nvme0n1         259:0    0 349.3G  0 disk 5 N2 k* _9 v" D% j# l% X( \
& u& P4 ?0 }; u8 x
重启系统之后,看见问题视乎解决了。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:21 | 显示全部楼层
4、 multipath磁盘的基本操作! d. G  J( n+ t3 b% ?6 h4 R2 ~
要对多路径软件生成的磁盘进行操作直接操作/dev/mapper/目录下的磁盘就行.- @) T' ^, u; P+ V8 A
在对多路径软件生成的磁盘进行分区之前最好运行一下pvcreate命令:, C% b8 ^$ a" d. S* j6 i
# pvcreate /dev/mapper/mpath07 A. Q  ~& N2 n; g$ H+ e
# fdisk /dev/mapper/mpath0
) a  r/ P4 _! y' e3 ~+ A% _& I% G. Tp_w_picpath
' {7 j( w+ U# o1 u7 D用fdisk对多路径软件生成的磁盘进行分区保存时会有一个报错,此报错不用理会。
& p& ~5 o! E8 W! t! Rfdisk对多路径软件生成的磁盘进行分区之后,所生成的磁盘分区并没有马上添加到/dev/目录下,此时我们要重启IPSAN或者FCSAN的驱动,如果是用iscsi-initiator来连接IPSAN的重启ISCSI服务就可以发现所生成的磁盘分区了. \" j5 X! Q) Z
# service iscsi restart
/ R: }/ M4 f- m, S# ls -l /dev/mapper/7 a' h* U% @+ c! Z1 d8 X" U" L
p_w_picpath, N$ \) r4 }; {) X3 z2 U& B
如上图中的mpath0p1和mpath1p1就是我们对multipath磁盘进行的分区& s# b- `7 X! j4 v5 Q* R$ Y
# mkfs.ext3 /dev/mapper/mpath0p1 #对mpath1p1分区格式化成ext3文件系统4 A4 T3 v: c: u- u: U6 [; A
# mount /dev/mapper/mpath0p1 /ipsan/ #挂载mpath1p1分区* s" W( c* Y1 H0 I$ r
p_w_picpath" G+ K! @$ ^! [! f9 a  g+ }
8 O+ ]  }( j  |
5 O5 L6 ?3 f3 L. ]0 d

, d+ n" ~: U! w0 E! B) a: `( A( ]四、multipath的高有配置% O# F! m& A" m! O, N. T. @
以上都是用multipath的默认配置来完成multipath的配置,比如映射设备的名称,multipath负载均衡的方法都是默认设置。那有没有按照我们自己定义的方法来配置multipath呢,当可以。, \; b7 N8 M8 R# }3 n9 z
1 、multipath.conf 文件的配置
7 D4 N5 l: }4 p: f' e, U7 d9 i+ M接下来的工作就是要编辑/etc/multipath.conf的配置文件* A- w- p9 D2 }' g" w& D& y* }# C
multipath.conf主要包括blacklist、multipaths、devices三部份的配置( Y4 O% h5 [) _1 K: z* P0 C  @
blacklist 配置
% U" j4 X2 T1 n. h' Zblacklist {9 q" i9 l7 i/ W& Q3 Q: T
devnode "^sda"
5 O6 L/ T; N2 e8 [; R' r: S: S0 b}
9 q0 t2 \2 m3 o" M+ Z0 l0 i6 aMultipaths 部分配置multipaths和devices两部份的配置。
, m& S$ ^; B5 l6 Q& C+ fmultipaths {
; ^" g* q- L" S- Cmultipath {
$ q- v% s7 \7 p: g: swwid **************** #此值multipath -v3可以看到
4 Q2 d( \6 b) Y' U; q3 E' ]alias iscsi-dm0 #映射后的别名,可以随便取
  b  k$ g( p& T' npath_grouping_policy multibus #路径组策略8 L4 o5 Y) i; h' U8 q
path_checker tur #决定路径状态的方法; x2 w1 E0 J$ I( V4 W+ @0 d
path_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
, y4 J1 ^, ^7 A  d4 ]; S}
& c6 w: o& w1 Z6 G  [} + H; s- ~3 K0 f" H& h% n
Devices 部分配置
- W$ v7 q7 W7 Xdevices {
+ ]+ b% Y) d) Y+ M2 L3 P( hdevice {1 G7 Q/ ?8 S0 o3 e
vendor "iSCSI-Enterprise" #厂商名称
0 B/ ^* Y' R' \) g9 ^6 U+ S4 H! dproduct "Virtual disk" #产品型号3 J& s* c/ R1 f/ N4 h6 Q8 }
path_grouping_policy multibus #默认的路径组策略
/ n, o, O3 p5 T# A  p; ]+ ^; l; ogetuid_callout "/sbin/scsi_id -g -u -s /block/%n" #获得唯一设备号使用的默认程序
+ Z6 r5 e8 |, |/ X6 Pprio_callout      "/sbin/acs_prio_alua %d" #获取有限级数值使用的默认程序
4 G% U/ S3 ^3 Q% N* X1 Ipath_checker readsector0 #决定路径状态的方法( M. w- J: H( q3 d
path_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
; }& R: k9 Y0 Z! e6 ofailback        immediate #故障恢复的模式! ?" X! V) G8 G9 H
   no_path_retry      queue #在disable queue之前系统尝试使用失效路径的次数的数值$ Z) u  I$ A! X8 p4 V& Y5 ~; a
  rr_min_io       100 #在当前的用户组中,在切换到另外一条路径之前的IO请求的数目' d  |: p$ r4 q2 g0 @" X7 Q1 F
}
$ F0 Z& |6 k2 E6 Q3 ?/ s4 t0 [}
9 A$ O) A$ M$ j$ S) ]( {如下是一个完整的配置文件
! `( J) b! Z5 a# m/ iblacklist {
( v! r5 h* i' G! {devnode "^sda"! Y' x1 Y( [) K$ I8 A" b
}
( ^' c3 ^2 V) l- O5 {defaults {
% F" n! }2 B6 t: vuser_friendly_names no
0 `, V. c1 C0 Z  G}
0 U/ C6 c- B7 S- r! \& ?+ Hmultipaths {( K7 N, Z; j+ ^6 i- U: ~3 p! H& ~
multipath {! ~0 _4 x1 g% l+ \' h0 |
wwid 14945540000000000a67854c6270b4359c66c272e2f356321
" e4 Z( n$ i* D/ L- M: calias iscsi-dm09 {! H. Z2 o* H0 R
path_grouping_policy multibus
) x0 e5 d- O; J! j! ?8 Qpath_checker tur
1 {" ^; l% U" x! cpath_selector "round-robin 0"
7 z% V* G6 Z% Q" T}( x/ `1 q1 R3 r) n  ^1 L. K" S. J
multipath {+ h3 v& [: S% g$ i* g3 q
wwid 14945540000000000dcca2eda91d70b81edbcfce2357f99ee
5 E  V- L$ @( N1 p5 C' galias iscsi-dm1. m( d/ Q( g  L: o: v" f
path_grouping_policy multibus
: e, U; U% y' q/ xpath_checker tur
3 d, p: M2 _" F' q( d" d* @path_selector "round-robin 0"
! ]0 ?& Z& u' Q" f}
% H& ?. `. J1 H1 m- v! w" Omultipath {
. i: m/ b' t' w: jwwid 1494554000000000020f763489c165561101813333957ed96
; ]- o( U: J' f% l! D: ?6 Yalias iscsi-dm2
$ o4 w/ C7 T; |+ hpath_grouping_policy multibus8 L( N8 _1 d9 [/ s! w7 @$ ^% A  Y
path_checker tur1 S$ X1 C6 F( p  N! _% Q6 P8 b
path_selector "round-robin 0"
2 N# X- k+ z3 Q+ h}+ X6 a9 H( E9 }
multipath {% A% {. p: }$ ?8 N
wwid 14945540000000000919ca813020a195422ba3663e1f03cc3
1 ?& X4 P/ ?  J; L7 m# Galias iscsi-dm3
1 U; _0 M: e& C" d; a  S  fpath_grouping_policy multibus
# s2 C, u8 I7 B& _% _. gpath_checker tur
4 v; z8 e% H! Opath_selector "round-robin 0"
( a+ d5 b. }3 Z. P; H+ G}
. F( l) m9 M0 _- c! D}
! V3 ?. E3 P* g" y, E& A: `/ Bdevices {/ t5 r* l; }, {" k
device {
. _: Z; [8 }; c7 i' N4 Cvendor "iSCSI-Enterprise"1 X) y& f4 v: `) o( t6 c
product "Virtual disk"
4 M- C0 T6 }6 n# Apath_grouping_policy multibus# ]( I/ S* a6 q7 ]) R0 T/ f
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
9 @- q1 O0 V0 m' hpath_checker readsector0
/ M! y; T+ V" k& _1 u1 L! |  Upath_selector "round-robin 0"
$ B/ C$ W( K6 h! M}  V1 t/ Q- \( M# g- \
}! N* V1 _2 x/ d: R
获取wwid的方法:
4 l% \! R6 l! T(1)默认情况下,将使用 /var/lib/multipath/bindings 内的配置设定具体每个多路径设备名,如果在/etc/multipath.conf中有设定各wwid 别名,别名会覆盖此设定。
$ p& j. I) c1 v7 y3 ip_w_picpath
) f6 C( O, r, w# v/ R5 E(2)# multipath -v3命令查找
# T5 c' g8 {3 z" rp_w_picpath% X8 P6 O. Z# b" e" w  A
2 、负载均衡测试4 M5 R/ I( H2 S1 ]/ {
使用dd命令来对设备进行写操作,并同时通过iostat来查看I/0状态,命令及输出如下:
" F7 g. l3 Z8 E& m6 B! U; {# dd if=/dev/zero of=/dev/mapper/iscsi-dm1p1
8 r8 ?/ q$ R5 @8 b- A: I$ ~开启另外一个终端用以下命令查看IO情况! e6 j1 ?! P! y) c5 n
# iostat 10 10
0 `) I' B: w( d7 d* vp_w_picpath
3 u- a) o  e5 L3 D5 n- u通过上述输出,我们看到,在对/dev/mapper/iscsi-dm1p1读写时,实际上是通过对/dev/md-1包含的当前active的所有设备,即/dev/sde1,/dev/shl这2条路径来完成对实际的LUN的写过程。) k. w, L% q# |& h' z$ `3 @) C
3 、路径切换测试
* M) J, \. h" A" j& x: c: ]5 l! j首先,我们拔掉服务器上一根网线,经过不到10秒,我们看到:MPIO成功地从上述“失败”的路径/dev/sel切换到了另外一条路径/dev/sdh1上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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