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

ceph集群与openstack对接

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-7-19 11:06:38 | 显示全部楼层 |阅读模式

创建cinder并设置权限

[root@controller ceph]# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children,allow rwx pool=volumes,allow rwx pool=vms'

设置密钥

[root@controller ceph]# ceph auth get-or-create client.cinder | tee /etc/ceph/ceph.client.cinder.keyring
2 c2 Z& n; V/ f5 o0 w
0 L4 A9 O4 ]7 w0 Y" M4 l# ]#传送密钥到computer7 Y5 {9 B  l" i

# D: H4 {) j' W6 l, g[root@controller ~]# ceph auth get-key client.cinder > client.cinder.key
. W  o7 }* s  S) \; S: S& }
1 @4 t( X8 V5 }[root@controller ~]# scp client.cinder.key computer:/root/5 e1 ~1 m- D: ^6 b

( L6 L( W# H. ~& U( D" G9 g  }#修改权限
& j2 ?" n: R; c8 _7 ~
; N) {7 u6 N% Q! U- p. D( J3 ][root@controller ceph]# chown  cinder.cinder /etc/ceph/ceph.client.cinder.keyring* I1 l2 P. L/ E( v

设置密钥

#computer生成uuid
0 J  d  ]' F9 P3 y$ ^1 `8 C# J0 G( c' _- s; D  ~1 W
[root@computer ~]#uuidgen1 O" `0 x- t  q; A9 E' x) C3 ?$ E. J

" J* |7 O) b0 v% y, s" _% l1fad1f90-63fb-4c15-bfc3-366c6559c1fe #创建密钥文件1 D8 F. I7 n, O" [5 v+ [& s

! t6 s: v7 |; v[root@computer ~]# vi secret.xml
! R. z& C( }, \, v4 C$ {4 y% a  1fad1f90-63fb-4c15-bfc3-366c6559c1fe   client.cinder secret
. A6 O  P* H, y7 O3 D) b2 T; X# c- y* \1 d, h
$ ]* s7 g1 ]; q# G
#定义密钥
: o6 V1 K) E( M' Evirsh secret-define --file secret.xml
- V6 B( i* i' i5 P# r$ J$ D) Z7 z; ]0 y# z0 e& K/ X4 |2 v! L1 b
1 ~: `( ]/ `  m4 i; U
#设置密钥2 T6 Z; z1 O4 G$ S& X" p

# C! X' P& S2 @8 L

9 r. ^1 L- O8 @$ V( pvirsh secret-set-value --secret 1fad1f90-63fb-4c15-bfc3-366c6559c1fe  --base64 $(cat client.cinder.key) && rm -rf client.cinder.key secret.xml, Q! u  a7 n3 c- w* m# \  F
# x! w  C8 O& F* i

4 L3 u) R. l' {设置对接cinder模块$ M6 G0 m; [9 P/ h: O/ F" C

修改配置文件

[root@controller ~]# vi /etc/cinder/cinder.conf, O- P$ v+ [/ l- Z* Z6 y

' Y2 a# s( f* U' ~6 R[default]% H: p$ C" u; f
/ V) M, y/ U4 i& K7 Z
rpc_backend = rabbit3 n5 `/ k/ w! n
2 I' B  K1 E, V6 W
auth_strategy = keystone7 _7 G: j5 B" G. J9 [) V
! r$ V, a6 N$ y
my_ip = 192.168.8.65
" w0 @1 t0 y* C! K
9 X( B2 }9 A+ @  g8 n6 Penabled_backends = ceph-1# E5 h. }0 j* M+ l! X- f% l9 m
6 c5 V6 o' d+ ?" q" p
[ceph-1]8 i8 ^2 R, d0 V, L3 R; [- g
/ m+ N7 D! F7 |* q# ~5 o6 J# a9 b
default_volume_type= ceph-18 Q6 v# ~) X0 u+ l4 M9 T

" v  s1 `  D& o2 Mglance_api_version = 2  
% H6 X/ o$ K9 x  d# F) O5 Q5 n, [" C: `- n3 k, X0 A
volume_driver = cinder.volume.drivers.rbd.RBDDriver$ W/ P( b2 S# q3 q' r9 W& y" d- x2 z
1 b4 n0 D5 T2 t
volume_backend_name = ceph-1
% T/ {$ m# z8 n' A' h! E7 E9 t1 ?
  q' w3 K' t8 u8 Y% |0 |1 xrbd_pool = volumes
- k1 x9 K9 M5 r2 t
% E( Z! I! Q3 \3 Nrbd_ceph_conf = /etc/ceph/ceph.conf
" Y  e" n  [) ~$ E3 O) O# [
2 N( p' H8 w$ `6 y  m4 N6 ^rbd_flatten_volume_from_snapshot = false
  d  i5 \" ~; a! }9 x% N( Y6 x; t; a
rbd_max_clone_depth = 56 k- Z5 m* M7 h% L

0 B7 d, j, H+ crbd_store_chunk_size = 4
: X/ W) ?7 E& X! ~/ M  N$ E7 w( ]" x9 s7 P
rados_connect_timeout = -1
0 G$ ^: Q* @8 g; d3 a( I" t6 ~6 G
* x, Z$ S7 i" Z' Grbd_user = cinder& F: ?7 V( E' M* G
$ }4 n. [. a; G/ C
#对应computer创建的uuid
% l# F) W; y4 ]7 ?" H7 U4 _2 O& u6 G) k
rbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe . ^9 r9 _  J7 n1 r" i( k! C2 b

同步数据库

#若已经有数据库,对数据库进行删除并重新创建和同步
; c' C& S9 [3 h' ^7 {# k' Z: `7 _2 ~4 m( a  k
[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
2 n& m* I% v7 r8 U

重启服务

[root@controller ~]# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service

设置ceph的类型和存储类型

[root@controller ~]# source admin-openrc
( c9 \% L. q% T! x1 Q$ d3 [3 ?5 G$ O1 B1 o& U$ `' G, t! B, |; q
[root@controller ~]# cinder type-create  ceph-1. g& H: j" r5 y: g

# |- |/ x! `" ?) k0 E5 v; N[root@controller ~]# cinder type-key ceph set volume_backend_name=ceph-1; |9 O3 l$ R) ^: p6 y
( M  y/ i0 X, Y* i' I! H( q
对接nova-compute模块
" g8 S0 G$ V4 B/ M7 t, [5 C9 P

computer结点修改配置文件

[root@computer ~]# vi /etc.nova/nova.conf% B  h- q" d0 {& o( t8 S
% ?1 j: z5 R7 ^
[libvirt]! k$ _2 ~9 B7 n% Y% ~

" F2 O/ u# N" \: ivirt_type = qemu/ T0 [, R+ @+ j- d0 R: r* ?7 }( Z
% I$ Q# o4 d& D! r$ k- y7 h! Y
inject_password = true& |1 g. _" E' z2 L/ N& ]. ?, Q

) Y% q- m, D% k' M- e! kinject_partition = -13 l. c  F6 C" r* T

1 }2 O6 |. S9 Z4 M1 v# ?images_type = rbd8 N2 A8 O2 m. T& P# Z
* F$ R. y* j/ v
images_rbd_pool = vms
4 m) h, C$ W( [0 u5 O
# x/ _, w" U# B6 X+ |2 m) C2 ?images_rbd_ceph_conf = /etc/ceph/ceph.conf$ A6 H( \) K, P/ h) @4 b

& {& w% u, ^: K1 I/ w# g* }, R2 y7 Rrbd_user = cinder$ [1 S/ |# F$ r6 A# D

; J/ u5 j3 k. W' m4 Rrbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe0 r  i6 k1 A" d% }2 `
  y4 O. s  F) H% |4 U- @8 V
disk_cachemodes = "network=writeback"- [! d' ?* T' P* \8 U
' |% n% ]: }/ g* l# M
live_migration_flag = "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
* k5 S1 t, y9 m5 R! G2 ^1 Q, b8 S9 {* B/ E( @
hw_disk_discard = unmap  6 U# v, n% _6 D; O9 x. ^  N, I% z+ j4 r

& z+ c: r- b& H* t[root@computer ~]# vi /etc/ceph/ceph.conf
' Z% l' u; \- q0 |$ R' E8 k2 b4 x) v, P1 S/ ?, U+ c
[client]6 S; U/ R; S9 C( J9 e
% M6 g+ B  @# C' X5 }
rbd cache=true
+ U' f3 I4 ?8 `/ g: ]
  A% H( Y9 b) }* W7 q0 H3 nrbd cache writethrough until flush=true
& Z9 Q& n4 _1 r0 L3 ~
! X/ s9 V2 F/ a7 c* z, m7 I  F! Oadmin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok% f" L' p6 Z; c- i7 o& p- G$ K
1 G9 C, t" A( Q! U+ S  x
log file = /var/log/qemu/qemu-guest-$pid.log
/ O# Q/ q) G! c
+ t& u3 k4 y3 ^  T6 srbd concurrent management ops = 20
. u7 |# B; _& a- Q9 `' [* I

创建日志目录

[root@computer ~]# mkdir -p /var/run/ceph/guests/ /var/log/qemu/2 O; V3 X  z  I+ u( n

+ j' e3 k8 ]0 b; N6 A: W# y: k9 E[root@computer ~]# chown 777 -R /var/run/ceph/guests/ /var/log/qemu/
+ {$ T/ K) x7 G; ]& |

controller下发密钥

[root@controller ~]# cd /etc/ceph
" U" G. I. b! m; u0 G' A
8 [) U. w  x$ i+ s! P: L[root@controller ~]# scp ceph.client.cinder.keyring root@compute01:/etc/ceph% D3 w$ S* a' z4 v7 C" V

重启服务

[root@computer ~]# systemctl stop libvirtd openstack-nova-compute
+ B7 i. @. x$ k" u( h/ B3 ~1 c* K! N+ Y
[root@computer ~]# systemctl start libvirtd openstack-nova-compute
$ @' E3 q; K% N+ m
. u$ ]: y, \5 p( B3 ]

  C( |1 J: k" @/ H7 v# R

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-7-19 11:13:12 | 显示全部楼层
创建cinder并设置权限, ?3 @# e2 Q) K. f/ ?# J

6 f5 M( I+ J5 o  d3 i6 g+ ?[root@controller ceph]# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children,allow rwx pool=volumes,allow rwx pool=vms'
, h# w) m6 |# k0 ~9 N设置密钥
8 y9 {, h0 C/ Q  L0 a& Y! q4 u2 O5 F1 Y6 u6 K
[root@controller ceph]# ceph auth get-or-create client.cinder | tee /etc/ceph/ceph.client.cinder.keyring
' a* b( }% t5 y$ O, J8 R' L+ _  @
. G  D5 \$ |8 K; F( e9 i+ [#传送密钥到computer
' q6 v) z0 n. m5 j1 }( F- S[root@controller ~]# ceph auth get-key client.cinder > client.cinder.key( {7 P2 i7 f2 `6 ]5 y" P' u
[root@controller ~]# scp client.cinder.key computer:/root/
" R: d& D$ A! f5 C. s- Z) }) i$ S2 d' [* k! d* Q2 z
#修改权限
" n, _( @7 u9 \4 o[root@controller ceph]# chown  cinder.cinder /etc/ceph/ceph.client.cinder.keyring' V& f' l  |( N; x3 ^' @6 _% _. l
设置密钥, W$ Y+ T2 ]5 L) W& z

# J0 C6 Y, {7 y#computer生成uuid) D$ N% R& E9 e) S9 e& n
[root@computer ~]#uuidgen: _2 \* @4 o+ P# R5 d, @
1fad1f90-63fb-4c15-bfc3-366c6559c1fe 6 h" U: B% n# S8 `+ m0 q* \6 q
( {6 ^! t0 K. o3 W& p. V% x
#创建密钥文件
/ ?5 T5 c% L( j[root@computer ~]# vi secret.xml3 Y1 d, e; K$ B
  1fad1f90-63fb-4c15-bfc3-366c6559c1fe   client.cinder secret
# T$ Q! j6 {5 H6 c#定义密钥
5 U: z5 w/ y: f; t. kvirsh secret-define --file secret.xml) j3 W- I4 P# X$ f

2 e( F; I; D$ [. `#设置密钥
- @# w. D8 e/ E1 B: ?; ^virsh secret-set-value --secret 1fad1f90-63fb-4c15-bfc3-366c6559c1fe  --base64 $(cat client.cinder.key) && rm -rf client.cinder.key secret.xml
0 z  `4 I3 o* s1 a  S设置对接cinder模块1 L. @# q6 ?) B
修改配置文件
% y8 R9 v/ v0 ~5 {5 v5 G) m1 V8 F; a7 N/ X% D, f
[root@controller ~]# vi /etc/cinder/cinder.conf3 U2 c2 s; d( p2 Y1 P
[default]0 }9 P) W& n" U
rpc_backend = rabbit
$ y0 I3 C4 a# r: Qauth_strategy = keystone% ^, s5 P6 d5 ~- V2 Y
my_ip = 192.168.29.148
2 f* J+ s6 a& t3 [: qenabled_backends = ceph" W1 f3 ^* }% W9 x

$ _) @3 k0 k: P2 o" X: P$ |[ceph]
; K5 p3 p7 v- Q+ i0 h9 D) l0 Ldefault_volume_type= ceph
+ |% F0 C( Z1 |, p, V$ Fglance_api_version = 2  
$ ]( N: D: `& \$ m$ a, mvolume_driver = cinder.volume.drivers.rbd.RBDDriver- r& s- P9 x( U& h! ^) z
volume_backend_name = ceph
: c9 D. ], c/ [: t0 K  `rbd_pool = volumes  @6 [% s( h- s2 y5 @( l8 n
rbd_ceph_conf = /etc/ceph/ceph.conf
7 S) [9 f* I0 j+ }6 ^rbd_flatten_volume_from_snapshot = false0 B7 E4 L* Q% ?" u: w$ |
rbd_max_clone_depth = 5
4 |) U4 D1 t' d: ?6 Frbd_store_chunk_size = 4
4 v- l: ^' b* v, @rados_connect_timeout = -1
% @( `+ ^7 `+ @+ @6 f9 f# arbd_user = cinder
  x- p& ?$ _0 y#对应computer创建的uuid
, m2 O. c- o6 S9 X: Zrbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe ( h$ q6 _- }# g+ m
同步数据库( w) o  j, o: e7 H
% g9 ^1 n+ D+ c* i: T  |$ G) F4 r
#若已经有数据库,对数据库进行删除并重新创建和同步% [: q, ^. v; p9 ?
[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder% }/ n6 R# g% z
重启服务* c% i% T% p# H+ T  S

" o/ T& p; f, t7 ^9 R[root@controller ~]# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service) w! A; `- G3 u2 q- z: P( b$ f- W
设置ceph的类型和存储类型$ f/ z# W$ V- x6 X* P

$ T8 c, Z- t" n& y: j, z- a7 h# p[root@controller ~]# source admin-openrc
. t$ K+ E% a7 Q$ W9 K[root@controller ~]# cinder type-create  ceph
/ V8 ?  y8 |. b0 U0 F5 {& D[root@controller ~]# cinder type-key ceph set volume_backend_name=ceph
4 Y+ P0 B* i8 e  i/ w& w对接nova-compute模块
7 Z, t7 f. d7 B; i8 M  \computer结点修改配置文件
$ }2 h5 R( H. J# c: J9 t* K1 a" L+ m- I" p( f8 a& j
[root@computer ~]# vi /etc.nova/nova.conf
$ j; l( _. w; p' s[libvirt]9 |6 G0 H) k* q0 j( M& W0 Q
virt_type = qemu
: h; j' C# ~- ~& i% F+ K3 Hinject_password = true
/ M  T. {% ?# K3 M, i5 Pinject_partition = -1" c% W0 C! C; {+ a" B6 c& |7 l1 N* Q$ e
images_type = rbd
6 w, Z# @9 _1 P# o( D1 q1 G' oimages_rbd_pool = vms: y* S( n9 s( O3 k5 E& @- t* |
images_rbd_ceph_conf = /etc/ceph/ceph.conf$ K! O7 P  a4 Q5 c
rbd_user = cinder' w6 p9 Y. N2 D, d+ E3 P# E
rbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe1 R1 P, Q9 Q' M4 t9 B! D  a2 l
disk_cachemodes = "network=writeback"
4 c* T4 p4 F  d/ o) q& Q. `( k: q: Jlive_migration_flag = "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
1 r: i! L9 M  r* f! L' ~8 F  F% chw_disk_discard = unmap
& ~* _: q+ ], Z) i# D" `[root@computer ~]# vi /etc/ceph/ceph.conf
0 N6 {# |3 J1 v3 \5 a[client]) Z1 t) J; R8 J# {' x
rbd cache=true
, T7 O8 j: a  s3 [8 ^rbd cache writethrough until flush=true0 b9 f# [9 J8 @* _; h6 x  ]
admin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok8 t' Q. N+ ^4 o# h2 m9 \, r
log file = /var/log/qemu/qemu-guest-$pid.log
4 g* b) X- C' T" V3 ^7 m* X5 ~rbd concurrent management ops = 20
' i' r6 z2 o" ?6 p9 W创建日志目录
: E0 _' b0 F- Z" q- f+ a3 ^  g/ M9 ~. \! J: c7 U/ F8 _, U
[root@computer ~]# mkdir -p /var/run/ceph/guests/ /var/log/qemu/6 }7 d9 D. W' ^* S. b
[root@computer ~]# chown 777 -R /var/run/ceph/guests/ /var/log/qemu/2 b  X7 Y  ]0 F. j9 d- d* l
controller下发密钥
6 V  c1 }, g6 T5 }) o3 D# o
2 ~# k# ~, P5 F[root@controller ~]# cd /etc/ceph) i1 m7 O3 C1 W# f
[root@controller ~]# scp ceph.client.cinder.keyring root@computer:/etc/ceph
4 b4 E* G( k0 M" J7 c! x" h重启服务" t1 I, r5 ]$ j/ T' \2 f
! v* P2 D* ^  V
[root@computer ~]# systemctl stop libvirtd openstack-nova-compute8 W$ p* t) o; z& |: e# S
[root@computer ~]# systemctl start libvirtd openstack-nova-compute
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 00:07 , Processed in 0.029623 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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