|
|
楼主 |
发表于 2018-8-30 11:19:20
|
显示全部楼层
创建账户ring¶
. o k# i0 M% z0 l1 ^5 n/ j2 U1 H1 |" c- x+ r- F
帐户服务器使用帐户 ring 来维护一个容器的列表。2 O, j4 ^. Z0 o* N
' ~. B! v% l/ n, J+ o
切换到 ``/etc/swift``目录。2 Z8 _2 h5 P3 [% C, y2 [2 V) C
! f8 g# k5 `" [) {' K* w
创建基本 account.builder 文件:8 U# \3 ? |, E# \0 J, X$ w9 _, ^
% g! S; f9 r! Q/ E1 {! \$ e X
# swift-ring-builder account.builder create 10 3 1) P' M6 ~% H( G3 d
注解
6 X3 K: E' {1 `' ^$ M# N
3 }+ L( l0 D, o" X6 Z, a- r! g+ O( l这个命令执行后没有输出。
" F& f) D9 O: L* K; u
. Z! O/ ~7 Y7 f. @! g* {添加每个节点到 ring 中:
' \" Y' F' H! Z. [9 O
' f1 E. _7 u! ~' S5 u# swift-ring-builder account.builder \9 Q$ m4 t- C' N0 F& A- E% f) ^2 c. R, a3 r
add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6002 \3 g8 }0 G6 V) N4 d/ e, N# L9 l
--device DEVICE_NAME --weight DEVICE_WEIGHT
8 U8 p. m% |8 ]# i' b将 STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS 替换为存储节点管理网络的IP地址。将 DEVICE_NAME``替换为同一个存储节点存储设备名称。例如,使用 :ref:`swift-storage` 中的第一个存储节点的 ``/dev/sdb 存储设备,大小为100:
1 a# H6 n$ p w% P5 @+ h+ Y# f. n8 M, W) }7 @
# swift-ring-builder account.builder add \% X6 o/ {+ H% N; \& X
--region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdb --weight 100
9 X6 ~3 w; `3 e9 N$ _% n在每个存储节点上面重复执行这个命令。在这个例子的架构中,使用该命令的四个变量:! o) o2 k. b2 s9 e9 R; x) K4 V
4 `' K9 v+ n* A+ V# swift-ring-builder account.builder add \
* n5 x2 G. Q: @6 i --region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdb --weight 100
: Y0 F N2 K( m1 f5 lDevice d0r1z1-10.0.0.51:6002R10.0.0.51:6002/sdb_"" with 100.0 weight got id 0+ Z5 p8 T: }/ |- `- l, {9 @$ O
# swift-ring-builder account.builder add \! B1 x7 q9 [$ ^3 o) B# z2 Z) J
--region 1 --zone 1 --ip 10.0.0.51 --port 6002 --device sdc --weight 100
8 U2 t; k; Y6 {4 b8 |! X2 ADevice d1r1z2-10.0.0.51:6002R10.0.0.51:6002/sdc_"" with 100.0 weight got id 1
& q; A0 o0 S9 r# swift-ring-builder account.builder add \
- N7 z! R% E3 ]" K% D --region 1 --zone 2 --ip 10.0.0.52 --port 6002 --device sdb --weight 100! U( ^! m$ q5 y: x7 R
Device d2r1z3-10.0.0.52:6002R10.0.0.52:6002/sdb_"" with 100.0 weight got id 2- u2 e/ H$ C5 y" n2 W
# swift-ring-builder account.builder add \
6 o v* d4 m, D: u --region 1 --zone 2 --ip 10.0.0.52 --port 6002 --device sdc --weight 100' _3 K+ X1 u# U! ~' m
Device d3r1z4-10.0.0.52:6002R10.0.0.52:6002/sdc_"" with 100.0 weight got id 39 ?8 V: Y7 U, `* I
验证 ring 的内容:
: q! H4 i n8 I+ L8 j" B! S2 W7 c8 \4 I) p
# swift-ring-builder account.builder
# b6 c! H) ^! naccount.builder, build version 4
. F d: h# X8 Q) o1 g1024 partitions, 3.000000 replicas, 1 regions, 2 zones, 4 devices, 100.00 balance, 0.00 dispersion
0 `! k' C/ ~# |% ]/ vThe minimum number of hours before a partition can be reassigned is 1$ `) I! Q% j0 Q! |
The overload factor is 0.00% (0.000000)7 W2 O8 d% \5 o3 ]
Devices: id region zone ip address port replication ip replication port name weight partitions balance meta
1 C n, K4 n( p 0 1 1 10.0.0.51 6002 10.0.0.51 6002 sdb 100.00 0 -100.002 }7 @. m. a, g% x" T: T
1 1 1 10.0.0.51 6002 10.0.0.51 6002 sdc 100.00 0 -100.00' r! t. v6 Y5 p1 ^6 }
2 1 2 10.0.0.52 6002 10.0.0.52 6002 sdb 100.00 0 -100.00
; U! }1 Y; m: @2 G6 w# ^" z 3 1 2 10.0.0.52 6002 10.0.0.52 6002 sdc 100.00 0 -100.00
' s1 e6 D' u) y平衡 ring:
; ]& \ d Z; a+ n. k% E
/ y2 f# U6 y6 b$ Z# swift-ring-builder account.builder rebalance
2 ~; O& Y; i Z |: `) IReassigned 1024 (100.00%) partitions. Balance is now 0.00. Dispersion is now 0.00
* e) w* W: d) T9 w1 ]创建容器ring¶( Z$ d) ~& i% I/ B' {
# D: J( j6 r0 v+ N$ A- a
容器服务器使用容器环来维护对象的列表。但是,它不跟踪对象的位置。4 P0 e: c- h! j; H
# T' x w' x4 W* q; b& u! s- _
切换到 ``/etc/swift``目录。
& E. o0 p @% |* k$ v" w1 [; E! C, G, h8 s5 [
创建基本``container.builder``文件:- }) |: y3 k6 r. E% v! b. D) ?
# a4 S2 J* M. H, L7 C
# swift-ring-builder container.builder create 10 3 1
- X$ h# R4 {' v t" J 注解+ w4 _/ w+ a9 B4 b0 R, c2 \
3 u; ^, p2 s Z; a
这个命令执行后没有输出。0 W/ O0 C. X5 H# P" _
4 H- r9 J: @4 G( B) t添加每个节点到 ring 中:
; u4 n) v5 Q0 I; c8 J; T5 p3 V, M6 _
# swift-ring-builder container.builder \! _* }0 t$ X# g, l4 K
add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6001 \, g, p+ k3 C. v# v+ _* r/ o
--device DEVICE_NAME --weight DEVICE_WEIGHT
' `/ z$ x4 R/ M( [将 STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS 替换为存储节点管理网络的IP地址。将 DEVICE_NAME``替换为同一个存储节点存储设备名称。例如,使用 :ref:`swift-storage` 中的第一个存储节点的 ``/dev/sdb 存储设备,大小为100:4 J9 _5 t- Y8 c6 d3 n/ }
! j, j) `: W, N# swift-ring-builder container.builder add \
9 E" s: p; t1 K; _& p --region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdb --weight 100
5 y2 o: X- \' b& _7 c! ] w. k在每个存储节点上面重复执行这个命令。在这个例子的架构中,使用该命令的四个变量:
% H$ H) J$ b! }3 z1 Y& m
; _5 \7 q, Z! [, B. q o1 } `# swift-ring-builder container.builder add \
1 t+ z( u; J# ?: a/ b --region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdb --weight 100
) O; z' N6 P+ L3 g4 t: J$ DDevice d0r1z1-10.0.0.51:6001R10.0.0.51:6001/sdb_"" with 100.0 weight got id 0
2 [* n0 ^! @/ G& O# B8 {- c' d# swift-ring-builder container.builder add \% Q7 R( Y B: @8 E
--region 1 --zone 1 --ip 10.0.0.51 --port 6001 --device sdc --weight 100
2 A$ F! I+ h$ U( VDevice d1r1z2-10.0.0.51:6001R10.0.0.51:6001/sdc_"" with 100.0 weight got id 1. I% ]$ ~8 {, @* v
# swift-ring-builder container.builder add \
; i+ B/ u! u0 V, u+ ]$ b7 G --region 1 --zone 2 --ip 10.0.0.52 --port 6001 --device sdb --weight 100' {- Y) x1 r1 P' T' O$ w
Device d2r1z3-10.0.0.52:6001R10.0.0.52:6001/sdb_"" with 100.0 weight got id 2
5 ~' A) {0 }$ C9 G# swift-ring-builder container.builder add \- j* Y ~ V2 U
--region 1 --zone 2 --ip 10.0.0.52 --port 6001 --device sdc --weight 1007 y# z. q; D. t; K1 p, u0 j( a
Device d3r1z4-10.0.0.52:6001R10.0.0.52:6001/sdc_"" with 100.0 weight got id 3. j( j: _( I+ f/ n
验证 ring 的内容:& L# X8 r: E; G0 B3 P: m* e3 M, ?
" f e) H, C6 y7 |. I6 a# swift-ring-builder container.builder$ V4 `' Y/ Z! U- J+ _
container.builder, build version 4
2 ~. u/ v2 c' X- o! m1024 partitions, 3.000000 replicas, 1 regions, 2 zones, 4 devices, 100.00 balance, 0.00 dispersion
$ k/ w2 M/ ^) L1 NThe minimum number of hours before a partition can be reassigned is 13 g9 M* t& N' I& }5 x2 S# G5 f1 ^3 A
The overload factor is 0.00% (0.000000)
2 j7 ?5 S* }: H- m" H- d9 ZDevices: id region zone ip address port replication ip replication port name weight partitions balance meta
" a- Y! ^, x7 T$ L, t0 b. _2 h' I 0 1 1 10.0.0.51 6001 10.0.0.51 6001 sdb 100.00 0 -100.00
# Y# f* @7 _/ g( |3 c: ^6 ^ 1 1 1 10.0.0.51 6001 10.0.0.51 6001 sdc 100.00 0 -100.00+ i0 n( k$ W) O( z1 L& S+ i4 `' b/ S
2 1 2 10.0.0.52 6001 10.0.0.52 6001 sdb 100.00 0 -100.00
* T* ^6 t' J0 ^0 ?$ Q$ g 3 1 2 10.0.0.52 6001 10.0.0.52 6001 sdc 100.00 0 -100.00
, a7 f2 i1 F/ B平衡 ring: h3 ]. _2 p' b+ I
7 Z0 n8 A0 O, q. L# ]# swift-ring-builder container.builder rebalance
2 K7 w, [: L& S0 K0 i! z& `% `Reassigned 1024 (100.00%) partitions. Balance is now 0.00. Dispersion is now 0.001 s" l& {' A* s( C; g) u6 W
创建对象ring¶
# E" d( t$ w" f9 `* F' T6 o/ J
6 U3 B) [; l# a8 U. C# V- F对象服务器使用对象环来维护对象在本地设备上的位置列表。6 N: o/ ~* C, |' M x, G0 ^ B
7 z: N ^' Y- C3 J2 ]切换到 ``/etc/swift``目录。' x: u$ S2 [, s
# A6 N6 |( C) Z) C& c
创建基本``object.builder``文件:6 u8 x3 z: i3 s6 ]" O, U
, Y2 p: R9 N4 i' l0 r
# swift-ring-builder object.builder create 10 3 1) J3 r9 R) M) _. p- x
注解$ {2 S" @4 a* P. m( A
6 m5 V. g: e# A. ?
这个命令执行后没有输出。4 ^. g2 G, W4 ^) l
9 {% U2 Z0 {9 G, G. J8 T
添加每个节点到 ring 中:
& O+ U# K) k$ L9 F8 f) V* X- a- {) l- \/ V, J
# swift-ring-builder object.builder \0 ?, V: ~, }" t: H, |0 P! w9 T: q( \6 X
add --region 1 --zone 1 --ip STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS --port 6000 \
: r$ o8 G. \8 Q p --device DEVICE_NAME --weight DEVICE_WEIGHT y0 p+ v6 }; k( t9 n C8 @- x
将 STORAGE_NODE_MANAGEMENT_INTERFACE_IP_ADDRESS 替换为存储节点管理网络的IP地址。将 DEVICE_NAME``替换为同一个存储节点存储设备名称。例如,使用 :ref:`swift-storage` 中的第一个存储节点的 ``/dev/sdb 存储设备,大小为100:7 o* G6 N6 M- q* P' {6 [" k
( p; p4 C4 }4 C2 y' q6 s
# swift-ring-builder object.builder add \- m" Q( q+ w6 l0 U& O1 K2 s
--region 1 --zone 1 --ip 10.0.0.51 --port 6000 --device sdb --weight 100
9 }' `. x8 P0 |1 D在每个存储节点上面重复执行这个命令。在这个例子的架构中,使用该命令的四个变量:
/ z' P2 ~: v' w! j4 f+ j g' _5 g4 H1 l* W% i3 ^4 P# d
# swift-ring-builder object.builder add \
. l K' M7 z% a; N' a" j4 U --region 1 --zone 1 --ip 10.0.0.51 --port 6000 --device sdb --weight 100
4 l6 X, L6 a1 P6 y4 ^Device d0r1z1-10.0.0.51:6000R10.0.0.51:6000/sdb_"" with 100.0 weight got id 05 I. u( @7 o9 f$ O6 V! \4 W) ?
# swift-ring-builder object.builder add \
% ?& M% P( i) d/ X, Z --region 1 --zone 1 --ip 10.0.0.51 --port 6000 --device sdc --weight 100
' y! B _" V O4 I+ FDevice d1r1z2-10.0.0.51:6000R10.0.0.51:6000/sdc_"" with 100.0 weight got id 1
' [, Z" f8 N" H. h# swift-ring-builder object.builder add \+ k% j" m2 t( v
--region 1 --zone 2 --ip 10.0.0.52 --port 6000 --device sdb --weight 100* u. E0 ?6 S" [4 x; t" Z9 p
Device d2r1z3-10.0.0.52:6000R10.0.0.52:6000/sdb_"" with 100.0 weight got id 2
$ ? H) _1 k7 S1 W3 c* y# swift-ring-builder object.builder add \0 V7 O; ]+ A2 J Y
--region 1 --zone 2 --ip 10.0.0.52 --port 6000 --device sdc --weight 1000 P7 a* N/ b5 J" x
Device d3r1z4-10.0.0.52:6000R10.0.0.52:6000/sdc_"" with 100.0 weight got id 3* E0 Q, T5 F. L2 v- F3 {
验证 ring 的内容:
, o/ P& D( _3 _6 |4 V4 ?
2 l: W2 m0 C" w( t+ c# swift-ring-builder object.builder
. y; \' d, d8 V+ x6 bobject.builder, build version 4
9 v- J, A' _% n1 o6 n: D7 ^1 _0 K1024 partitions, 3.000000 replicas, 1 regions, 2 zones, 4 devices, 100.00 balance, 0.00 dispersion1 T1 W7 A* ~, b9 q" u( K! Q
The minimum number of hours before a partition can be reassigned is 1& K) ]% m! A6 b4 f
The overload factor is 0.00% (0.000000)
& O( C( f e+ vDevices: id region zone ip address port replication ip replication port name weight partitions balance meta
* m- ~3 D) k; B% c& a' _5 E# D& R 0 1 1 10.0.0.51 6000 10.0.0.51 6000 sdb 100.00 0 -100.00# ?, s0 V' H# `9 B3 v- v! E
1 1 1 10.0.0.51 6000 10.0.0.51 6000 sdc 100.00 0 -100.008 c) a# q; E) \) E* ?% U
2 1 2 10.0.0.52 6000 10.0.0.52 6000 sdb 100.00 0 -100.009 _6 M7 |1 m& t6 a
3 1 2 10.0.0.52 6000 10.0.0.52 6000 sdc 100.00 0 -100.00
& d* h) o& v/ Y$ }* `0 |& {平衡 ring:0 [+ e" K( \1 \. M
% p3 x" P: |% b- c) e0 ~% c# swift-ring-builder object.builder rebalance
( r/ t d: Y E9 H% ^ q( hReassigned 1024 (100.00%) partitions. Balance is now 0.00. Dispersion is now 0.001 u2 H3 D1 @- q$ |0 b; @, @ z
分发环配置文件¶ D. T* Z0 Q3 M* V8 n
4 r% O3 u( f/ O, l( u9 `
复制``account.ring.gz``,container.ring.gz``和``object.ring.gz 文件到每个存储节点和其他运行了代理服务的额外节点的 /etc/swift 目录。 |
|