找回密码
 注册
查看: 531|回复: 1

Ceph修改mon ip地址操作

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-10-18 13:58:08 | 显示全部楼层 |阅读模式
背景# q1 L) |- L# U- o
最近公司服务器搬迁至外地机房,服务器中包含ceph存储集群,迁移到新机房需要整体修改服务器ip,因此mon节点的ip也将被修改,发现官网有修改ip的文档,正好参考官网记录一下。官网提供了只更改同一网络里的mon节点ip以及ceph集群更改到不同网络的情况下修改所有mon ip的方法。5 w/ z: l0 ]3 H  ^3 j

- h5 i7 \& m8 s# o2 z修改同一网络里的mon ip
3 _" g: w1 H2 [; E" V) J4 j- W5 ^这被官网称为是一种正确的方法。仅更改监视器的 IP 地址ceph.conf不足以确保集群中的其他mon收到更新。要更改监mon的 IP 地址,必须添加一个具有要使用的 IP 地址的新mon节点(如添加监视器(手动)中所述),确保新mon成功加入仲裁;然后移除旧 IP 地址的mon。最后更新ceph.conf文件以确保客户端和其他守护程序知道新mon的 IP 地址。5 J, B) u7 z- _2 v0 Z

: p1 |* t& z, ]. Y1 L手动添加mon节点: z0 n! \' N9 V2 N
在目标节点上,新建 mon 的数据目录。{mon-id} 名称自己定义 。
% B& o2 v4 k5 W3 j
! b' y; M; s0 b1 u; S/ }  h复制
; B8 I  ?3 E0 Nmkdir /var/lib/ceph/mon/ceph-{mon-id}0 G6 t* N1 k& Z: G
mkdir -p /var/lib/ceph/mon/ceph-`hostname -s`( b5 Z( ^. G9 P/ i" @3 E5 u/ U
获取 mon 的 keyring 文件,保存在临时目录下。
; F0 w% a" v* d7 Q5 q
$ \" F0 M# A& @; I0 C复制
9 ~3 ~8 `  t) S- B% h2 \3 ]ceph auth get mon. -o /tmp/ceph.mon.keyring3 G# U/ Q, i2 I+ J: |2 _  p
[root@ceph1 ~]# ceph auth get mon. -o /tmp/ceph.mon.keyring # l" _1 v9 g, ~8 A
获取集群的 mon map 并保存到临时目录下。
- E2 m& r, l6 ]- N. B% z
0 k0 b! a+ N4 J6 j复制3 S. b/ M; u# |) [/ Z
ceph mon getmap -o /tmp/monmap
, j7 c. h0 H; _, c/ y[root@ceph1 ~]# ceph mon getmap -o /tmp/monmap
/ m; D1 d  E* J9 igot monmap epoch 3" s$ q/ `0 S+ Q0 |5 w
格式化mon的数据目录并指定上面两步创建的monmap和ceph.mon.keyring文件路径
6 A' s! W/ _8 f% I[root@ceph1 ~]# ceph mon dump
: O- o# c$ g* Mdumped monmap epoch 3
" X. o- X2 Y# q' F( Q1 f3 Qepoch 3
+ u1 \  O* T$ J2 N! [" efsid 9c7a1c4a-e1e9-4ebb-9254-c7dbaf30a23f
' u- R3 @3 k, G- Llast_changed 2022-10-17 10:51:14.554172( [1 I) ]' w7 S; S6 s# B; l6 Y; C
created 2022-10-17 10:46:00.900267
8 y1 \8 J' ]) w: d6 wmin_mon_release 14 (nautilus)! Z. p: T% ?; @) L
0: [v2:192.168.120.26:3300/0,v1:192.168.120.26:6789/0] mon.ceph1( W8 U9 t- w* }$ Y
1: [v2:192.168.120.27:3300/0,v1:192.168.120.27:6789/0] mon.ceph29 z) R2 K! O8 x* z- R/ h* b4 t1 X8 K
2: [v2:192.168.120.28:3300/0,v1:192.168.120.28:6789/0] mon.ceph3( {9 }0 x; O4 ^7 V
复制( [# W0 l2 C) T9 l) ~: [" v0 Y( B
ceph-mon -i {mon-id} --mkfs --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
; Z4 u3 K; |+ }3 m* i& |& Z' z; f6 m- Q- L) a8 y& k0 n( P
启动节点上的 mon 进程,它会自动加入集群。守护进程需要知道绑定到哪个 IP 地址,可以通过 --public-addr {ip:port} 选择指定- ?6 I( A  L- p

: L' \% g% }+ {2 h/ s复制0 o- i4 Y9 M* m; E' \4 e* D
systemctl start ceph-mon@{mon-id}# D* \' W5 O+ t* s
ceph-mon -i {mon-id} --public-addr {ip:port}
" y4 o+ [2 x! x5 j% M, t[root@ceph1 ~]# ceph-mon -i ceph1 --public-addr 192.168.120.26" p( S/ c3 J3 X0 H9 _
; v+ y; Y- P4 L4 W
删除mon节点
) ?, y# f2 [7 A1 {5 e  M1.停止mon节点
/ h: k- v. n2 W" A
: N" @+ Z) E3 g: M: Y复制
9 D7 j5 b- H) q* O3 ?: nsystemctl stop ceph-mon@{mon-id}
! t1 r7 R7 _0 Y/ X* @2 k8 @+ asystemctl stop ceph-mon@`hostname -s`.service
9 a) P  w3 L* H2 D( O! G2.从ceph集群移除mon节点" \$ G- y8 x/ c, H, ]

  j/ c& d- R* W复制
  V4 L& t" D1 D$ G* k4 Sceph mon remove {mon-id}9 m# u2 Z6 m) b
[root@ceph1 ~]# ceph mon  remove ceph1; F/ A$ P9 i1 d4 P& d
! \$ R$ t. d1 W4 T. M+ l( B5 `% b
3.在ceph.conf配置文件中移除mon部分
$ J9 T2 G9 P: S
0 u0 @! O, H. I4 \+ d* Y) a7 u修改所有mon节点ip' u  {" U# m+ Y) ^$ e" X1 t" A
如背景所说,我们刚迁移了ceph集群的服务器到其他地市的机房。这需要改变mon节点的所有网络。在这种情况下,解决方案是为集群中的所有mon生成具有更新 IP 地址的新 monmap,并将新映射注入每个单独的mon。我这里是将192.168.28.0/24网段变更为192.168.244.0/24网段。
1 _9 k/ J% g7 w, N5 U1 _
% M5 A7 m, E2 u  n7 }获取monmap,如果此时已经连接不上集群了可以在mon节点上使用第二条命令,并指定{mon-id}
, k& V8 o- X- g+ K. b6 y0 r' d+ i; q
复制' ^$ x. p  o; m4 M2 X3 f5 }5 u
ceph mon getmap -o /tmp/monmap
3 N) w( Z0 f! m3 b9 ~$ k8 Oceph-mon -i node3  --extract-monmap /tmp/monmap
* F5 ^9 Q- [" ]
4 {/ n/ J% I- q2 d! x. u& f( \monmap内容如下:
- u% R- W- M6 }: h4 {% P  Z4 w, Q1 `  n6 ]4 [
复制
4 S7 K; Q) N6 _' j/ f; p+ mmonmaptool: monmap file /tmp/monmap
+ P0 ]& n- y; q5 h: k7 lepoch 7
$ t4 p, A: x! o$ ?fsid 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4
% D1 S9 Z+ Y, V! U6 s( glast_changed 2022-10-08T10:00:04.055141+0000) T( u# R- D' n  A" }$ }- [
created 2022-10-08T03:45:47.301186+00000 L1 v1 G( _+ a# E0 f# j
min_mon_release 16 (pacific): z6 `1 s  e8 S
election_strategy: 1: _. J7 B9 F/ V& `
0: [v2:192.168.28.159:3300/0,v1:192.168.28.159:6789/0] mon.node1
6 l2 n7 j8 P2 G; Z4 k4 \4 X1: [v2:192.168.248.160:3300/0,v1:192.168.28.160:6789/0] mon.node2
. D& k) c3 @) }% ^2 q, }$ h2: [v2:192.168.28.161:3300/0,v1:192.168.28.161:6789/0] mon.node3
- l' R) g5 Q9 |4 R( s
) F1 b% @5 X6 d删除现有的mon:
5 r( O; [0 v0 }6 B3 E. C% G8 w2 z  D( p3 S# ^5 D1 z+ D. c5 L3 U
复制6 {. B% H& c, I, }7 }; a4 ]
monmaptool: monmap file /tmp/monmap
5 p# }* a5 w2 K# Bmonmaptool: removing node1
% y9 `: s6 q: Z1 x/ n. fmonmaptool: removing node2
9 ]" _; O% L0 `/ v0 m9 ~9 ~monmaptool: removing node3
$ h$ w. T- [5 J+ ]monmaptool: writing epoch 1 to  /tmp/monmap (0 monitors)2 s4 I. f" P4 m0 u$ H

- J8 r. ]% m# n( S  J添加新的mon:
6 j, Z/ T3 b+ K7 [/ n" T* p
8 }2 @" {8 U8 Z& P( G9 \; h" ]复制/ M( g: j0 }4 u9 I$ h* T- p
monmaptool: monmap file  /tmp/monmap
. [# K3 B# @( U" F4 q7 p. i) pmonmaptool: writing epoch 1 to  /tmp/monmap (3 monitors)! o3 A- g/ J" A" t
3 d( x$ j2 j. A- ~$ j1 f
停止所有mon服务并注入monmap,,每个mon节点都要执行;
4 F# i7 a) Z/ a$ M$ K1 z
6 g. b) d: F' B3 \, f复制
3 L7 I  D1 c/ X8 u4 w# |6 Rceph-mon -i {mon-id} --inject-monmap /tmp/monmap
2 z- y5 w. W0 O4 a[root@ceph1 ~]# ceph-mon -i ceph1 --inject-monmap /tmp/monmap( Y' @7 F, j$ x  q2 G: s
执行完成后需要重启mon" P3 d" g2 b; `
, F2 r. E$ R" X6 X5 L# E+ E
复制
, [& w# U' ~7 w' }6 S- M4 ^; e9 Tsystemctl start ceph-mon@{mon-id}0 F: C: \- u4 v/ w

9 _& U/ E5 D% q% V% P& q[root@ceph1 ~]# ceph daemon mon.ceph1 mon_status
# X& Y" X3 A' a' B7 h{) i. }1 C9 I5 W; c0 b( y  b9 \! Y
    "name": "ceph1",
, e( t3 n5 X5 C+ u5 R8 X- v    "rank": 0,
+ W- E0 X# m$ h, `1 }    "state": "leader",
$ U& |9 `3 t1 S/ G8 m2 L    "election_epoch": 30,/ [  z- `* h" @' C" a; u
    "quorum": [
! {6 a$ @9 B  D$ ^" K0 l        0,
8 m& T; Z3 B7 L  v; d1 S% N        1,
# O+ C- h! ?/ |/ d2 }0 x        2
) R. K! w- R" ?1 E8 \    ],5 Q# p2 q$ Y+ q% n8 Q
    "quorum_age": 79151,
/ J& c6 [9 n' c2 o    "features": {5 X* D8 @) W% U+ p2 H# [
        "required_con": "2449958747315912708",
6 ~( E, x2 ]/ e1 S6 c3 h        "required_mon": [
5 w# s5 b7 x  ?) c# ]            "kraken",
! T, x3 X/ E& l  }! W* s% |            "luminous",1 P) V. K3 i! e! r# K# \, \$ _
            "mimic",
+ Y1 l* u" K9 k  i7 n7 f            "osdmap-prune",
  L6 y& f- c* p! C1 m. c: ?            "nautilus"5 |9 T! v8 e( A1 P
        ],: J! O$ W8 M% b$ O# M' w  D
        "quorum_con": "4611087854031667199",
* N8 O/ `/ B! L8 f7 q; ?! C' [$ L1 |        "quorum_mon": [; D: N. |, h; G; S
            "kraken",
: [4 H( I* z' l# r, C            "luminous",
/ J  _; j7 z5 z) \# _& z# Y+ R+ f            "mimic",& x, Y" A& b* n9 x0 t0 z
            "osdmap-prune",
) ]3 [7 U8 [/ m            "nautilus"
, M4 K% L/ u8 ^- \        ]; n4 {* r: n% w+ h
    },
0 K  V8 `$ Y; l. ^, @" v    "outside_quorum": [],
$ J1 y- C6 C2 J" B! j    "extra_probe_peers": [],2 u+ U3 E0 p* l, q! Q$ I  B5 W
    "sync_provider": [],
: q$ a* S9 e7 I7 h$ c1 L' Z& ]( ^    "monmap": {. ~" n7 s# f6 G" ]
        "epoch": 3,
% G5 U& |- N+ Z. V& U" m        "fsid": "9c7a1c4a-e1e9-4ebb-9254-c7dbaf30a23f",
0 I9 _/ ^! D- ^/ R  |, [        "modified": "2022-10-17 10:51:14.554172",
; M! x, ]4 j* r9 L$ S        "created": "2022-10-17 10:46:00.900267",4 [% _& E7 m' Q. A
        "min_mon_release": 14,
6 Z% u, G* O: L0 ?* q7 G! j; C        "min_mon_release_name": "nautilus",
4 p2 {" e1 s& t! J' c. K8 f) }6 a        "features": {
$ {" ]4 b# }* U; A2 J- n            "persistent": [- f# L' G! I; }- c1 v9 b2 z, y6 \
                "kraken",
3 t5 K, G2 E, M. z0 v+ C2 \+ ~                "luminous",
4 x2 I4 c  q3 L( |                "mimic",
! h" l- l6 O' K, Z- ~' u3 q                "osdmap-prune",1 k# P7 C$ R- r5 f0 R' R
                "nautilus"" s. O8 r2 `  P4 _3 W1 k
            ],6 ]4 |  U* G. e2 X2 H+ a; d: F
            "optional": []/ {' E( S9 _* L+ a3 m/ M
        },/ u+ e; P) x( y' ?; V
        "mons": [
0 k8 V$ B# E7 R3 l; H+ ]            {
; ]" ~3 o6 B6 J, [( m  T                "rank": 0,
. l  p5 @9 q0 O  h                "name": "ceph1",
$ h$ u; y! Y% z7 v" w. {" u                "public_addrs": {
2 C8 t4 ]8 U5 O$ g1 T                    "addrvec": [4 A- W" C$ X8 D4 D( S; _, y( P
                        {
$ U" q4 U( t1 K# c2 @+ ?6 I                            "type": "v2",
" }' Y7 \+ @7 l' d2 z5 y- g0 |                            "addr": "192.168.120.26:3300",
; M- C" L. L! _0 B$ X1 e4 S                            "nonce": 0  o3 a6 n$ v4 K1 C0 u9 m3 q, }
                        },
0 n: |0 Q% ~+ m/ y                        {
" a* M3 E3 q4 n3 l                            "type": "v1",1 b% ]! ~. Q1 W# X8 U8 B; D0 F' Z
                            "addr": "192.168.120.26:6789",! e1 l" Z2 T: i8 E
                            "nonce": 0
; ]0 A7 Y% @; f7 u% V+ _0 _                        }
0 {8 b9 o# ?! Y1 m/ G: h; |  g                    ]$ K8 x3 B3 _1 s9 |" h  p( d8 }
                },, @+ q7 L/ N1 [* B
                "addr": "192.168.120.26:6789/0",# ]% t" v2 Z$ S" F- t
                "public_addr": "192.168.120.26:6789/0"
% ?4 N! F  b0 `1 n" M0 h            },
8 w3 e! g5 F+ g( s# R            {
- U/ C0 S% a( n" q! @0 C1 n                "rank": 1,9 s: V* i8 j2 a- {4 K* Y3 \' @6 L
                "name": "ceph2",9 b$ p! x. ^- s& A% [1 {! [0 X
                "public_addrs": {
+ {- V: g' A4 x% e  q$ k# l" d                    "addrvec": [: b2 u$ S1 B. @5 b
                        {. G$ Q' `# U' U" s% }' y
                            "type": "v2",
8 Z  |5 t6 j# L5 f* G                            "addr": "192.168.120.27:3300",9 b! U3 _: D, V
                            "nonce": 0/ t9 i8 |7 F3 V5 Z% W1 [
                        },
( t. I, l" ^* U! H# T6 I                        {( O" v" d. D1 n
                            "type": "v1",
& f8 Q" j0 x9 E' B                            "addr": "192.168.120.27:6789",2 @/ |% i  d: b) @+ n/ B9 o7 \7 S
                            "nonce": 0
. V% e4 K/ g' H                        }9 m( E. P1 l1 I0 Y: Q
                    ]
  ?" ~" M; A  `6 G2 ~) O                },
7 @( R* d; _4 R& f                "addr": "192.168.120.27:6789/0",
' N$ z  _" f8 H9 |                "public_addr": "192.168.120.27:6789/0"* c; [+ w9 K2 T- u
            },! s+ U8 ?& W6 Y
            {1 [2 w3 I1 X1 p% ^- ~9 E* m  L2 P
                "rank": 2,
- N, N2 Q6 V1 K0 c: D! G2 U                "name": "ceph3",
% Y; {- Q8 |! ?$ J                "public_addrs": {! F# c$ _5 h- q5 g  e  O6 d1 b
                    "addrvec": [1 n* R! D" O, J1 M9 p% U' x
                        {; `1 ~$ J( f- \
                            "type": "v2",
  P* E" K: o0 P# T6 ?1 g& g                            "addr": "192.168.120.28:3300",% Y# f1 g$ J$ R0 W2 y( j; N9 S9 U
                            "nonce": 00 P% l; m# M. Q/ ^+ e: }9 Z( T8 j  z
                        },: m, C: K7 w0 f) [* ]/ Z4 h
                        {
* g4 R* u" D% Q4 q  J                            "type": "v1",
( z! Z* y3 @& g1 j/ }: }; h                            "addr": "192.168.120.28:6789",
( L, N0 W  J) P                            "nonce": 0
8 E. d: F7 q8 [3 m' P                        }% Q" }& S! H# l, J) X% M; `+ h  @
                    ]. Y! t5 I/ h. u: k% m
                },1 A' [/ n9 L5 }9 U) O2 t
                "addr": "192.168.120.28:6789/0",
; U+ n1 k8 J- @                "public_addr": "192.168.120.28:6789/0"
0 q# _9 B  s( C) Q) A            }
" X2 |2 l. R9 i! {2 _        ]& Y9 s0 C, N' {
    },
' s9 y- \  @  S    "feature_map": {9 C: Q7 N  x) t: R0 c+ M& {
        "mon": [
3 e& \% ]+ s0 A) d, E2 q! a0 E            {
% l; ]+ X& G0 b/ N; f% B                "features": "0x3ffddff8ffacffff",
/ F  T( i, y+ h                "release": "luminous",
: @( n* T8 Z' E. P4 ~* E                "num": 1
3 i) U7 E$ j  b9 ~: y            }
) G- |5 o/ P' g7 D4 l        ],4 C9 c) ]" B5 l8 [: x
        "osd": [  C9 }& Z/ @% P6 R8 P7 K; t
            {! Q8 |* m0 Q7 P8 s' e
                "features": "0x3ffddff8ffacffff",4 c1 m3 e: l5 O: Z0 J/ I
                "release": "luminous",+ C% c/ d( \1 a1 V' F% p6 j
                "num": 6
. b, u% _( A/ C. G            }9 L  k/ J9 I  P) B  H/ w% G+ }. c
        ],; r( N- \! M* {
        "client": [4 }# x' a- M0 H. b. e5 \
            {
6 T2 W8 Z( @  W/ {8 d* z                "features": "0x3ffddff8ffacffff",6 O' d5 }* C! z, ?1 E" P
                "release": "luminous",
4 f7 Z3 Y' H; F: Y0 c) b  n% ^                "num": 7
' U% t4 C" i0 U% w            }8 Z! Z) a# @; Z$ v) X6 Q! J: P9 ~
        ],, u" f* K6 w4 V4 [3 i* w  Y( B
        "mgr": [; \* i$ Z6 k& i5 y$ p7 p$ T0 \  N4 P
            {
8 d5 R$ r, r2 E( v! X                "features": "0x3ffddff8ffacffff",8 e' m1 G/ ]! }7 |5 n
                "release": "luminous",
/ V7 R$ y5 I2 z1 Z                "num": 3
. h$ a. S6 i2 u$ L+ V) h- x            }
4 F: r$ A/ ?& G7 }1 Y2 E3 e        ]
; G" H) q* a" w    }' C, W4 G: b3 r# F$ m- H0 |8 [0 ]
}7 y- C$ N$ [, s- H% W

$ H" p3 |, p) H0 G1 v' x5 Z- B0 F+ \

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-10-18 14:19:16 | 显示全部楼层
[root@ceph1 ~]# ceph mon add `hostname -s` 192.168.120.26:6789
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 23:01 , Processed in 0.024048 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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