|
|
集成Ceph相关配置
; V' D( {- K/ A创建Pool) {6 k' O) h. l2 x
# ceph osd pool create volumes 64: g- S ^" k# K; O5 L" O9 {/ w
# ceph osd pool create images 64; i9 H6 L& l9 _0 Z, i7 Q# D
# ceph osd pool create vms 64
! T$ m; L( G& y, ]安装Ceph Client包 : }) `- X" L& w
配置centos7 ceph yum源
2 f" @: a `; G4 Q9 b9 U ^在glance-api(控制节点)节点上3 ?. f/ O3 X# v7 f" L4 i9 b
- }" e( T" {9 E. ~" l
yum install python-rbd -y
1 T, ^$ z* z, j& [- j! @, R2 Y) J(计算节点)在nova-compute和cinder-volume节点上, r- v) o P1 E
% A+ Q4 z8 R5 f: V3 k& eyum install ceph-common -y" L. s' g- Z$ E) @
openstack安装Ceph客户端认证3 G% y* |# B5 i1 @+ ^3 L: }5 ^2 C4 v
集群ceph存储端操作7 \, [& d/ Q6 y" s* z' z
4 e) B4 T' f3 `, Q! i
[root@ceph ~]# ssh controller sudo tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf: Q0 H$ l' J% x8 V* S. J y
[root@ceph ~]# ssh compute sudo tee /etc/ceph/ceph.conf < /etc/ceph/ceph.conf
1 ]' Q, X8 i/ P. e如果开启了cephx authentication,需要为Nova/Cinder and Glance创建新的用户,如下# i( H9 \* T7 }
~/ }; y9 Z2 ?% Q/ I; g5 Nceph 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, allow rx pool=images'
- w" ?( J& J" A& cceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
) |4 `$ m( w7 h1 {2 X- B% A为client.cinder, client.glance添加keyring,如下
2 g1 s; }) c3 K, z: M) W3 f1 Y( a7 X/ w1 A
ceph auth get-or-create client.glance | ssh controller sudo tee /etc/ceph/ceph.client.glance.keyring" _6 B# `- [7 g% Z B! r0 @, \3 h- i
ssh controller sudo chown glance:glance /etc/ceph/ceph.client.glance.keyring
1 g8 B, g% B! i) r' Q9 V }# k+ i/ I$ Z7 Y' j* y
ceph auth get-or-create client.cinder | ssh compute sudo tee /etc/ceph/ceph.client.cinder.keyring
: q, s4 u( q6 W# Q3 assh compute sudo chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
+ ?/ g$ J- a% T- a6 l" h5 ?0 W为nova-compute节点上创建临时密钥
- }4 s; J- Q9 x- Z/ l; B T0 c( O
) g. K( c5 z& N* Rceph auth get-key client.cinder | ssh {your-compute-node} tee client.cinder.key1 }) e% _5 }- p6 m2 ^
此处为
8 y- {: b3 C' c1 Z
3 w! V! u G2 k b2 E/ _% N3 Gceph auth get-key client.cinder | ssh compute tee client.cinder.key; \3 q- p3 T: g3 ~9 x7 ? X H3 Z" B
在所有计算节点上(本例就只有一台计算节点)执行如下操作:在计算节点上为libvert替换新的key
* k! Q# ]7 N) D: P2 x5 S" K, e
( K: Z7 w+ Q4 j: u) _uuidgen6 j) z0 K1 `4 i0 g3 ~
536f43c1-d367-45e0-ae64-72d987417c91
7 c+ ?( q) S, L$ s1 L+ Mcat > secret.xml <<EOF
! r; Y9 F0 t& c2 Y粘贴以下内容,注意将红色key替换为新生成的key。
6 c( V6 ^- k; Q. }( _<secret ephemeral='no' private='no'>' d$ f# M0 t1 m) f/ \* c1 a
<uuid>536f43c1-d367-45e0-ae64-72d987417c91</uuid>
1 p* r1 y" j. c: \+ n<usage type='ceph'>7 Q5 x9 D1 ?3 ^; ?
<name>client.cinder secret</name>
+ {9 \- N/ D- p9 y1 f1 ^9 |# J4 X</usage>0 M) S4 F" H- S/ u
</secret>
1 M& W b# r0 a1 B6 a# lEOF% n, W8 K9 P2 D( S( i
9 H/ S2 ]: ~8 B- j( [$ C
virsh secret-define --file secret.xml7 m8 ?1 O) m+ S, y4 L
以下—base64 后的秘钥为计算节点上/root目录下的client.cinder.key。是之前为计算节点创建的临时秘钥文件
1 l3 y0 c" R# }9 J1 T% ]7 e
2 h8 z7 d* O2 M% U+ H4 Pvirsh secret-set-value 536f43c1-d367-45e0-ae64-72d987417c91 AQCliYVYCAzsEhAAMSeU34p3XBLVcvc4r46SyA==
+ l$ E, b; K9 m' I2 l. c0 x0 }4 O
3 d' D2 F7 M x7 x[root@compute ~]#rm –f client.cinder.key secret.xml) z8 @3 q& C. f9 M
Openstack配置
5 U6 ?% A2 y' R; P" O$ v& ~在控制节点操作
6 s* |* O2 b4 ?
; ^/ J6 G' H% ?: }+ `* j) ivim /etc/glance/glance-api.conf
6 o8 A; Y; D. i( R" d[DEFAULT]: s& s6 s; @) }
…
* A# i9 c' m/ F. o$ @- `9 }4 Wdefault_store = rbd
8 G+ p. H& p4 Xshow_image_direct_url = True% M7 B& R7 l: [; C6 d O6 d
show_multiple_locations = True
. r- _' u* n* j# Q5 y…4 A4 N2 U& k+ s
[glance_store]. _2 I' ^* U5 b8 ?7 t
stores = rbd
# |( v) i4 U( g! e9 ]default_store = rbd
; ?& f, Z2 B# u' b, k. grbd_store_pool = images$ H2 J' X; L! x7 c1 a5 w( B' i; `8 b
rbd_store_user = glance
2 v' O# `3 ~/ D- J- @( qrbd_store_ceph_conf = /etc/ceph/ceph.conf
' M, Y9 E6 b7 t/ yrbd_store_chunk_size = 8
5 @) `3 H6 s" w* A
% P! W' J! }+ d; n
+ J7 S& q2 H$ n2 V0 B1 z& n* u1 W3 U取消Glance cache管理,去掉cachemanagement: g! y8 V- t) Z) H8 [9 u9 q$ d
[paste_deploy]
0 F% H0 E5 y& B$ U5 T8 ]0 J* Dflavor = keystone
9 s; p+ p* |& @& {+ \' A9 l在计算节点操作
9 `2 i* `' T* e0 b( p4 k
) c% M7 a) z# M7 Z7 l9 S6 Qvim /etc/cinder/cinder.conf1 y& o( T9 h' o# ?1 m4 h) D+ G
/ ~( o% X8 f3 _% w% Q6 G! l. p
[DEFAULT]
6 a$ I9 J, l" a7 Q% F保留之前的! x6 t# G6 e, T2 ~. h7 E' y* r4 M
enabled_backends = ceph/ u2 ]& g4 p6 _9 y G
#glance_api_version = 2
+ ^1 j9 M( {! d# Q1 j…, g/ Q, L* p# A. I* p; G. o2 _
[ceph] y, H3 ]$ T; c# }
volume_driver = cinder.volume.drivers.rbd.RBDDriver
( _! ~, S" N" r! ?' N* i" V8 H8 mrbd_pool = volumes+ v' q4 u9 R8 l" b' P( e: O
rbd_ceph_conf = /etc/ceph/ceph.conf
3 P$ Z# [' W1 x/ i# A" |( f2 \5 \- i0 W8 irbd_flatten_volume_from_snapshot = false
. \" i3 X* P; o1 Y1 f& m ^- _+ Hrbd_max_clone_depth = 5
* _7 n8 [- G+ \7 Q krbd_store_chunk_size = 47 }! V% V3 N. h& C
rados_connect_timeout = -1
3 `6 t2 B6 G# j4 w3 W6 Z1 L. U, [' o, Sglance_api_version = 2+ }* Y) O/ [0 i5 X
rbd_user = cinder
3 j. y' U8 x3 d3 q* `' Q8 K+ bvolume_backend_name = ceph
1 b1 B, i# _6 l- k1 Prbd_secret_uuid =536f43c1-d367-45e0-ae64-72d987417c91
7 E9 y8 p7 ~" H请注意,每个计算节点uuid不同。按照实际情况填写。本例只有一个计算节点
# M! c2 _# y4 x; d4 v& F2 }( U注意,如果配置多个cinder后端,glance_api_version = 2必须添加到[DEFAULT]中。本例注释了
7 z0 ^- H, l6 A( R4 r每个计算节点上,设置/etc/nova/nova.conf
* O+ U4 E# h* Q' k3 V2 C' f$ H6 G- M- `/ S% G- P( H1 |
vim /etc/nova/nova.conf/ Z U* R. j; c/ ^8 `, k+ e& G: q
[libvirt]
0 R7 F! C4 O, m2 i# H- o. M4 ~virt_type = qemu
7 U+ _* p. F8 \) p! N6 y0 d: ]hw_disk_discard = unmap" |+ S% ?! b6 `0 ?( H' J
images_type = rbd
; q0 I! n7 m1 U- W: a1 {images_rbd_pool = vms
6 s1 P* C' q' f& eimages_rbd_ceph_conf = /etc/ceph/ceph.conf: z5 X5 G" ~. m, D7 x9 o
rbd_user = cinder/ Q& X4 e- o# u# L
rbd_secret_uuid = 536f43c1-d367-45e0-ae64-72d987417c91/ z; q! G2 T) p4 `
disk_cachemodes="network=writeback"% R7 x& w% \+ {5 n- w E, G
libvirt_inject_password = false
. w2 z$ j& I& h- \3 i. b* alibvirt_inject_key = false" O! R5 D6 \ q: h
libvirt_inject_partition = -2) ]* Z2 E/ r1 O) `1 D7 \
live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED5 s: O+ x5 d% ^/ o P
重启OpenStack
! ^) ]9 y I& q/ Y控制节点
: V2 S1 Z7 r; a. Q2 q) [8 }$ ?/ r( k( S8 h- |
systemctl restart openstack-glance-api.service
3 {& e* X! }# [( c$ l计算节点
: {2 R2 b- _; e6 j9 c( L' P# ?7 `% Q8 A
systemctl restart openstack-nova-compute.service openstack-cinder-volume.service
/ U1 x) j: K/ U" f+ P9 E; `' C' X$ A/ l: o配置文件9 }; ^& M5 a; g3 T
1、nova( F8 e+ @# Q9 I" N
/ X% o( E" a( a0 I, t" w4 H; r4 T
[root@controller nova]# cat nova.conf& d+ j, I, H) F, v6 P+ l" s5 ]
[DEFAULT]$ \( ?6 z2 G5 G7 T0 y% `
enabled_apis = osapi_compute,metadata
9 e; t. [ c2 s8 N/ u9 T9 x. I$ e- Orpc_backend = rabbit
; v, F Q5 x1 o- w8 [auth_strategy = keystone
' m( S8 g( H) `3 Jmy_ip = 192.168.8.100# U& M& |, ^0 v0 S- `4 h
use_neutron = True. u: m' @3 X2 C" V
firewall_driver = nova.virt.firewall.NoopFirewallDriver/ U8 n0 c0 |+ F3 X* l4 @ x
[api_database]
, P, D: ?2 j$ V' M& `- @' f/ y8 O( D6 kconnection = mysql+pymysql://nova:Changeme_123@controller/nova_api5 J' T! |+ S" i, B8 y
[barbican]: `! B2 a$ Q3 ^& Y
[cache]# F( M+ w$ Z1 i) z: J2 H! f
[cells]' @' J- K8 I, y! S/ V
[cinder]* V$ g7 g8 E! Z! V6 ~! r
os_region_name = RegionOne! H4 e: j/ @' I4 L( |& m9 Q
[conductor]3 J% n4 T" `4 e8 D7 m
[cors]- E( W8 A- k9 @, L
[cors.subdomain]
2 X% N2 `; {, E) _+ i[database]
7 }) ?3 r# K! d5 ]7 }- q* Iconnection = mysql+pymysql://nova:Changeme_123@controller/nova1 S3 n) ]! X3 k d4 p9 |
[ephemeral_storage_encryption]) I8 v5 K( d9 M) K
[glance]5 R! `+ R$ P5 U' x7 G
api_servers = http://controller:9292% V# u) t- z5 w4 Y. K( ]
[guestfs]" s! D/ k3 {) h. T
[hyperv]" H3 V: A/ u& R. p x" i4 [- U5 G
[image_file_url]; s- P7 d( f- G
[ironic]% \7 X( {* l5 V5 C% Y
[keymgr]
( L" y: p$ |: g5 u( I$ i9 e[keystone_authtoken], R" I$ V$ H6 o/ n' i/ w
auth_uri = http://controller:5000, `5 h7 M" i+ t2 b* Y* s. B+ q0 J
auth_url = http://controller:35357, j$ _, @% w, d& y+ k" b
memcached_servers = controller:11211- R3 I6 V' f- Y3 L5 W" r. \
auth_type = password0 v/ A! \8 E7 X+ x/ ]
project_domain_name = default2 W3 a* G& H7 S$ e; l
user_domain_name = default2 m2 ]& J0 L q2 s) N B
project_name = service
?0 ]/ ]7 ^; u8 C: t- k jusername = nova+ L; O$ W% A4 N- C5 p, [5 R
password = Changeme_123
+ d% I' X3 C! c( {1 ?2 t[libvirt]& U( G6 T+ b) S3 T( j" S
[libvirt]
6 q% x4 S v3 D; P/ t" Kvirt_type = qemu
2 S/ H2 p- ?+ f3 p$ g @1 L5 _" \hw_disk_discard = unmap
2 \6 M, k- C' U6 C0 S2 simages_type = rbd
; v7 q/ A6 a% Iimages_rbd_pool = nova5 y: p8 R: q& C4 g/ ]# w- Q
images_rbd_ceph_conf = /etc/cinder/ceph.conf. l8 i4 }3 n0 S/ m
rbd_user = cinder
# u$ X8 W; G1 h& Grbd_secret_uuid = 457eb676-33da-42ec-9a8c-9293d545c337: @( Z, O. J3 x! e
disk_cachemodes="network=writeback"
6 i8 Q6 f0 H( C% }) G; x3 @libvirt_inject_password = false* H1 Q; d+ k0 W/ J7 `$ K! H. A# k
libvirt_inject_key = false
e3 g+ \6 P" I- ^, vlibvirt_inject_partition = -2
2 v ?0 p+ B3 I) o( X# G$ n* Hlive_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED# Z J6 f5 T( D' X$ Q9 M8 a6 S
[matchmaker_redis]
5 u7 G5 N& t% O% u1 J+ u' a5 Q[metrics]
6 ~8 L; T* O |4 J; `7 I- u[neutron]
% Y. v" x Y, D3 L) Ourl = http://controller:9696
! Q3 b6 n2 e1 `( X, h$ tauth_url = http://controller:35357; P" E5 F4 i# z' J; C* Q7 r4 K
auth_type = password- u" O& D H7 A. c. Y- E; q
project_domain_name = default% x" q$ F; h: r6 Q! d e
user_domain_name = default4 t% e- a9 `) r* i- I4 {) u( x2 K- N
region_name = RegionOne/ W. y# `- v* L- ~' @6 r" z, j
project_name = service0 p* k) ^4 p& F4 N: ` U, q/ J
username = neutron
8 ^% [; C5 V( }0 c- H Qpassword = Changeme_123/ z8 M# E- I7 t: D
service_metadata_proxy = True7 M5 y% S' |5 |+ |: B: i
metadata_proxy_shared_secret = Changeme_123
. m- L0 k j: j4 a[osapi_v21]
, @- ]7 n! g0 ~& ][oslo_concurrency]' T' B/ `* W4 d' w" a+ [
lock_path = /var/lib/nova/tmp2 c. _, v+ U/ _9 @* M
[oslo_messaging_amqp]4 Y7 `6 S4 B; {! |# P
[oslo_messaging_notifications]
. Y+ Z% c- m' N* b+ L6 T! {[oslo_messaging_rabbit]: f B4 r! i: H) e, ^6 ^! F1 t
rabbit_host = controller8 e& k& v {9 X3 b! y. @2 P7 Z
rabbit_userid = openstack
9 L$ p9 l$ ]8 D/ s: K+ Vrabbit_password = Changeme_1239 P k- K: h4 y) t+ w4 j
[oslo_middleware]) L+ q% u% z) S g% R* W9 @2 s! g
[oslo_policy]7 W/ a; [- ]) {$ `9 V) w
[rdp]5 F1 }8 x1 ~# ?, l6 _, Y
[serial_console]; m; l. V4 D( ~2 f9 e
[spice]' x& X% o" q O4 |7 K7 w
[ssl] l! x% a9 ^, j' z
[trusted_computing]
, ~8 W3 _- b9 t* [* U4 B8 ~[upgrade_levels]8 N6 H' J% Q+ _& y0 o( o9 R
[vmware]
! c/ Z: p. X: [[vnc]
4 x4 Q, j/ W" V+ r, z! `8 {vncserver_listen = 0.0.0.0& Q8 E8 ^. W- @
vncserver_proxyclient_address = 192.168.8.1005 C, c) P' Q( e! |$ Y2 V
enabled = True
9 U7 |; g0 a2 e7 [& ]5 j& Lnovncproxy_base_url = http://192.168.8.100:6080/vnc_auto.html6 B. c$ P$ [+ K" j' n
[workarounds]
! ?. P6 E" x# @, Z* V' N[xenserver]
% S5 o( T- `2 T- q* v H6 S
+ p9 @1 m; \8 G0 q8 k& I
7 p; V4 y* Z) T" bcinder
- h9 Q5 `8 X. ~( X3 z2 U9 I) V }* t& m7 m) P. S* H# F
[root@controller nova]# cat /etc/cinder/cinder.conf
; m0 D* W& n, i; `" a2 \( L[DEFAULT]
" x- t" ^& E7 z3 ?" E% g# C2 ?rpc_backend = rabbit
& l$ s* k: B. C |# iauth_strategy = keystone
: {5 @- L3 Y+ ]* l/ Y9 Zmy_ip = 192.168.8.100
- o3 }4 p x J" r+ nglance_host = controller
( M; u0 N! A8 @2 i/ kenabled_backends = lvm,ceph9 m1 L- ?& s+ G: f
glance_api_servers = http://controller:9292
/ C$ g; Z2 @" I( v4 Z[BACKEND]
# e+ L1 k6 k; E' U& L: e[BRCD_FABRIC_EXAMPLE]7 {" H. {9 Q+ p6 v ~( J2 d. |
[CISCO_FABRIC_EXAMPLE]
* S$ L" n, s. ?- B. E[COORDINATION] o: l2 `8 A4 A( |+ X
[FC-ZONE-MANAGER]
; x0 E; _" W; M. Q4 N" c[KEYMGR]
5 Y! O7 a/ ]1 ?" U8 ]2 E[cors]/ S8 s; Y- d# H( p. G( D0 L
[cors.subdomain]
( j2 T* C: t' p( d+ R5 g6 d8 ^4 d[database]% g/ R; ^4 W* j! _ k7 l
connection = mysql+pymysql://cinder:Changeme_123@controller/cinder
3 i$ a! ?% _: R: S/ K[keystone_authtoken]
+ {7 O1 O2 D+ F9 K6 J9 vauth_uri = http://controller:5000
: h1 p+ \3 u% X; ]auth_url = http://controller:35357 Z/ c/ a" p v8 _
memcached_servers = controller:11211
7 G! y0 @: c4 o `, l" \auth_type = password
+ V8 I$ D/ u2 dproject_domain_name = default. K. Z5 Y6 H' M: O
user_domain_name = default
& }0 r' _% j9 G' D) b6 w4 k& mproject_name = service5 n- }2 E, p% d6 w
username = cinder4 h6 t8 F! W. g! ]! t8 F; D& o5 R
password = Changeme_123
; R) k8 f4 v/ N" R, f! p1 E/ m2 Z[matchmaker_redis] Z8 l2 i! ]2 v
[oslo_concurrency]0 O8 Q3 M% b. \* x$ W6 U. v
lock_path = /var/lib/cinder/tmp
+ F% D. A2 |9 M2 T! O[oslo_messaging_amqp]5 o E: B4 A* `" {9 E# `6 V0 s" s* x G+ F
[oslo_messaging_notifications]
' F) o2 T) ^, e5 O[oslo_messaging_rabbit]3 I4 Y$ U$ t! `3 b9 { W- z' h
rabbit_host = controller
8 F/ Y6 Y9 g; Brabbit_userid = openstack$ ?. p/ D# U" B2 o
rabbit_password = Changeme_123
: }0 l! B2 U7 m; K[oslo_middleware]
0 y6 T$ b/ y1 o/ I& P4 K9 b[oslo_policy]0 \5 a, h+ I5 w# O
[oslo_reports]
# m. @ z# H, y7 t/ \" u6 N[oslo_versionedobjects]2 Z i) R3 Q' G. @
[ssl]
0 l7 J; |3 M2 v% i+ E# x! j[lvm]. R: N* Z+ H+ r. V
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver* p* H' S# D5 b& \
volume_group = cinder-volumes
* \' ~1 Z4 i9 G1 d9 {7 \& G5 @iscsi_protocol = iscsi! p0 r# B" ~; H; T9 K
iscsi_helper = lioadm$ j; q7 I2 D2 g5 ^& K
[ceph]
! L$ o9 ?0 V, Q2 Hvolume_driver = cinder.volume.drivers.rbd.RBDDriver# S, F2 F. A; g, e \
rbd_pool = cinder
2 p' c- z: v! ]" V$ O3 Lrbd_ceph_conf = /etc/cinder/ceph.conf
! |* S* a6 [6 k7 Irbd_flatten_volume_from_snapshot = false+ |- E! Y/ E# U, S3 A5 x$ q
rbd_max_clone_depth = 5
; {! d, I" ~& A& Vrbd_store_chunk_size = 4
8 s# s( o0 e1 t7 ~6 W( srados_connect_timeout = -1) y1 I' z8 v" C4 n
glance_api_version = 2
% d/ u& H) V; p( n8 K* O$ ~! prbd_user = cinder$ f/ B* I% }: Y" Z+ j& W3 N3 O
rbd_secret_uuid =457eb676-33da-42ec-9a8c-9293d545c337; q1 p1 f5 c3 \, A9 @+ h0 u0 A8 u
volume_backend_name = ceph
( P$ }1 B% C. a& G8 n: ?/ j8 Q: W; @; ~5 p- X# n
) m" {1 F$ I; t- I4 H) L
glance9 u' N3 \0 U8 d. B, V3 }
[root@controller nova]# cat /etc/glance/glance-api.conf
3 o; j' v: c4 K. E' q
* Z0 ~* m, F( n; {! R/ h[DEFAULT]
! b2 z/ B5 I% l0 h* l. ^* K8 b#default_store = rbd e* @3 z8 b/ ~ H# }! V
show_image_direct_url = True
6 @# @/ E% [1 Y* d* h#show_multiple_locations = True' N# R+ A' i! \- x7 w) i9 }; l
[cors]" t! V) ?7 Y6 @& E( y
[cors.subdomain]
! {7 _' A/ \* x8 t[database]! l. ]* k: a9 _/ [$ S& L
connection = mysql+pymysql://glance:Changeme_123@controller/glance
Q, Y7 T% w+ X8 L[glance_store]# I! Y m4 z0 i8 |
stores = rbd
4 e3 l) c6 j6 K' b% Sdefault_store = rbd7 t0 Q+ W1 a/ y. |/ J7 G7 d* d
rbd_store_pool = glance
+ G5 X: y+ p* d0 O' l. h4 x' urbd_store_user = glance
+ v1 @; D# b' _! Irbd_store_ceph_conf = /etc/glance/ceph.conf
) ]; O; {2 c% |" Hrbd_store_chunk_size = 81 p' b9 W1 q! u1 V, _9 x" j7 z
[image_format]6 M' O8 A# `; l6 v/ T
[keystone_authtoken]2 I6 D! U \; }
auth_uri = http://controller:5000! S( O7 T0 G' y- \) u; U
auth_url = http://controller:35357
6 ^9 h! T6 I+ K/ Wmemcached_servers = controller:11211
7 Y' O" D7 Y$ b- ?5 h/ l/ l1 mauth_type = password
" R; N- `/ G% I5 K2 ~4 C* T8 ]project_domain_name = default
7 Z7 q: l' v# {9 R( y* cuser_domain_name = default5 J9 G: O2 l" j) v% t
username = glance
4 X$ v9 k c/ o! `password = Changeme_123
) Y$ I. S+ v/ {" C* K( jproject_name = service
6 ~0 z4 g6 x: o& g& T S[matchmaker_redis]( M" z5 J, z; Q+ n2 f( Q
[oslo_concurrency]
2 y9 D, m0 L$ y% S$ H5 x[oslo_messaging_amqp]7 ~$ n L8 O$ e9 s& ]$ g
[oslo_messaging_notifications]
( s) a( N7 F* e& z: Z7 L' C[oslo_messaging_rabbit]
& {7 N2 P2 G" @! t[oslo_policy]
1 X: i$ h, e' K; x[paste_deploy]
7 g" ?' r' c8 p% ]8 w9 V. vflavor = keystone% h0 s n* V) O' X# e
[profiler]8 J. G5 T3 B/ l0 P
[store_type_location_strategy]
( P* [3 H# r4 ^/ G3 N[task]
: I! Z" R# u1 F0 c1 w[taskflow_executor]- s: f" D/ O8 Y9 G; }
; G5 E" s" ?8 w3 Y6 r# a' m! u
ceph
. d6 g ?9 y; m" c! L
G) Y3 v" x" {! L5 \[root@controller nova]# cat /etc/cinder/cinder.conf9 q$ G, h: q. T! D
[DEFAULT] K2 d0 a3 Y0 i2 R. Z" _, G2 E. b
rpc_backend = rabbit
2 A: g% o! K, \0 r! c8 m0 q; Dauth_strategy = keystone3 X: r- _( O8 M! }
my_ip = 192.168.8.100
8 y: W' @+ r+ K U$ K; ]7 nglance_host = controller
' I/ _& n7 A. @) V/ Zenabled_backends = lvm,ceph
8 |. Q/ c6 A: K* M/ G9 ]+ Lglance_api_servers = http://controller:9292+ I$ Q0 k' D! X" f" K
[BACKEND]; ~- m! d5 g# M$ t! }6 Z
[BRCD_FABRIC_EXAMPLE]
3 W% z U& J z: e+ P[CISCO_FABRIC_EXAMPLE]' X7 j! @7 n" e2 ~; @2 A
[COORDINATION]- r; F8 h- t- \: v
[FC-ZONE-MANAGER]
/ e( k$ H B/ o2 Q% h9 L' `[KEYMGR]) h1 v; D; {! c0 l& r* o' Z% Z; {
[cors]
6 v) f$ w# s- m! C7 H$ \% q[cors.subdomain]' D6 \$ U! L. h) t
[database]" _2 a2 ?! }2 x" H2 ~4 k. {- _
connection = mysql+pymysql://cinder:Changeme_123@controller/cinder t% Q6 r7 n! a- T9 v( Y z% ]
[keystone_authtoken]* N/ h1 J3 x4 z: ]! v
auth_uri = http://controller:5000
. L) f; ]7 f. A: M; Pauth_url = http://controller:35357
0 p. X6 B! n& Jmemcached_servers = controller:11211- h2 t$ }. o H: W6 n
auth_type = password; j3 `' ~5 L' e! I: U
project_domain_name = default7 W h7 R0 }& t% g _( g
user_domain_name = default
/ E9 Z5 ?6 w9 J* n5 N0 Y3 wproject_name = service8 u* \1 N, c- Z0 ^0 h" u
username = cinder; F+ z0 Z1 X5 J& I% H/ D
password = Changeme_123
6 s9 y% ]; E' C6 z; V/ y, o" Q[matchmaker_redis]3 ~9 N: {# W. [, S
[oslo_concurrency]1 D$ ?/ ~$ O7 @3 v
lock_path = /var/lib/cinder/tmp
9 I# |# A" l% b# K3 h6 V0 v[oslo_messaging_amqp]
/ f; g; h* z: q4 t* A[oslo_messaging_notifications]
6 T! w, E0 C6 {1 W[oslo_messaging_rabbit]
2 G& u0 P3 y6 `rabbit_host = controller
" `3 l; D" x8 L( |6 R u$ z; n+ Mrabbit_userid = openstack2 b+ Z/ a Y, b7 K4 q2 T7 \! `6 B# Y
rabbit_password = Changeme_123/ }( m* e4 l1 P- B, y
[oslo_middleware]% l- U5 }# u$ I
[oslo_policy]
' s" V: P6 g5 \8 f[oslo_reports]
; s% J* {9 x3 V3 X5 w4 n$ d K$ k9 U# S$ C[oslo_versionedobjects] Q8 c+ M/ {1 R. H! T/ W" n
[ssl]* x. c6 v2 j# Y; e% {& g6 X
[lvm]- y; z) ~( H6 U+ `. x
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver, S, A5 E5 d4 T& J
volume_group = cinder-volumes" E7 y3 Y8 P7 o# x; n# b. p1 |6 n
iscsi_protocol = iscsi
) M4 J. ], h+ L' V' y) Y/ qiscsi_helper = lioadm
$ z F, K& A- F[ceph]% t" i( ]3 M* K+ u
volume_driver = cinder.volume.drivers.rbd.RBDDriver% n+ Y" l) B- Q6 I/ y. [& @
rbd_pool = cinder
4 _7 U3 `$ o2 @3 q/ w. |/ ^* Qrbd_ceph_conf = /etc/cinder/ceph.conf
# x J8 x! L6 a9 B1 r3 e) {' nrbd_flatten_volume_from_snapshot = false
5 H3 _/ ^3 o7 Z6 erbd_max_clone_depth = 5
' I9 r# g2 c% `& `; Crbd_store_chunk_size = 4+ ?/ @$ p& S+ z# Z8 Z
rados_connect_timeout = -1- [! i H7 j1 u. _6 j; {, B3 H& a
glance_api_version = 2
' _. L. v s% y$ g1 trbd_user = cinder3 _9 x% j& Y# e) T0 w
rbd_secret_uuid =457eb676-33da-42ec-9a8c-9293d545c337
! C- a: Q7 t0 E' u1 ?volume_backend_name = ceph# @: D8 q) K1 w! P# c
[root@controller nova]# cat /etc/glance/glance-api.conf
9 o9 p* ?- n* Y6 ][DEFAULT]' D, D; _' D) O2 V5 L! c
#default_store = rbd
3 j- l5 K! @5 F: D1 ]1 t- \show_image_direct_url = True
: W$ ^3 T5 f2 I# M& n#show_multiple_locations = True1 t7 _( o; M: |
[cors]
! y' a, p) `9 F5 T[cors.subdomain]
0 `0 f$ U! k) P% C[database]8 J7 @9 d& m: e A
connection = mysql+pymysql://glance:Changeme_123@controller/glance- t: s* c O( d
[glance_store] @& c, ~ C0 m8 {
stores = rbd
6 l5 H% L1 f1 J D7 K8 [" ]default_store = rbd
# a* t, Z% B1 Wrbd_store_pool = glance; D) ^3 _. d1 {7 s( Y
rbd_store_user = glance* y+ ~7 }5 h: `) r# B& f
rbd_store_ceph_conf = /etc/glance/ceph.conf" P& k" K! k3 M! u
rbd_store_chunk_size = 8
: H6 m' J# b* v! o3 ~$ `* E[image_format]
% c5 M* Q- d2 @% E5 R# s[keystone_authtoken]
( {. G6 S Q. V" {. M c o* @auth_uri = http://controller:5000; u+ L" S) C( S2 O9 n& x+ ?
auth_url = http://controller:35357
. T/ C% }7 O% H" umemcached_servers = controller:11211
K. m2 M# u- w* e* P& ]$ `, Oauth_type = password8 o$ n6 l. ~: ]
project_domain_name = default3 G3 K; t/ q' o0 _
user_domain_name = default/ k* V& ]- r& b+ n# e* L( t
username = glance% i3 h% V6 O$ q0 O2 g5 U
password = Changeme_123
- r3 _3 n) a" x0 w6 ~project_name = service
. A4 \, a" \: H' m, M. q[matchmaker_redis]+ u5 m' S% e2 _7 X0 m
[oslo_concurrency]
5 i$ e4 t, |; a[oslo_messaging_amqp]
% u' R2 z1 O1 N$ {[oslo_messaging_notifications]
q3 ?+ K3 k( K* v G% j1 A1 H[oslo_messaging_rabbit]
% z2 k+ o! b7 A( @& p[oslo_policy]& M" I9 D; ]9 P4 v( e! H
[paste_deploy]7 Z* Z7 ^5 `2 C) }& U7 _6 G
flavor = keystone
, D& b2 {$ [' |: k) ^# z[profiler]" n( ?% s: M7 f0 T- E2 ]
[store_type_location_strategy]' M( u. I# o* r" v
[task], A i6 P: F' ~) I9 ~
[taskflow_executor]
4 R) Z" b& H) U0 I& T" I[root@controller nova]# cat /etc/cinder/ceph.conf( _8 s; W8 Z: l& U( N
[global]$ X( {/ k6 ]$ m* K4 `
heartbeat interval = 5
/ w' B2 y7 B kosd pool default size = 3
* w9 w2 S+ ^6 v9 ~# ^/ losd heartbeat grace = 10
2 w: |" k5 e5 I7 F#keyring = /etc/ceph/keyring.admin
, u( }4 _, I: V7 g: a% Y* q9 lmon osd down out interval = 90* ^( `* F7 [. ^2 M, ?
fsid = 5e8080b0-cc54-11e6-b346-000c29976397! s4 R. s1 h' Y; j! M) P) y
osd heartbeat interval = 10
7 m) h" [. | m2 x3 N& r% k/ v9 Emax open files = 131072
! ~% X. F# y5 ~" H4 m, k- Vauth supported = cephx
; X8 m; `: o9 F+ y# c[mon]
* R: D$ G$ c/ Q( v' V! f$ j0 @mon osd full ratio = .90
. n+ z1 K0 Z5 o5 @mon data = /var/lib/ceph/mon/mon$id
) x* N! R8 L! V1 V) [5 zmon osd nearfull ratio = .75
+ s5 L( W! C8 B& j% Mmon clock drift allowed = .2007 z! R2 [/ d$ `6 r! G
mon osd allow primary affinity = true
5 z0 p6 B1 ~9 T; \$ D1 S9 o[mon.0]
$ s- p- o6 U& }, H4 ?host = cloud-node14 B) O! e% ]$ D% R8 ?6 B
mon addr = 192.168.8.102:67892 R) G& M3 F, T# L
[mon.1]
& r4 K9 F9 [. i/ Ihost = cloud-node2
6 c1 T" h" u4 D) G( n& cmon addr = 192.168.8.103:6789
8 Q, g! z" s2 ^$ l) H, T" @. s; T[mon.2]
7 h% u7 ?/ G1 g) K& hhost = cloud-node30 T. G+ q# X9 ^, s M/ o! D
mon addr = 192.168.8.104:6789
x' E8 l1 r+ k+ j8 p[osd]0 C6 i( L& w& U( V" J
osd mount options xfs = rw,noatime,inode64,logbsize=256k,delaylog" S) C# l0 t7 X: N& @5 o
osd crush update on start = false
3 m0 R2 [. k' L; Z7 U3 x4 p- B9 ^& p' Pfilestore xattr use omap = true
$ f3 J' `6 `: y2 `#keyring = /etc/ceph/keyring.$name! r+ A9 `* o! o* k6 S: ~
osd mkfs type = xfs
9 k9 ]; T, j( w. G2 L# D4 Kosd data = /var/lib/ceph/osd/osd$id1 X' v& n/ {- F. z- T* L
osd heartbeat interval = 10 ~; ~7 m( C) L, [7 I8 G
osd heartbeat grace = 10
- i2 }* B" E, o1 e! qosd mkfs options xfs = -f
& a. D) W; f C. |' X( p5 _osd journal size = 05 e1 [* \7 r& A* j4 ]) X8 F, |
[osd.0]
( I: `7 ^8 \6 K5 l+ T6 H0 t# H6 q9 iosd journal = /dev/sdb1 v3 ] r' x: }* U" C
devs = /dev/sdb2
4 F6 U! z* i" e$ jhost = cloud-node1
: p! v# l7 \( Vcluster addr = 192.168.8.102* {9 H2 _4 B+ g
public addr = 192.168.8.102: n2 `3 E4 ?5 p# X) x/ ^4 q
[osd.1] j+ ~1 s8 Z' x' s/ \5 |$ J6 F
osd journal = /dev/sdb1
# a$ ]# L6 s Q4 Cdevs = /dev/sdb2# r( `( M3 b b3 a% D) J9 c
host = cloud-node2 S% h7 Z" a$ E& T \
cluster addr = 192.168.8.1037 m5 [* E3 m, A/ f4 U& R) Z$ ~
public addr = 192.168.8.103, L* ^8 C* r; z0 x
[osd.2]
, N7 c. J6 J8 P! k/ k4 B+ Zosd journal = /dev/sdb1
- Y( P7 [/ m- c* J1 C' Ndevs = /dev/sdb2
- i! d5 s( g# v, @host = cloud-node3: |" K% \& ^5 ?# ` E7 ^
cluster addr = 192.168.8.104! F9 \- v" q+ b$ b
public addr = 192.168.8.1041 _/ M0 `" X1 [
[client.cinder]" i6 z+ J5 t# Q- K; C' N
keyring=/etc/ceph/ceph.client.cinder.keyring; E' T0 a* q. N8 \; V
. {9 J# S) l. l& |0 }5 K |
|