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

Ceph修改mon ip地址操作

[复制链接]

0

主题

0

回帖

9

积分

管理员

积分
9
QQ
发表于 2022-10-18 13:58:08 | 显示全部楼层 |阅读模式
背景
0 {2 q+ \* \8 K2 N! O最近公司服务器搬迁至外地机房,服务器中包含ceph存储集群,迁移到新机房需要整体修改服务器ip,因此mon节点的ip也将被修改,发现官网有修改ip的文档,正好参考官网记录一下。官网提供了只更改同一网络里的mon节点ip以及ceph集群更改到不同网络的情况下修改所有mon ip的方法。
- E" N% Q  H5 k7 P/ ~/ Q+ [' v; W- _' _
修改同一网络里的mon ip' ?4 _3 |; m8 r
这被官网称为是一种正确的方法。仅更改监视器的 IP 地址ceph.conf不足以确保集群中的其他mon收到更新。要更改监mon的 IP 地址,必须添加一个具有要使用的 IP 地址的新mon节点(如添加监视器(手动)中所述),确保新mon成功加入仲裁;然后移除旧 IP 地址的mon。最后更新ceph.conf文件以确保客户端和其他守护程序知道新mon的 IP 地址。  Q2 r& ~8 d1 i# J
3 b0 ?, d+ u6 [9 ^# t
手动添加mon节点
: T( j* m7 _8 `在目标节点上,新建 mon 的数据目录。{mon-id} 名称自己定义 。$ g3 z2 _: |8 f% E7 x3 F& w4 u# Y, b- [
  s" Q: v) P3 H
复制) k! i3 M' K6 e6 _9 ?" ~$ r
mkdir /var/lib/ceph/mon/ceph-{mon-id}# {( a8 b0 |+ x
mkdir -p /var/lib/ceph/mon/ceph-`hostname -s`
- \# @6 S$ ^- P. |0 R获取 mon 的 keyring 文件,保存在临时目录下。
) p7 d, q& x/ K( K; ~: M6 q0 M; C3 V, |1 N. b4 ^
复制
" H, w' J6 |* Q$ mceph auth get mon. -o /tmp/ceph.mon.keyring
, U: F5 q* H, t4 ^6 D7 |4 A1 |[root@ceph1 ~]# ceph auth get mon. -o /tmp/ceph.mon.keyring ; Q2 R/ K7 t; R! _0 j) I
获取集群的 mon map 并保存到临时目录下。
( ^' F7 p2 k/ C" R* r- G
0 S8 J. ^( i0 i+ V8 H1 T- F复制
3 A- V4 z* o7 g0 Q4 F9 xceph mon getmap -o /tmp/monmap
1 l- [6 t& Y9 a  P1 L[root@ceph1 ~]# ceph mon getmap -o /tmp/monmap
2 z; u5 ]7 B' J  H  h8 c! ?got monmap epoch 3
, L: V2 \0 T2 }格式化mon的数据目录并指定上面两步创建的monmap和ceph.mon.keyring文件路径
# m! }  g; o; `' H/ J( a8 k; b  a[root@ceph1 ~]# ceph mon dump 4 c! I' V& X  X8 m3 k. s3 A
dumped monmap epoch 3. a" v$ G) @6 w: ^9 U
epoch 3! s# ^2 H8 W+ X
fsid 9c7a1c4a-e1e9-4ebb-9254-c7dbaf30a23f& n2 }8 `$ h! V3 z  c
last_changed 2022-10-17 10:51:14.554172
% T: b9 C5 }: ?+ c: J. d# ^created 2022-10-17 10:46:00.9002675 j) |$ _, y( V, c4 R9 T
min_mon_release 14 (nautilus)
* r% `, i, ^" H2 @3 j# \- z4 c0: [v2:192.168.120.26:3300/0,v1:192.168.120.26:6789/0] mon.ceph1# h) R& h* q6 T% A7 V1 ?
1: [v2:192.168.120.27:3300/0,v1:192.168.120.27:6789/0] mon.ceph2
4 j" g/ N. S- T( ~7 W5 V9 s2: [v2:192.168.120.28:3300/0,v1:192.168.120.28:6789/0] mon.ceph3
' D/ L- M) E+ q! D$ G  j4 g复制8 B; N# z% e! t& K, {3 i
ceph-mon -i {mon-id} --mkfs --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
. n: Z, S* @0 i2 D
! y7 m' }0 Q2 a0 |  M启动节点上的 mon 进程,它会自动加入集群。守护进程需要知道绑定到哪个 IP 地址,可以通过 --public-addr {ip:port} 选择指定
5 D2 r; l  f5 D( L$ G/ [1 l; |
( n( _5 [7 `- _复制9 }- U; D$ t$ u
systemctl start ceph-mon@{mon-id}
8 x( g+ \  a$ H3 L( Iceph-mon -i {mon-id} --public-addr {ip:port}
2 ]; e# I( B7 P  f& f1 W/ l[root@ceph1 ~]# ceph-mon -i ceph1 --public-addr 192.168.120.26
; Q" B1 q$ {( p. A" j9 I1 e3 w
删除mon节点
( |- p* i, c" @. C: M1.停止mon节点9 {' ~, }* y$ o$ k0 w5 X$ T

/ g/ V4 R$ x0 I复制8 L2 i# w; z1 e' s* s9 ~
systemctl stop ceph-mon@{mon-id}) Z; Y- V& Y  i/ W6 A$ Y9 V
systemctl stop ceph-mon@`hostname -s`.service
; e5 |$ x% s. ]2.从ceph集群移除mon节点2 a" \, j  C7 b  D  f" r, t2 ?

) z& g8 V% @- Q) D; I1 F* `5 b复制
9 E3 ~- T7 ]) t( ~' g# y2 o3 }7 eceph mon remove {mon-id}
8 g. W7 v( s/ [8 }[root@ceph1 ~]# ceph mon  remove ceph1
' k, F3 c* `2 [2 r
3 f6 z  O1 O& Q7 |, w3.在ceph.conf配置文件中移除mon部分3 z+ B; g0 \# o5 L6 W
" G4 W5 M$ e% C: m6 H* D
修改所有mon节点ip8 h( }7 ]! R1 R
如背景所说,我们刚迁移了ceph集群的服务器到其他地市的机房。这需要改变mon节点的所有网络。在这种情况下,解决方案是为集群中的所有mon生成具有更新 IP 地址的新 monmap,并将新映射注入每个单独的mon。我这里是将192.168.28.0/24网段变更为192.168.244.0/24网段。: U6 b% y: N6 h# n, q

2 `) v5 y' v( P2 p6 s+ E4 K获取monmap,如果此时已经连接不上集群了可以在mon节点上使用第二条命令,并指定{mon-id}9 K* v8 A9 X' G4 \- u

5 c0 H- F% ~" s5 V/ M+ D复制
7 u( m7 ~7 m* f7 q. V$ |2 [ceph mon getmap -o /tmp/monmap" }5 s* z9 G9 G$ }4 d7 j
ceph-mon -i node3  --extract-monmap /tmp/monmap- W! e5 g7 Z1 b1 j
7 X4 W% U$ J) {7 d) A1 B) W
monmap内容如下:
2 B- F  o. g6 U4 W9 v9 ?
- m8 v9 d3 L$ D0 T; K' ?复制$ L( C4 m/ t) u
monmaptool: monmap file /tmp/monmap0 H9 p" _5 {9 P* b$ M: }0 f, D
epoch 7; C8 p6 ?$ C. R
fsid 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4
% t  q- v; O9 u6 A# }, m2 Slast_changed 2022-10-08T10:00:04.055141+0000
( R) Q' ~, I5 ]: Z# i# B1 x7 Ycreated 2022-10-08T03:45:47.301186+0000  W" C# Y+ y1 O$ X" |
min_mon_release 16 (pacific)6 k/ g5 B; Q/ }1 x& `
election_strategy: 19 x1 t0 I7 f. s* g- j- I7 ^
0: [v2:192.168.28.159:3300/0,v1:192.168.28.159:6789/0] mon.node1
# S# D8 A3 Q/ p# ]1: [v2:192.168.248.160:3300/0,v1:192.168.28.160:6789/0] mon.node2
  |! W2 e: q, g2: [v2:192.168.28.161:3300/0,v1:192.168.28.161:6789/0] mon.node3
1 B6 |: s9 n0 A7 F1 E
5 R$ n* b9 Z" d  v: E5 M8 n删除现有的mon:
, n5 Q8 |; @% l$ {( c! F* I2 ^9 g6 T/ J
复制% g/ l4 f' k. X9 M/ U4 O
monmaptool: monmap file /tmp/monmap
# A) V( ^4 R  K+ ], omonmaptool: removing node1
7 u8 b! `) G( u; Vmonmaptool: removing node2
, ^; F2 B8 O9 J* L( W- ?2 I% h/ qmonmaptool: removing node3; }' e0 T1 U2 p8 ^" u
monmaptool: writing epoch 1 to  /tmp/monmap (0 monitors)- {, M8 @1 T. O0 r$ }

0 |, N8 E: j9 u4 d添加新的mon:- I7 @& u8 a7 c  m9 {* \: W( O
/ }% I% g6 M" B2 f
复制
: j/ a+ S# T  c' x$ ?0 ymonmaptool: monmap file  /tmp/monmap
& ~% Q5 N! ^8 \( R8 z$ J% U: nmonmaptool: writing epoch 1 to  /tmp/monmap (3 monitors)+ P7 a' b( T1 D+ d

# d! z9 |5 x. O- ~停止所有mon服务并注入monmap,,每个mon节点都要执行;
2 Y& i- r$ T* D/ J" O' s0 g5 A; L
, n/ ^& h: I- ]3 r- J4 f复制
) R& I  }  C8 ]: N1 K; {; Fceph-mon -i {mon-id} --inject-monmap /tmp/monmap
) y2 a8 }3 E' I0 d0 b% d0 g0 ?! ~" j[root@ceph1 ~]# ceph-mon -i ceph1 --inject-monmap /tmp/monmap
0 a8 }/ _' r: T9 g) J6 P5 m执行完成后需要重启mon
4 v6 U' {; I6 ^+ A6 _' _9 S0 a, u! K2 B* X& O
复制
7 R. U3 R+ Q1 K! Isystemctl start ceph-mon@{mon-id}
; g2 `. V! V8 [* t' p2 y" {1 e3 c* S
" G1 _* ]# W9 u4 u4 t[root@ceph1 ~]# ceph daemon mon.ceph1 mon_status
5 g. M1 z3 h& B0 c7 y{
0 }9 t% F8 @3 W    "name": "ceph1",, U0 k6 D; a2 |# ?% F: T- Z
    "rank": 0,$ p2 {! G7 ]0 d, S/ }3 |
    "state": "leader",2 F4 i9 e+ p  d, `% l
    "election_epoch": 30,7 P0 x% C8 `6 H% p/ s, g# h0 H
    "quorum": [2 ~7 J# I( N) M8 i$ y4 d# w
        0," C5 J% G8 G) o6 C' d
        1,
4 ^3 @. V- v( ?% S        24 @1 p3 m( a' y8 M7 G& J
    ],
8 @7 _4 c, D! J    "quorum_age": 79151,( d& u, l1 A. Y0 I) O
    "features": {- a" w" r7 g8 s9 m0 Y( g
        "required_con": "2449958747315912708",
1 e+ {2 D0 p9 k0 o4 O        "required_mon": [( @9 ~, p" g+ N
            "kraken",$ @0 p9 ~; O* P; r% {
            "luminous",% \! H' }& d5 q% G' O- ?( O' }
            "mimic",
- p0 y; ~6 R8 O3 Z% Y/ ~            "osdmap-prune",
0 n3 ]4 X+ \% g4 k3 E2 {9 t) t            "nautilus"2 d7 t" D5 E7 ]4 j8 Z
        ],% x; T; d, w: M/ ^  m9 G
        "quorum_con": "4611087854031667199",
9 U' Y! z5 q) ^) `$ a1 b        "quorum_mon": [3 c6 D. j' i! B, e& }" M0 r$ S0 w
            "kraken",& D6 U$ I# @; i% U- e7 G% h0 H
            "luminous",
: {  _0 ]& i. [% q# E            "mimic",& d9 f) M& M1 |! `5 a& ]4 I
            "osdmap-prune",
8 W3 H. Z  Q5 I, R            "nautilus"! j6 a! Z# P2 X9 Z0 E
        ]8 x+ S8 K4 a& r" L: F5 ~/ O
    },& h, N4 `' x! ~7 {# Z
    "outside_quorum": [],
! C# B  t- R* G; ^/ ?! F+ P    "extra_probe_peers": [],$ @, |& X  n) O/ q) }+ v! T
    "sync_provider": [],
) J( y+ O) f+ [4 d- W1 Q    "monmap": {
, }" l& F  ?, u6 ?& i2 C/ B        "epoch": 3,
- K" x8 q" G0 p! W: P        "fsid": "9c7a1c4a-e1e9-4ebb-9254-c7dbaf30a23f",* v( w% b: ], I, K8 r% W3 T
        "modified": "2022-10-17 10:51:14.554172",
+ }" y; B# h9 E" z        "created": "2022-10-17 10:46:00.900267",
9 ^3 @9 q. n  p        "min_mon_release": 14,
2 P/ _' `% c/ Z1 r6 [1 u- \6 x        "min_mon_release_name": "nautilus",# M9 J7 ?$ _- G
        "features": {5 \7 Z+ a  v: ^' r7 b
            "persistent": [
  G6 o* g  k; P                "kraken",3 c) d# r# B2 \  y
                "luminous"," Z. |- f, i  A& a3 C& [
                "mimic",
7 {6 n* [8 q" g* l" V& X5 A4 Z' m! V                "osdmap-prune",
$ E' K/ Q# D; c+ v                "nautilus"
) S) g9 z- g/ w+ ~: a            ],
  l; T3 i1 l' D& n+ p5 u, e2 w# \            "optional": []+ q" q; D5 E6 W" |) K  y0 W5 {1 T
        },
4 o7 n5 N/ o( d% V/ C: w  V; ~" O, Z        "mons": [3 V6 _' g4 ^# p$ d
            {
  v) w7 F# S+ I7 O& R2 h0 ?# G                "rank": 0,- l* C/ f4 C/ c& Y& z  P$ h
                "name": "ceph1",( V( i* o2 `) N* g; g
                "public_addrs": {
2 {: @5 y1 ^2 ~6 C' h                    "addrvec": [
& h1 u2 z+ o  W                        {
4 s8 a0 F* R* _6 I- X5 O$ R3 o                            "type": "v2",' K  x  e3 ~4 }' I" O  c
                            "addr": "192.168.120.26:3300",7 x3 m, E# B* U3 p
                            "nonce": 0
3 c3 J: e! x% H2 h1 I1 O" J                        },
0 J% o8 ~/ }9 r! R! O2 D; o& @& X                        {
1 G1 W9 g' d# ~9 _, C/ P3 s2 j                            "type": "v1",0 M3 q: e$ A0 c/ K" `% n$ ~
                            "addr": "192.168.120.26:6789",
- P* Z, j. I4 N6 I3 B- ~4 r                            "nonce": 0
- ]: e7 W+ s6 B( N2 T8 O                        }6 @+ ?9 ]3 i2 v; D
                    ]/ B1 S; p& d2 _' E5 m! G7 h
                },* v1 e9 ^$ ~$ X% p; l
                "addr": "192.168.120.26:6789/0",. |: C0 q; K' I" @2 [0 ~
                "public_addr": "192.168.120.26:6789/0"5 o6 U* l+ t) P7 q/ q
            },
* q, v5 Q/ Y: O5 u            {
1 @/ ~! S6 n3 J8 `: Q                "rank": 1,
2 E$ ^3 ]; h5 T0 y: u7 l                "name": "ceph2",% R0 Y  i. I8 ]5 {& x' C- Z
                "public_addrs": {& r/ n2 `+ L: a: _* ~
                    "addrvec": [
) }# u& m5 j5 B+ D' U1 ~1 \' h                        {
8 u. e/ ~% _& f- c                            "type": "v2",
, E0 I! j) I/ ?0 N/ e1 K  V) a7 T                            "addr": "192.168.120.27:3300",
& O. G! l4 c; p/ @/ s                            "nonce": 0" p+ }2 W: s* X5 w; V. x
                        },
# Z3 C& v) d- ]2 l6 t                        {
, k! W. A% Y& F7 r; h/ @                            "type": "v1",4 c7 }. e% y8 \9 R2 V3 P
                            "addr": "192.168.120.27:6789",
' q. ^0 @. j7 e" s2 Q1 n0 N* u                            "nonce": 0
# u. g# Y) i8 }7 E# D                        }% h0 b. j# x' u  b
                    ]
! z& c' W% @/ \9 Y                },
" q1 ]5 k) {9 g( u$ l7 A5 b# o                "addr": "192.168.120.27:6789/0",4 F7 X, b, Y2 p8 C2 o( p
                "public_addr": "192.168.120.27:6789/0"
7 o1 E: E4 `1 T7 ~3 o% L6 }. f- ]/ g            },$ H3 [" ^; _" u9 h9 `2 |* T8 ^
            {
- F  h8 }/ u* d) x! B4 C                "rank": 2,' J0 J2 S# Q2 g. T5 p
                "name": "ceph3",
8 h' s) B% X9 M# O# I                "public_addrs": {  ~  V3 U. @  W8 C1 z% @4 D
                    "addrvec": [
3 B" B+ \4 q7 D& }                        {3 ]: g& c% ]3 F0 @! n& _$ t
                            "type": "v2",. k( G& v! q' X0 G
                            "addr": "192.168.120.28:3300",
% a* Z6 D8 u% }) M                            "nonce": 0
$ k8 T* \& ~, [0 G$ D                        },
* P! k8 z/ t, ^3 a) f4 L                        {
' d0 ]0 A9 Z) n6 ?& D                            "type": "v1",
! E3 K$ y( v: C- L2 i7 Y$ ?+ _4 y                            "addr": "192.168.120.28:6789",; Z; E8 S* Z* s* h) A
                            "nonce": 0; v" ~- u, L, v& f+ V& }
                        }
$ y/ V% T6 Z1 D1 L8 x                    ]
4 x7 Q* k: k$ V( w3 d. |                },$ A2 i+ q' t6 ]# F' m0 o  _
                "addr": "192.168.120.28:6789/0",
! V- a4 Y% ?1 _% J+ W& Y& O                "public_addr": "192.168.120.28:6789/0"1 v4 S% E  j) `, w' |. b' J9 r
            }9 r- V' M# x/ J6 s5 j
        ]( z7 v* o  v% L& I4 l% y
    },
) v- s: D. `/ v  g    "feature_map": {
* o3 g4 X1 g. k  G' {1 V2 l' ]        "mon": [% |% |" u* ?$ _! q; |( X# B
            {. u  i/ E5 c) W9 D4 T5 D
                "features": "0x3ffddff8ffacffff",
% ]- H0 D) x. z/ Y! {5 N                "release": "luminous",
- [1 \; u8 Z( }( x% |% E$ A3 P                "num": 16 P1 X  s& P3 ]' F- ^0 f/ Q
            }
) x. j2 v2 Z( d7 F+ t  D        ],( k7 P+ z* N& z  B# U- |) X- u  d
        "osd": [5 Q% Z4 U% s9 m+ x8 M3 v( m7 \
            {' b9 h9 J4 L, o
                "features": "0x3ffddff8ffacffff",
0 X" E1 e* E4 ?+ w8 s4 A7 n" g# g& F                "release": "luminous",
; w) t) q( Y9 `3 ~                "num": 6/ \  j  }& V0 g( S  K0 v
            }
6 T- J( p) X) P5 a$ Z( T+ k1 m( X        ],4 y( L  [  ?' M. s
        "client": [
# H, I  `* y3 B3 S/ F            {
# x  i* e2 o/ ]' T* a# I4 x3 v                "features": "0x3ffddff8ffacffff",; w+ }- ]8 i+ C0 E0 F
                "release": "luminous",
  Z9 F; |6 Q' m9 L1 q. R                "num": 7- b7 ^+ M+ e; H/ U2 Q' E
            }
8 R/ ^& p3 z2 {        ],
1 p8 M; |+ Q* l# G! k        "mgr": [/ q. O6 S. O, u2 @( Y! Q
            {
- `7 e* H; h& j1 g6 a: g1 A8 S- L                "features": "0x3ffddff8ffacffff",6 P/ B6 r' Z: Y; R' c  A  j, O. ?  U
                "release": "luminous",$ V8 p* u; C2 P* d9 i; N/ R
                "num": 3
- j, I$ g0 |- h$ [5 e            }0 m/ q2 M. J2 g% q( T
        ]
. X8 s4 K3 R0 g6 v    }" o& h% e! g4 k3 s6 d0 @0 m! P
}6 l: l3 @& ?$ y

/ \# T, I9 G" G' C1 {1 V3 |( g( g) e+ [/ [, i

0

主题

0

回帖

9

积分

管理员

积分
9
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 22:57 , Processed in 0.019050 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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