找回密码
 注册
查看: 3141|回复: 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& V9 j' B9 Q$ d) K* @, F. i! Y

5 l, n  X* K& b; F5 A1 ?#传送密钥到computer- u) Q4 L$ ]. |2 t) c

% f+ x4 R5 X3 `8 {4 X2 o1 |' C[root@controller ~]# ceph auth get-key client.cinder > client.cinder.key$ C3 s- Z/ z- U4 {( z8 J5 j- l6 m! C
+ q: d$ ?" S4 ]" e( ^# n
[root@controller ~]# scp client.cinder.key computer:/root/4 m; j$ A; z% ?; x7 j
' V& K2 I) Y) e" o% H, ]+ U
#修改权限' R( f* n1 c. h2 g1 W% T

8 X" c- e+ z* ]0 [- O[root@controller ceph]# chown  cinder.cinder /etc/ceph/ceph.client.cinder.keyring
, |5 S' V9 z, O8 I# R; M0 H

设置密钥

#computer生成uuid
$ n- Y2 J1 a, {7 |( D5 E- |2 d) l4 X, s8 |6 _0 N, j, G
[root@computer ~]#uuidgen2 E9 F, H: @; ~+ C" r
; n- J0 L# t) V7 @
1fad1f90-63fb-4c15-bfc3-366c6559c1fe #创建密钥文件- R# x! Z0 D( T  q9 }

$ }2 M# h2 Q; S& k/ s; n[root@computer ~]# vi secret.xml8 X5 G2 P& X1 R0 Z, l
  1fad1f90-63fb-4c15-bfc3-366c6559c1fe   client.cinder secret
9 {' J8 }! d: a7 o! z& s# q' D1 [. x, C2 T, x5 s
- j- c. c4 \0 N% `( I5 S* r. U( c& S
#定义密钥
$ u: Z% p* h) H& W) Ivirsh secret-define --file secret.xml
, g) ?1 ?' k3 c# j) D7 k* a# X* k% g# `& _6 x  q" w

( L2 u9 T) f/ G( K6 N; t. R: D" `#设置密钥
4 h" R4 |' D: R
; t% [& D; Z5 A0 n/ y

  g  J6 {* H! R7 L. _; @- @virsh secret-set-value --secret 1fad1f90-63fb-4c15-bfc3-366c6559c1fe  --base64 $(cat client.cinder.key) && rm -rf client.cinder.key secret.xml
/ ~- D1 h& ]- p
1 v+ U' p& |' e& K% z4 ^) T
% g3 y% [6 z" D. b* {$ M
设置对接cinder模块
3 V0 ]5 p! d; h

修改配置文件

[root@controller ~]# vi /etc/cinder/cinder.conf& C1 R5 n" _8 I( \) D" F2 T

: u& Y9 |9 @7 Q' j( I  d& e; C[default]
& I2 b& ]& H/ A  X) w
$ \9 m, H: p* k3 r" k( b; f5 |rpc_backend = rabbit
- z1 `% c* s# }  Q  E& T
  K8 z5 I+ `! p5 hauth_strategy = keystone
7 ^  B" g' c& _
0 ]4 }/ r" K  Umy_ip = 192.168.8.658 {- G0 P" j) h" S2 `

+ B- O# n. j2 N  U! w$ r8 y. Kenabled_backends = ceph-1+ L- b- Q; r6 N; j$ n8 g
' J# B9 j( F. r9 S/ U- U8 Z
[ceph-1]" i5 Z2 E: [# }1 Q" m! s" T- t- T
* \/ Z- e2 i  a; K9 a$ P
default_volume_type= ceph-17 m9 Q8 L; T- |* [# I' L
+ U- D5 B" V5 a& ?( N; c
glance_api_version = 2  
* _, V. w! S  t0 t2 d7 a4 r2 z8 N  T
volume_driver = cinder.volume.drivers.rbd.RBDDriver% b9 h  v! b+ ~  P
6 k7 {- ~, H. x0 F! x% A  n5 K
volume_backend_name = ceph-1& ^9 i) r4 _6 E
) u0 i7 k' W, u. r7 k1 v) m
rbd_pool = volumes: j0 [" U! x9 R( Y5 Q3 `
% c" F2 ], H5 M0 t: W& ~
rbd_ceph_conf = /etc/ceph/ceph.conf
1 o9 f  d( q& p: o& |" ^# Z3 l" i! }/ [$ e
rbd_flatten_volume_from_snapshot = false
( y  T( g2 |) _. I9 ^8 i, q$ r6 k9 s/ e2 D9 h
rbd_max_clone_depth = 5
6 N) o! q/ w7 {+ e3 M) O8 m) n" [4 F$ ^
rbd_store_chunk_size = 4' p- k. ?! |6 I

' D- W7 ~% j2 p+ Y' J, T; g0 lrados_connect_timeout = -1( ~2 v5 N$ K5 j: E- L2 M* `
, S: B% E, a5 i+ B, }7 v( d. u
rbd_user = cinder; }% g; d( N) K& o; C! W

1 n# Q( u9 `# J( A* _#对应computer创建的uuid
% h) ]" [; t7 {% Z2 W( [
* |5 f2 f6 Z- ?9 u" k, j3 D# Yrbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe
, h4 j5 n$ M/ e/ n( O) u  ^

同步数据库

#若已经有数据库,对数据库进行删除并重新创建和同步
+ c! G3 v: K/ l8 J- x( n! E/ I1 U8 O8 g" l/ z4 [7 p& y$ e
[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
1 n+ P4 I3 R+ \& @# f

重启服务

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

设置ceph的类型和存储类型

[root@controller ~]# source admin-openrc 7 b) [5 Y3 Z. M9 J' J
4 j( L' o. a. B
[root@controller ~]# cinder type-create  ceph-1
' ^- n/ G; D3 K; {2 z% |
3 O* F, ]  s5 @8 K: X3 `) U. G! J[root@controller ~]# cinder type-key ceph set volume_backend_name=ceph-17 c/ \" d/ {0 u5 }

% ?* |$ O4 A6 L对接nova-compute模块! C. q5 s3 q& Q. x- _4 y

computer结点修改配置文件

[root@computer ~]# vi /etc.nova/nova.conf
4 M6 w' N9 m3 j' M/ h# Y% X7 H3 M9 a$ o2 [
[libvirt]# z6 O8 _' z& O% t$ K- s; @7 H
+ {: J. o7 o$ G: U7 Y
virt_type = qemu! @. |. J. r8 u0 U, I
3 g0 F4 X/ o7 `5 g* Y
inject_password = true
7 m" b. F1 R8 S3 [% W2 G! G5 t! I  X# o/ K8 Q$ v
inject_partition = -1/ q* {0 [: c& ^( _2 S

& j2 j) U7 c' g8 Y* i7 f7 ~images_type = rbd. H- ]- `2 \% P. |$ T. R  C$ k
, h' }% h/ ^" n
images_rbd_pool = vms
8 K9 |9 t! j2 b: Q8 W, \3 h! n% l. c
( n) F0 j  r' C4 C2 |) `+ C8 d' K# h) Gimages_rbd_ceph_conf = /etc/ceph/ceph.conf
- h7 X  a" @9 Y2 i+ |5 n" ]! L9 Z& [) b
rbd_user = cinder" U# q  K4 i" t6 j8 v- E

' y. x7 D( I( P" \) }# O4 Xrbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe
  p& G* {- ^9 {: B/ @; E( O# i+ o
; V) n2 i4 W/ y% O2 j4 Cdisk_cachemodes = "network=writeback"
+ C, a' p5 _1 ^' @2 x
4 U3 D4 l; c1 ^2 Plive_migration_flag = "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
% {2 V3 [' {3 n" c8 |" ]6 s/ [, N. _5 {9 j/ F" P5 r
hw_disk_discard = unmap  
" y( A- V7 m$ P* x! u' K  u0 m1 H2 _2 Z" s) x# G
[root@computer ~]# vi /etc/ceph/ceph.conf * \. D2 C* X$ d$ W  B8 G! w  H: E9 |

! f$ i7 t( B- p. n9 Y[client]
' F! U" M( p8 u# u  @" d5 d9 T' ^1 c
rbd cache=true
3 ]. |8 }7 p2 v& E5 n9 |4 C! w  z( p( G& a2 V4 x/ x9 S
rbd cache writethrough until flush=true
% S: j3 G" U( K' n! \, @: a  u  N' I
: Z$ o2 `3 G3 q6 ^4 Tadmin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok
, D  o0 w( O: i! Q3 a7 t) D0 `, g. ]5 ~
log file = /var/log/qemu/qemu-guest-$pid.log; L; ]$ h1 \' L0 h0 p" n5 y) m
1 c* g) r1 {8 }  ~7 k
rbd concurrent management ops = 20+ F5 Y% n' w) y0 x: a4 D- R

创建日志目录

[root@computer ~]# mkdir -p /var/run/ceph/guests/ /var/log/qemu/
, t. [" p; W& X1 p  [
8 k+ O5 a: [1 O, s5 K[root@computer ~]# chown 777 -R /var/run/ceph/guests/ /var/log/qemu/
; L7 P4 X5 Q, o- H( a

controller下发密钥

[root@controller ~]# cd /etc/ceph& [) {" v9 v! Q: ~" f- v
! a* }* Z! _2 W' v2 X: p6 v- b
[root@controller ~]# scp ceph.client.cinder.keyring root@compute01:/etc/ceph
6 o' x2 j* ?5 C# g, u

重启服务

[root@computer ~]# systemctl stop libvirtd openstack-nova-compute
- p2 O' m: ^# l* ]: T. }9 z
( j' c% \) M+ N% Y9 Q[root@computer ~]# systemctl start libvirtd openstack-nova-compute9 f/ E# S7 K4 `! h6 ?, r- e' E

( ?# Q4 ]2 q3 t; Q

' Q/ l. ~# M6 f$ r2 G+ t

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-7-19 11:13:12 | 显示全部楼层
创建cinder并设置权限5 g& m. N; a5 ?2 a+ w4 V( s
( K- C' n0 y5 N- N
[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'
2 H; e- a" f' _+ @0 W设置密钥
" h2 N  K0 M8 @# a  C- W0 `0 A3 ^; s, E, f6 Y
[root@controller ceph]# ceph auth get-or-create client.cinder | tee /etc/ceph/ceph.client.cinder.keyring
1 f, f% L2 w) ~2 N/ Y. k& M: p- N
/ a! m# K% Q( D#传送密钥到computer2 w5 T1 u+ K6 C# _- d( K- y
[root@controller ~]# ceph auth get-key client.cinder > client.cinder.key1 W* Q$ C) U4 S* M6 Q# ]* _
[root@controller ~]# scp client.cinder.key computer:/root/
: `( i( M% i7 ]7 r" K" ?2 I2 ?: I5 l5 k) x- U1 |: V7 u
#修改权限
; k" m  m" L/ h" W& a[root@controller ceph]# chown  cinder.cinder /etc/ceph/ceph.client.cinder.keyring* J; q" \- W6 ~' f
设置密钥
* \9 U# E% e; U, F# H  T
, L+ B  W: v. s: {1 M#computer生成uuid. v9 ^* P: k9 X, K. r9 Q# ^9 A( R
[root@computer ~]#uuidgen
2 e8 h% k0 q8 K2 y1fad1f90-63fb-4c15-bfc3-366c6559c1fe
5 U- @& m7 w* A2 g: Q9 i: V2 X: a0 t/ v% c) g- T
#创建密钥文件* D) D# @, R% P  y; l
[root@computer ~]# vi secret.xml
' V- D' \1 z. {) a  1fad1f90-63fb-4c15-bfc3-366c6559c1fe   client.cinder secret
+ X1 x8 M- u* ^" ?4 l. F#定义密钥
: t, R" I2 E( x- Z8 A' Z- k5 F% jvirsh secret-define --file secret.xml) ^! P# I0 r1 Z8 F

; T) I( e- J" x2 F3 \  _' I#设置密钥
5 D3 Y. \6 J3 a/ a% mvirsh secret-set-value --secret 1fad1f90-63fb-4c15-bfc3-366c6559c1fe  --base64 $(cat client.cinder.key) && rm -rf client.cinder.key secret.xml
1 d3 \: d+ c  _  j9 ]# h设置对接cinder模块& _0 O8 e( h( T3 ?& T  A2 {
修改配置文件' c% [9 S0 _$ q, x: c9 _# s
, |5 Y4 J3 O5 F$ L& P1 D1 V
[root@controller ~]# vi /etc/cinder/cinder.conf1 M$ [6 ?. u2 q2 J& ^5 a
[default]
; E/ I' `% D6 C$ K  u8 c( g! Prpc_backend = rabbit
" l1 {3 @4 Q- _2 }* m" m/ wauth_strategy = keystone
; t8 Q  R: r1 U) e3 Amy_ip = 192.168.29.148* N# u' x  z$ g: G$ v9 s. t# Q
enabled_backends = ceph
9 i; f+ L3 u5 W, b+ S) g1 S; l5 E
& W- M; I& G8 V! A[ceph]
9 s8 C' e* a4 [6 Q' Jdefault_volume_type= ceph; @4 R1 i/ B, W9 V0 I* N
glance_api_version = 2  
" N3 ~, O; X3 o  ?volume_driver = cinder.volume.drivers.rbd.RBDDriver
. i1 e3 y  y9 _% _5 uvolume_backend_name = ceph1 I) ^# I1 ^, [1 H4 s
rbd_pool = volumes9 X* U9 ~( @" Q7 d: P
rbd_ceph_conf = /etc/ceph/ceph.conf- i$ Q" N  W% F7 K/ e. \# H& V# f
rbd_flatten_volume_from_snapshot = false
/ w' t5 ~# D( U1 ?, y  ]rbd_max_clone_depth = 5
+ I; W8 o8 ^2 e$ Q) y4 B. A# _( q/ l# Jrbd_store_chunk_size = 4
+ ^8 e* }' U) x" p6 p( wrados_connect_timeout = -1
8 ^' E: h. R1 c# b+ N! @% a3 [rbd_user = cinder+ v* k$ W* p+ s& o4 S: h: c7 u' c
#对应computer创建的uuid
, j0 I* D0 z1 ]: Frbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe 6 B9 R. z1 e2 X9 {/ J9 i, Z
同步数据库
4 d' }2 @: J) B" D0 {- w9 c  m
$ ?  _) g6 }+ L4 H" v; K#若已经有数据库,对数据库进行删除并重新创建和同步
( e0 F' p9 p* S! x% Z[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
, w4 ^; i1 W! ^1 t重启服务8 `' h6 }! Z7 b9 a! F

/ l; v- Z; Z3 g4 U1 z1 W9 g( x( c; \  V$ N[root@controller ~]# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service
1 N% [- g5 [% w! Y+ q9 C5 q设置ceph的类型和存储类型
0 }+ m  E7 N% z2 |! F* }" m& b. W
[root@controller ~]# source admin-openrc
( V! A/ k. b$ Y# ?[root@controller ~]# cinder type-create  ceph
! Z: p: N! ^! C+ z7 _[root@controller ~]# cinder type-key ceph set volume_backend_name=ceph
+ s* @) }1 [4 c; n" l对接nova-compute模块
% A, N4 u& B' G) l, Ecomputer结点修改配置文件* O; [  a% A. W- p' q9 k% W

9 X- e) j0 ]) ^0 T[root@computer ~]# vi /etc.nova/nova.conf
% V1 z( v: I* \2 [[libvirt]. C* R- ]) L( v+ K8 v) b; E
virt_type = qemu; E: c8 k) ], ?
inject_password = true) ^# w) F0 F! @" w
inject_partition = -1" ^2 s3 s1 |; t! Z5 J0 {
images_type = rbd4 S! X1 x% f2 u& V* O3 d$ {# U4 q
images_rbd_pool = vms6 f2 ?) f) U& Y# k. }3 h
images_rbd_ceph_conf = /etc/ceph/ceph.conf5 U" E8 @( r: Q0 _: E! l
rbd_user = cinder4 ?: d7 `% `% |! N- m: [" n: \  }. L
rbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe3 A, h  Q" A1 w  K: \- Y, W- M
disk_cachemodes = "network=writeback"
# @8 z. |1 Q0 l2 m' U9 p; F2 slive_migration_flag = "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
: U# Q) L2 W0 C2 s5 J3 f; V2 l2 {( Shw_disk_discard = unmap% h( j4 U; G$ K) m$ {3 I8 |
[root@computer ~]# vi /etc/ceph/ceph.conf 4 @5 l7 O* h* j
[client]; ?% ~; q+ E* w
rbd cache=true
# O8 ?' T/ i. _( O) ^rbd cache writethrough until flush=true, }) m3 i( u' }& d; v3 R5 s+ {
admin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok! `2 V9 ]) p  o4 r6 S5 Z; q5 A
log file = /var/log/qemu/qemu-guest-$pid.log
$ f  \9 _1 _! i* E0 m7 B, v* yrbd concurrent management ops = 20
6 ?- k* m7 P" m' n) w: Q创建日志目录, u: _) {. H# S* D& g. L3 V+ \; j" v
4 q. Q  U0 L% h5 n' Q1 I+ \# i) I
[root@computer ~]# mkdir -p /var/run/ceph/guests/ /var/log/qemu/
5 S! z+ O, ^2 T[root@computer ~]# chown 777 -R /var/run/ceph/guests/ /var/log/qemu/
8 z8 m4 m; N3 [% m9 ^- K  S* [0 ucontroller下发密钥
$ P, @0 A5 Y) o: |9 D! R/ o# z
9 x$ P/ {' o" @, p2 C6 ^[root@controller ~]# cd /etc/ceph
7 k, @6 L) K1 s; E' ]' P) U) m% i' q[root@controller ~]# scp ceph.client.cinder.keyring root@computer:/etc/ceph
. y, r/ X* ^  ?0 m1 f. e( k重启服务
% B" S' }9 Y8 Y- {8 K* p& `8 V% R# O9 U& k( g
[root@computer ~]# systemctl stop libvirtd openstack-nova-compute
( S1 L; v: \. W8 ]. ~' J2 o[root@computer ~]# systemctl start libvirtd openstack-nova-compute
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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