找回密码
 注册
查看: 3142|回复: 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
" }0 |' I) h; |/ s( P6 s$ f8 R
' a0 W6 M0 B( M" a2 \+ _! w#传送密钥到computer/ [1 n3 J$ t7 \% B6 t
0 y: I0 y, N8 p6 z! j
[root@controller ~]# ceph auth get-key client.cinder > client.cinder.key
1 ?  D, C7 P' s) ^3 U; ?
! h4 p" |+ k  f* A6 p& v$ K* B( Y[root@controller ~]# scp client.cinder.key computer:/root/! w  ?; O% h# I$ d" P: \
, ]7 ]' {) Z6 h" `" c8 q6 h( m
#修改权限; V7 O1 h# P" X3 K5 Z

1 Z' ?# O6 ~3 i[root@controller ceph]# chown  cinder.cinder /etc/ceph/ceph.client.cinder.keyring
0 ^- b2 @. U; |' p; I6 j) a0 f

设置密钥

#computer生成uuid
* ~" `$ F; i7 Z. E) `" Q3 W. j4 a1 w, \
[root@computer ~]#uuidgen
- J7 g; y2 O" y# H) p: k, {5 n9 G- Y% \5 Q
1fad1f90-63fb-4c15-bfc3-366c6559c1fe #创建密钥文件: W2 y( M5 l1 s

- N% K4 M' ^4 J7 ^: A[root@computer ~]# vi secret.xml
, G" Z2 p+ f0 \$ X- u  1fad1f90-63fb-4c15-bfc3-366c6559c1fe   client.cinder secret
& \( B0 E( L$ N" W7 I2 k* b  g* M- t1 ~3 Q2 C8 D5 f" q
2 p+ m# e2 d5 k: {3 I
#定义密钥
0 a0 Z7 Q9 E6 }virsh secret-define --file secret.xml  {1 d2 w1 V. R+ K% d: A

6 a, [: R9 s/ ^0 J5 ?! C/ G$ c8 \

, ?. |8 _5 S. a5 ^8 }#设置密钥
- n8 P# I9 c" H- E7 n0 M- o2 v5 f+ ?0 Z& w! z
' z! L! P* o! ?: I$ ~: r& q
virsh secret-set-value --secret 1fad1f90-63fb-4c15-bfc3-366c6559c1fe  --base64 $(cat client.cinder.key) && rm -rf client.cinder.key secret.xml
1 N/ x& u. a. D4 A- b- O
) U, R2 g) p6 n

  j6 z8 V! U/ e7 K# c设置对接cinder模块, Z4 Q1 K  W) A$ U

修改配置文件

[root@controller ~]# vi /etc/cinder/cinder.conf1 ^  @0 ?; T! R. Q9 |) T
& M$ _2 A. S  F7 ?# @
[default]! t* X* e2 l$ `5 S

7 b7 {' K7 F7 \- }7 W: P6 nrpc_backend = rabbit4 N5 P( N& M7 Y/ K! H
1 I7 K3 f! r% `, ~$ H
auth_strategy = keystone
9 F( ^, r8 z: m/ V) u# w: G7 \3 h; S% S: g3 G
my_ip = 192.168.8.651 V8 w. X" c9 I; p

, }7 e! W- e8 I; s" [2 henabled_backends = ceph-1
& v1 Z- v- a% R8 v- s7 v4 e* z/ |
! `2 z8 q# p- y% d+ A[ceph-1]
3 @3 ?" {+ n- ]! _
: D, [3 {/ |- V  \- G4 T9 j5 h6 S$ Ldefault_volume_type= ceph-18 V* S. z2 G$ e# R
( L" F6 h' J! x6 I; m: D
glance_api_version = 2  - N. f- Q; f6 V0 ], b

4 b4 v8 F7 f. f: x! s7 {+ o2 Qvolume_driver = cinder.volume.drivers.rbd.RBDDriver- _1 n$ e" N" {# ^+ [9 o

6 }3 F$ u4 X; |7 B, r' n/ _; x4 X. dvolume_backend_name = ceph-13 T: r8 h4 p: R

, z& w4 f7 w& s, K! R, ]rbd_pool = volumes9 y" c) |- W8 j, s" |8 C. Z  G+ p
4 j8 x6 X* L; C. u
rbd_ceph_conf = /etc/ceph/ceph.conf
8 U( ^/ n+ A, t  W' z1 x8 ^& @$ d) l7 l' I+ Y
rbd_flatten_volume_from_snapshot = false
4 J  Y: y4 b3 t# g
; w4 a' y& f& s. A+ Erbd_max_clone_depth = 5* e# t/ U( `) J# R% L, T; a
  m% Z1 \* o# L
rbd_store_chunk_size = 4
% l; H9 d- F4 @6 F3 s- G  `- `* ?- k6 {9 K/ q1 J- ?
rados_connect_timeout = -14 F, B0 [/ t% M. ^" P" }8 D, U1 \
; M9 |5 v- r. R1 u
rbd_user = cinder
  F6 t1 G! \: X' Z6 C* A
& E. H& W1 d& a( [9 t#对应computer创建的uuid. M. P( B; q9 H. J9 k' H
  F+ z4 ^* C' x$ z8 H: t1 x
rbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe
" l* q" A6 j) H. B

同步数据库

#若已经有数据库,对数据库进行删除并重新创建和同步# I8 Q, s- r% C2 V8 R1 B& u$ N4 g
; p9 K/ A, D1 S' e  U& v) T
[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder( z% a1 `" h" e  E

重启服务

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

设置ceph的类型和存储类型

[root@controller ~]# source admin-openrc
6 [8 l( ?4 T( H+ m( T6 i3 e+ b9 l& ?5 |1 }
[root@controller ~]# cinder type-create  ceph-1# {- E' I% H# E+ E" C
% r4 [+ ?4 _; m5 J, T4 Y
[root@controller ~]# cinder type-key ceph set volume_backend_name=ceph-1
9 @4 X8 G: F' S& e) A; [' ^: {
. C: Q& `. p( V; C对接nova-compute模块3 m% H# K; q" m4 j" s6 s

computer结点修改配置文件

[root@computer ~]# vi /etc.nova/nova.conf
- v1 P# o% N1 d0 Y. h
, e6 X! z7 }/ ?% v) ]8 n0 E[libvirt]
/ u1 q5 e8 b- R$ Y: W" o8 P/ c
( p) e: K% y# f. P8 i) a) N. uvirt_type = qemu
; P) l" b, V; a3 a7 e5 l  {, N& |& M+ `7 G) I0 C
inject_password = true3 R' F0 ^) L  `9 T; m
: {7 x+ o4 c7 H  z' z; L2 [% p! E
inject_partition = -1) {6 m/ E/ e2 V" i
2 i8 v0 ^# |- E5 u5 L: l
images_type = rbd& i3 c$ o; e/ W; y9 ]/ j% j( I

" ^/ K  M' t+ ~5 y( Oimages_rbd_pool = vms- w6 |5 B; G- U  V5 l8 }* l; m$ P

# A& k" v, x* \" E' K+ B$ J$ Fimages_rbd_ceph_conf = /etc/ceph/ceph.conf
. d  \* P; T, R# v9 v3 v- B4 p# X0 C; h; X/ X, d7 k# G
rbd_user = cinder
& D( k3 W- x' [4 B8 f$ d1 M% u: h/ @! [: g5 q
rbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe, G9 S/ d/ i; b; k2 D  _, T

" T6 @! Q9 U: [$ b$ Gdisk_cachemodes = "network=writeback"
- [- v4 ]6 f. B' @
' p9 P; D( R- M: q) wlive_migration_flag = "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"/ E9 H6 B8 p7 j+ G2 a

/ i' c' o) F% A4 p0 }hw_disk_discard = unmap  
+ q: B* a6 B0 I) A0 h* l: h% A. B8 }2 Q: [, o1 d/ J
[root@computer ~]# vi /etc/ceph/ceph.conf , L  q: C7 q7 b

6 w' W) t% m* g[client]
& b, {: I, H4 f  `) o8 \
1 ], ^3 r/ M+ d5 Lrbd cache=true& p& `& o) k5 G4 x2 T- V( g% O$ ^
  w! t: I3 w# E( u
rbd cache writethrough until flush=true" h1 Y/ ^8 b* s8 F3 `, V4 z
" X: M% E& k2 s/ W6 a1 H/ ?2 W) {
admin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok9 m7 ^0 P% ~4 C, e5 Y, T

+ Z! N6 ~' G" z; ^5 N6 X! O7 hlog file = /var/log/qemu/qemu-guest-$pid.log* u4 T+ Q  a- u) k- A7 J6 l: y9 w8 s

/ i  C3 W/ g' r, f6 }rbd concurrent management ops = 20
; G7 U* y% G8 i2 l9 l. m8 c2 e, G

创建日志目录

[root@computer ~]# mkdir -p /var/run/ceph/guests/ /var/log/qemu/- g' A1 V, l/ U% v- F

4 K4 h7 `0 U4 O3 R[root@computer ~]# chown 777 -R /var/run/ceph/guests/ /var/log/qemu/
4 D9 q, g7 _& |# }  ^; P5 }

controller下发密钥

[root@controller ~]# cd /etc/ceph
: [4 A3 b3 z# i# H5 ?! f0 {+ d
* o# G$ D. r9 B. ]* V5 c2 d[root@controller ~]# scp ceph.client.cinder.keyring root@compute01:/etc/ceph# P" V' m' T8 ?8 T6 Q

重启服务

[root@computer ~]# systemctl stop libvirtd openstack-nova-compute. B+ Y- ]/ l) E# u# ~) l

( |- u2 U* }4 `- Y[root@computer ~]# systemctl start libvirtd openstack-nova-compute5 a8 b# x+ |1 I9 `
7 T+ F" R. ?* X" x! Y8 m# J
: |% Y1 `& |/ P* P% W& ]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-7-19 11:13:12 | 显示全部楼层
创建cinder并设置权限
2 z) E6 w6 \  F2 {( S1 A9 ]0 k
- S4 H( K, p  u2 R4 X! N7 b[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'; o8 d4 C, n0 [" p  a, s: v3 a
设置密钥
* s2 ?5 G7 z, b3 u: O8 \0 Q, a' }* G/ f3 ]; G
[root@controller ceph]# ceph auth get-or-create client.cinder | tee /etc/ceph/ceph.client.cinder.keyring. q3 s6 t: [2 |/ [# e; K1 i2 h2 P$ B
5 q  @2 J: H+ n' [
#传送密钥到computer
( G, m8 v' T" j* p! [! }- R7 a[root@controller ~]# ceph auth get-key client.cinder > client.cinder.key5 M' s2 m8 S9 ]( l1 |8 l: t
[root@controller ~]# scp client.cinder.key computer:/root/
! q+ l0 Y6 K( N2 ^% Q, F/ w0 K( M6 b: t4 t4 X7 ?
#修改权限; |" q- d7 D( s) H7 a
[root@controller ceph]# chown  cinder.cinder /etc/ceph/ceph.client.cinder.keyring
& |2 \; o8 a4 i) o' X8 s设置密钥
+ b4 r: `8 P7 l. D, J9 g2 z4 _! _4 A1 C1 K& l/ Y
#computer生成uuid
* l$ l9 _( i# B[root@computer ~]#uuidgen
/ Z9 I! ~0 ?3 v0 C8 c6 ^1fad1f90-63fb-4c15-bfc3-366c6559c1fe
6 M6 X4 F1 f( D8 ~" V( j
! Q% L* {- }) }2 o1 D0 f# C) w' Q#创建密钥文件( U- q  M5 k/ v; P  Z
[root@computer ~]# vi secret.xml8 O' Z, p+ Y7 I
  1fad1f90-63fb-4c15-bfc3-366c6559c1fe   client.cinder secret
; V2 v" `" t5 [1 H: G# Z9 P#定义密钥, R. B# w' D9 d# E3 j/ U* n+ B0 W
virsh secret-define --file secret.xml
+ c0 q5 t$ U. {# J5 b; H! ~0 G/ `) z) I+ k$ B# w+ ?! j# U: ?& D5 w5 `
#设置密钥
/ t3 |* |+ v# F2 ]. w/ tvirsh secret-set-value --secret 1fad1f90-63fb-4c15-bfc3-366c6559c1fe  --base64 $(cat client.cinder.key) && rm -rf client.cinder.key secret.xml
+ ]: c8 Y7 a! h: S  R设置对接cinder模块9 o" ^* p$ q; f6 o. J
修改配置文件
  U1 q2 \1 y; ~. S0 X" s1 E; I/ L/ D3 F  F
[root@controller ~]# vi /etc/cinder/cinder.conf
- B8 Z0 L* y5 Z9 O4 s6 t! ]/ I[default]
9 C& W% b2 K  urpc_backend = rabbit
0 F/ v; h" ]' m3 k3 i; bauth_strategy = keystone
  u, M+ f5 `" j9 o5 I2 Wmy_ip = 192.168.29.148% x) C4 |2 u3 D8 h) ^
enabled_backends = ceph
: a) z5 x! e$ K# x& }0 Z9 H4 t' V9 x3 T* W7 C$ M; Y
[ceph]' A1 V2 l* j. L
default_volume_type= ceph  k! J, c6 |6 U1 a! Y, V
glance_api_version = 2  
- x# ^- I; q' r) ?8 [; V6 \( Mvolume_driver = cinder.volume.drivers.rbd.RBDDriver
! `' I& W8 ~9 `8 G; `  ~) Gvolume_backend_name = ceph
2 O+ D  d" H2 p+ N$ U' Urbd_pool = volumes
- k" m5 p; ?) s, f- irbd_ceph_conf = /etc/ceph/ceph.conf
2 ~" X6 I( e1 vrbd_flatten_volume_from_snapshot = false
! T: @( p3 j2 H' R& Drbd_max_clone_depth = 5$ [, s( U) o; M8 ~  v  v! ~
rbd_store_chunk_size = 40 g( q/ J# w  R2 p# c
rados_connect_timeout = -1: X1 l, L) W$ L  i+ h
rbd_user = cinder
; l9 D: |* X9 x, n, y#对应computer创建的uuid
; `$ W7 g: k: U$ Z* \rbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe
+ M" J. g! N6 ]7 C$ e/ L; M5 @同步数据库
; [1 B. T/ W) T2 `  F, N" k
4 A& y/ Q1 R$ J3 F, H+ [) @& o#若已经有数据库,对数据库进行删除并重新创建和同步
$ I) V" \; x( ~+ }6 p3 t[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder
$ p5 Y: s- x1 W8 ]. T3 r6 e重启服务
3 i4 }: f# W- R, P. Y3 }9 N2 q; m/ Z! e
[root@controller ~]# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service openstack-cinder-volume.service
; S; l1 j1 p  g. S$ ]8 X9 M设置ceph的类型和存储类型
7 Z; B9 V' b% S% s" g" o) ?
6 K+ e% I+ e6 i7 Q1 k: H[root@controller ~]# source admin-openrc
' L: w9 G! y& l4 J9 X( F[root@controller ~]# cinder type-create  ceph 4 E, @) e- W8 N! x( ]
[root@controller ~]# cinder type-key ceph set volume_backend_name=ceph# @' e2 n7 B5 H4 _$ M1 D" ~& E
对接nova-compute模块
7 u% J: y+ a6 _- F2 b! Hcomputer结点修改配置文件
( C; q! d$ Y$ D3 Z
3 Z( Z- B" ^. K; E[root@computer ~]# vi /etc.nova/nova.conf  m% `/ h5 v% |2 w
[libvirt]
$ q% L% @# w3 Z0 P' v$ yvirt_type = qemu5 H2 \  }' Q! t4 i3 @9 D
inject_password = true
. Y5 C/ g9 ~$ N& ^inject_partition = -14 e" Z) N9 P' N5 L6 ?2 N
images_type = rbd
# d. e" b2 e* @' simages_rbd_pool = vms
4 S2 ?% v4 p$ Bimages_rbd_ceph_conf = /etc/ceph/ceph.conf4 U" _" u. w  i4 O$ m; z
rbd_user = cinder
$ W3 i% d6 p. c* Orbd_secret_uuid = 1fad1f90-63fb-4c15-bfc3-366c6559c1fe
9 k1 v7 U1 E, S$ ]: [+ ~5 ^disk_cachemodes = "network=writeback"
' ^3 T7 ^* R+ G+ z9 Flive_migration_flag = "VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST,VIR_MIGRATE_TUNNELLED"
7 F# K' \3 m, \/ h& X% d2 ?% whw_disk_discard = unmap
: ^5 [' F! a6 @* w( T0 q* T[root@computer ~]# vi /etc/ceph/ceph.conf . Q( H0 ~- \& v$ F. Q4 S2 m
[client]& K2 k9 s/ r% D% \
rbd cache=true
2 q) U! L6 }, crbd cache writethrough until flush=true; d  y8 N& y  \7 F7 U
admin socket = /var/run/ceph/guests/$cluster-$type.$id.$pid.$cctid.asok7 X  C  Y9 ?- B( |' H: ^, K
log file = /var/log/qemu/qemu-guest-$pid.log! c5 `  u/ Y, s
rbd concurrent management ops = 20) q' n( J; T" v' M
创建日志目录8 }9 p! n) ~) @7 ~' h# M. |8 R- P; ^
% q; g, k/ V( l( p  v3 A
[root@computer ~]# mkdir -p /var/run/ceph/guests/ /var/log/qemu/
% G# v% \6 `/ W& J5 }[root@computer ~]# chown 777 -R /var/run/ceph/guests/ /var/log/qemu/
( D5 Z3 E1 [- f' s1 p( Ncontroller下发密钥
* R- D4 g# {* e) l% X/ a+ k% G2 u7 R, J9 }9 Z/ \) {7 E1 @& k
[root@controller ~]# cd /etc/ceph0 Z. b5 f2 v! |/ E
[root@controller ~]# scp ceph.client.cinder.keyring root@computer:/etc/ceph
% I! y2 Y4 d, P0 p" }7 T. e5 _重启服务+ n3 [! D) v4 J
; S+ T4 {# s, T% _; `* i# C4 Z
[root@computer ~]# systemctl stop libvirtd openstack-nova-compute+ g6 C6 `! U" r  X6 t. O2 F7 Q6 d# {5 e
[root@computer ~]# systemctl start libvirtd openstack-nova-compute
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 02:02 , Processed in 0.017155 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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