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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-12 12:00:19 | 显示全部楼层 |阅读模式
[root@ceph1 ~]# lsblk * U2 R2 m# g; m; X+ M
NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
+ c2 O2 y; B* ~! X' ]sda               8:0    0 557.9G  0 disk  ) \4 v/ [/ f4 q, G. G
├─sda1            8:1    0     1G  0 part  /boot
0 q. x8 s4 r2 O- I" S: e* p4 i9 |└─sda2            8:2    0 556.9G  0 part  6 U8 j! W( n  ?3 K% h9 O
  ├─centos-root 253:0    0 552.9G  0 lvm   /
1 s- y/ g( @2 c  └─centos-swap 253:1    0     4G  0 lvm   [SWAP]
+ ~4 ?# L8 b2 Gsdb               8:16   0 447.1G  0 disk  * ?, p1 {! F" j; l: ~) J2 g
└─mpathj        253:9    0 447.1G  0 mpath ! A/ E/ L0 Q1 d
sdc               8:32   0 447.1G  0 disk  
: j% c8 S* f, E+ h0 x└─mpathi        253:10   0 447.1G  0 mpath $ }/ k5 Q' q3 M, V" W4 A4 ?8 Z, T$ J4 B
sdd               8:48   0   3.7T  0 disk  1 }% R/ w3 Z9 d4 d
└─mpathc        253:8    0   3.7T  0 mpath
/ r1 F  N# H3 C7 psde               8:64   0   3.7T  0 disk  
6 c% R  ]( x6 k! C4 B' J1 i3 i* I└─mpathh        253:2    0   3.7T  0 mpath 8 a2 d# Y% |1 z- J" E- Y) f
sdf               8:80   0   3.7T  0 disk  ! }8 P4 g# m) L; d$ q6 M
└─mpathf        253:7    0   3.7T  0 mpath $ U2 {+ L6 v9 l2 `" j! z8 N2 V/ i
sdg               8:96   0   3.7T  0 disk  ; Q4 i5 b1 Q* r1 m
└─mpathd        253:11   0   3.7T  0 mpath
% N1 {* s& p9 Z" E; y; T  fsdh               8:112  0   3.7T  0 disk  1 }$ G5 j) X  {( ?
└─mpathk        253:6    0   3.7T  0 mpath # q5 L1 n1 k# e& f
sdi               8:128  0   3.7T  0 disk  
* U) }, U1 ~: S" s) n└─mpathb        253:12   0   3.7T  0 mpath
& K7 A6 U% c0 G  esdj               8:144  0   3.5T  0 disk  
- D7 k3 Z/ B. D└─mpathe        253:4    0   3.5T  0 mpath " Q- x) v# k/ y
sdk               8:160  0   3.5T  0 disk  * J9 s9 r; {$ h1 m& P4 o6 F( ]$ f
└─mpathg        253:3    0   3.5T  0 mpath . Y/ a/ ^3 e3 z( S3 \0 b  {7 @' Y$ s
sr0              11:0    1  1024M  0 rom   
/ q+ F9 Q% O/ I( R2 {% Fsr1              11:1    1  1024M  0 rom   
& b9 j5 S' O# p/ ^: envme0n1         259:0    0 349.3G  0 disk  " `8 @* k& o9 a9 l! ^+ J  x
└─mpatha        253:5    0 349.3G  0 mpath
( a$ W; _4 t) D3 A8 B" d[root@ceph1 ~]# multipath -F
- @$ h7 {/ R& B/ E% e4 ~Aug 12 11:31:24 | /etc/multipath.conf line 3, invalid keyword: udev_dir

/ G7 `  \" z, t$ g) e9 ?) c6 t$ f  g6 c) S4 j2 E$ ?9 ^, m

. E1 [$ V8 i3 p3 _
; J& H. M  n, C% Y- D2 c, u
+ m, M. K& s- |
multipath操作命令
& _6 l7 {+ A" \# q: p5 L* B; b
# /etc/init.d/multipathd start #开启mulitipath服务
: c' @$ F. [3 x% |. m# multipath -F #删除现有路径* y$ R1 E2 c3 r
# multipath -v2 #格式化路径
3 ^9 o4 c1 s/ Y3 K# multipath -ll #查看多路径  r6 {# e& S( U  t
. h8 E7 H& z0 f1 U& v5 N; ?

/ u7 I, X0 R* z" P+ j
* f/ H- N5 X$ p5 L- X
4 O% U/ i' R: ~9 x: J6 z
[root@ceph1 dev]# multipath( t, H4 Z7 @( M5 U; t2 S
multipath   multipathd  
% [. v( ^* B) P[root@ceph1 dev]# multipath -ll' k2 R3 K% r7 _; U
Aug 12 11:33:33 | /etc/multipath.conf line 3, invalid keyword: udev_dir( S9 P( ^& Z; K# |" @; o  l
[root@ceph1 dev]# multipath -l
% y. @# A' L. [) H. ~3 o$ wAug 12 11:33:37 | /etc/multipath.conf line 3, invalid keyword: udev_dir- w0 }& u+ Z% ?6 h! Z$ o
[root@ceph1 dev]# multipath -ll6 G5 b0 h4 y6 A6 R& l
Aug 12 11:33:39 | /etc/multipath.conf line 3, invalid keyword: udev_dir
4 d7 W2 K7 K( i

% Q: x9 ^( J0 n. _% O6 ?& a0 a
' f" S' _# H* U
6 O* H& m0 M. Y) u

! L* y$ t3 i/ Z' L* D[root@ceph1 dev]# multipath -F
6 s  k. }, N- R6 o; z* l1 o$ AAug 12 11:34:33 | /etc/multipath.conf does not exist, blacklisting all devices.
* r% W# j. z0 sAug 12 11:34:33 | A default multipath.conf file is located at
0 O9 R5 Y/ ^0 O& ?, T5 W) R% zAug 12 11:34:33 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf( r7 v% _: K- H# U$ @5 r' `
Aug 12 11:34:33 | You can run /sbin/mpathconf --enable to create
7 `- M1 R/ U! x! U' {- m6 EAug 12 11:34:33 | /etc/multipath.conf. See man mpathconf(8) for more details

4 `3 }9 q, F) X" N

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:20 | 显示全部楼层
[root@ceph1 ~]# lsblk
; W, w5 F( i% S& C$ L8 UNAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
( |3 G+ y5 X0 U  Y& Csda               8:0    0 557.9G  0 disk
/ U2 Z" W; F% Q6 X1 H├─sda1            8:1    0     1G  0 part /boot2 [2 a) g3 K1 C
└─sda2            8:2    0 556.9G  0 part 0 H- @! Y, ^- L! ^
  ├─centos-root 253:0    0 552.9G  0 lvm  /
* K; Z# G/ y7 \. p' Q( C  └─centos-swap 253:1    0     4G  0 lvm  [SWAP]" e7 r5 o+ F" H/ Z& h$ L9 ~
sdb               8:16   0 447.1G  0 disk
5 \. \% S' E  z! b6 h& jsdc               8:32   0 447.1G  0 disk 4 X4 C# k  z5 m5 g& L& A
sdd               8:48   0   3.7T  0 disk
3 m; b! r8 x/ b, r- Ysde               8:64   0   3.7T  0 disk
* |5 t; ~; g* ?- D& Z+ H5 y4 Psdf               8:80   0   3.7T  0 disk 7 @/ F- A& W/ ^' @
sdg               8:96   0   3.7T  0 disk
$ v& j( i5 D- g: }2 |5 v* Rsdh               8:112  0   3.7T  0 disk
* O5 G/ D+ E, c  S, Asdi               8:128  0   3.7T  0 disk ' n( x% {! D: N* H% f
sdj               8:144  0   3.5T  0 disk 4 ?. ~2 x* W  M
sdk               8:160  0   3.5T  0 disk
" L' U/ S. N5 M. n0 F. F6 rsr0              11:0    1  1024M  0 rom  
" g  d6 h# e6 e' m0 Wsr1              11:1    1  1024M  0 rom  4 E' V8 q* Y9 F% x" L3 G
nvme0n1         259:0    0 349.3G  0 disk
( r- k8 z0 m% g) `( s$ i$ X/ w0 N
% O' a; ]' x3 r1 Q$ P1 G) U) @2 b重启系统之后,看见问题视乎解决了。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-12 12:00:21 | 显示全部楼层
4、 multipath磁盘的基本操作
% M4 w1 U. I. e/ _要对多路径软件生成的磁盘进行操作直接操作/dev/mapper/目录下的磁盘就行.0 q' f' _5 T, |: Q/ I5 K- ]: g% {
在对多路径软件生成的磁盘进行分区之前最好运行一下pvcreate命令:
, L, Z3 t) ?- u# ~# pvcreate /dev/mapper/mpath0
0 @) I9 o# @0 D3 a( z1 a# fdisk /dev/mapper/mpath0
! D8 ~/ X- s: u* _+ w: U4 _p_w_picpath) Q5 R* A+ \& F: B1 A3 Q
用fdisk对多路径软件生成的磁盘进行分区保存时会有一个报错,此报错不用理会。' A* R, h' t& i2 Z( m
fdisk对多路径软件生成的磁盘进行分区之后,所生成的磁盘分区并没有马上添加到/dev/目录下,此时我们要重启IPSAN或者FCSAN的驱动,如果是用iscsi-initiator来连接IPSAN的重启ISCSI服务就可以发现所生成的磁盘分区了; E5 `: U8 \; R4 P
# service iscsi restart
5 a% N( y+ x' r9 D# A9 U! C# ls -l /dev/mapper/
8 _# N4 E& i' D$ J0 R$ I( mp_w_picpath$ R5 l1 l1 U% N" k" N+ V
如上图中的mpath0p1和mpath1p1就是我们对multipath磁盘进行的分区
/ @/ ]; M% E3 t0 A% L9 k; Q% c8 P  i# mkfs.ext3 /dev/mapper/mpath0p1 #对mpath1p1分区格式化成ext3文件系统
  i2 `0 ^7 |; S9 U( V# `$ f# mount /dev/mapper/mpath0p1 /ipsan/ #挂载mpath1p1分区7 R1 ~8 x: R0 C. X! R9 ?- x
p_w_picpath
* }$ @" [: ?- Y9 [7 \+ k/ E
0 c6 k+ a  D% M" p. W
- y, Z: N2 \  f# `
" g  k; Q* Z6 f/ h5 F9 ?2 V6 B四、multipath的高有配置! o2 a' l/ L/ h/ }2 a2 @
以上都是用multipath的默认配置来完成multipath的配置,比如映射设备的名称,multipath负载均衡的方法都是默认设置。那有没有按照我们自己定义的方法来配置multipath呢,当可以。
; u  v# m7 }2 k1 、multipath.conf 文件的配置
! a. g& h5 k& i, `  |接下来的工作就是要编辑/etc/multipath.conf的配置文件$ H/ x) Z) v9 y
multipath.conf主要包括blacklist、multipaths、devices三部份的配置5 A+ D1 Q- n6 Y
blacklist 配置
! J7 r; @+ q% Y4 S2 d3 j, Lblacklist {
! N; ?8 Q1 y6 wdevnode "^sda"' n+ J9 y: {3 e$ t% [; |$ F( e; ?) }
}; f0 D! V: ?& c0 E" C/ I7 i
Multipaths 部分配置multipaths和devices两部份的配置。
+ X# O) W: S$ G! X! [multipaths {
# R; X* |# Q8 a, }  [& _1 bmultipath {
, u. v3 t! Y' z& g1 Kwwid **************** #此值multipath -v3可以看到
7 {& B) v/ z- w4 malias iscsi-dm0 #映射后的别名,可以随便取
8 j$ b' d' }5 \. F# y, lpath_grouping_policy multibus #路径组策略
7 j- Y) i) u$ z& {path_checker tur #决定路径状态的方法# Q, f) @2 R9 `+ i
path_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
9 [/ d2 F- ?' [" v9 c}; m& x- ]8 J1 S4 f
}
+ w5 _2 }( F1 R" h: h9 gDevices 部分配置0 w3 R" |3 ^1 ?7 s
devices {: \0 e4 ^" i; N$ a- F  ]
device {; F4 D; S( J, R, q) ?3 B3 ^9 d
vendor "iSCSI-Enterprise" #厂商名称) `' N' \7 M: Z: T5 B& e
product "Virtual disk" #产品型号8 o" {7 d; a2 P0 z) B8 O
path_grouping_policy multibus #默认的路径组策略* S9 ?2 h! D7 G
getuid_callout "/sbin/scsi_id -g -u -s /block/%n" #获得唯一设备号使用的默认程序/ J7 [) {& E# I
prio_callout      "/sbin/acs_prio_alua %d" #获取有限级数值使用的默认程序
, V$ d0 ]4 b0 O4 p, ipath_checker readsector0 #决定路径状态的方法
- |2 J3 M4 ^, p1 ^, Y9 U( ypath_selector "round-robin 0" #选择那条路径进行下一个IO操作的方法
1 e+ y5 r& Z* p- C5 vfailback        immediate #故障恢复的模式; N  j0 C3 ]$ }6 h/ u
   no_path_retry      queue #在disable queue之前系统尝试使用失效路径的次数的数值: g( ~, ~; ]& p* Y/ L
  rr_min_io       100 #在当前的用户组中,在切换到另外一条路径之前的IO请求的数目
* b: Q* p4 J6 [8 G# y9 w- M}
; O$ K7 p1 F0 q- N9 V  n}9 S8 ~3 _* J9 E' m
如下是一个完整的配置文件
" J# s9 u" k5 T+ m$ Pblacklist {& e; o9 c/ P. b5 e) ~
devnode "^sda", O! S7 ^$ s- O& h
}
: h  C  ^, g$ }defaults {
# z: c9 E( e" Z: L. wuser_friendly_names no. s  M" L7 k$ G  d6 Z  `! z, [
}
+ c4 S1 N* }" vmultipaths {
* J( ~, w; I( J. J0 t9 Vmultipath {
. i0 n( S7 K, Y: j( H* twwid 14945540000000000a67854c6270b4359c66c272e2f356321
# W% N; }- k$ \5 l" @alias iscsi-dm0: O6 e6 T2 A; y- Z+ f
path_grouping_policy multibus
& s2 O9 N# f( n8 e9 kpath_checker tur
: U" E5 g# W% w8 d+ C$ Wpath_selector "round-robin 0"
; k9 y* ?/ a; {% ?# @& u% W* a; {3 q}
  u, z* S; k" p2 N' z& {multipath {
3 ?5 E% h3 R6 K6 r$ q) s9 K  t' d4 _wwid 14945540000000000dcca2eda91d70b81edbcfce2357f99ee
6 J0 |( [! h: N1 u+ a: S! D  y! Lalias iscsi-dm1
7 R# f) v& Z, j4 C# ^3 npath_grouping_policy multibus
  `4 c8 ~0 A3 _0 Q+ f$ `) cpath_checker tur! d1 s- S" q8 v) _6 `" C! K, J" X
path_selector "round-robin 0"0 C" o4 I$ A% U" B; ~
}
- P% p& ]7 W7 A$ D/ z4 v* b% }multipath {
" L: a$ N+ e/ g* K$ Rwwid 1494554000000000020f763489c165561101813333957ed96
) y* A* s( r/ Ualias iscsi-dm20 Z# {5 ^; M) g3 D7 l. O: l2 t
path_grouping_policy multibus
5 Y. T+ }0 a" ~- Upath_checker tur' z7 b9 y' v& _8 [: C" {& G( _
path_selector "round-robin 0"
+ M1 a( q2 y( X! l- D/ T% J}9 Z  w% W* f& |' _: U" @4 ?/ W5 _0 S$ ^% j
multipath {
' S8 I* P# F! C5 Xwwid 14945540000000000919ca813020a195422ba3663e1f03cc3
5 ]* u$ s3 W/ @+ v4 kalias iscsi-dm3( q3 {4 j) ?) Q! M
path_grouping_policy multibus
: C$ |0 j9 Q3 F. E# }, W  i3 `! Zpath_checker tur
8 L# s8 v5 N8 xpath_selector "round-robin 0"
- \/ {9 X' u0 n; O1 z% @6 U+ f}, v+ c! W5 E9 Y  e+ d! m
}
. d3 [: o  ?; r8 w) J! o$ j. ~$ z( ]devices {0 l8 X; k! u8 f" D
device {
" n6 m* |0 d, N. n( M5 ~8 Nvendor "iSCSI-Enterprise"
: i* w/ L* l9 n: U( w+ T" u" ?product "Virtual disk"/ o' L, n3 c+ M" `. D
path_grouping_policy multibus
" \" K4 ]- ]! u: e& hgetuid_callout "/sbin/scsi_id -g -u -s /block/%n"/ |- q1 g, G. u# P7 G
path_checker readsector0
8 U# p) t2 P" S; Gpath_selector "round-robin 0"
4 i& }# ]' ^7 `+ H7 Q}: b1 Z3 H+ X) L$ N5 D
}2 t5 m5 T7 G; h9 u- l
获取wwid的方法:
: U% e2 g7 D+ m' @% S(1)默认情况下,将使用 /var/lib/multipath/bindings 内的配置设定具体每个多路径设备名,如果在/etc/multipath.conf中有设定各wwid 别名,别名会覆盖此设定。
& K. \0 O' @, ~9 L: u- dp_w_picpath6 g2 B, e3 F8 _- f' R0 p* S$ i
(2)# multipath -v3命令查找
; L' {( y1 R. P4 \* `6 e% M' Fp_w_picpath
9 U" J8 v5 I8 \  B# ]: S+ p2 、负载均衡测试
/ m6 l8 q* t, V# _9 E9 A3 P使用dd命令来对设备进行写操作,并同时通过iostat来查看I/0状态,命令及输出如下:/ p! j3 s: [2 z+ r* y3 g
# dd if=/dev/zero of=/dev/mapper/iscsi-dm1p1( f1 S: K- ^  t7 J- S, C& k
开启另外一个终端用以下命令查看IO情况; C8 k# M: D8 x5 {1 W
# iostat 10 10
- a% W- _0 o% R+ ~  O* V* T8 B) Kp_w_picpath7 W5 U) _8 P8 Z  |
通过上述输出,我们看到,在对/dev/mapper/iscsi-dm1p1读写时,实际上是通过对/dev/md-1包含的当前active的所有设备,即/dev/sde1,/dev/shl这2条路径来完成对实际的LUN的写过程。
; B4 W3 p' d" \1 q$ {3 、路径切换测试% M8 J4 H0 v' r& s% {* B4 c
首先,我们拔掉服务器上一根网线,经过不到10秒,我们看到:MPIO成功地从上述“失败”的路径/dev/sel切换到了另外一条路径/dev/sdh1上。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 01:57 , Processed in 0.027669 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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