*Swift/Rings [#l11fa9c0] Ringは、Swiftで使用するデバイスのリストで、他のサーバのアドレスなどを参照するのに使用します。~ 例えばプロクシサーバが、オブジェクトサーバのアドレスを調べるの使用します。 *swift-ring-builderの使い方 [#fd55f5e0] Ringはファイルとして置かれ、swift-ring-builderコマンドを介して作成・変更が行なえます。 -Ringの作成 作成は以下のように実行します。~ # swift-ring-builder <builder_file> create <part_power> <replicas> <min_part_hours> builder_fileは、これから作成するファイルの名前が入ります。~ part_powerはパーティションの数を決めるのに使用され、2の<part_power>乗の数のパーティション数になります。~ ※パーティションについては調査中です。パーティションの数を超えるデバイスは追加できないようです。 replicasは、ここで指定した数だけデータが冗長化されます。~ 例えば3が指定されていた場合は、オブジェクトを保存する際に、3つのデバイスに保存されるようになります。~ min_part_hoursは特定のパーティションを連続して移動させられる時間らしいです。(調査中) -Ringへのデバイスの追加 作成したbuilder_fileにデバイスを追加します。~ # swift-ring-builder <builder_file> add z<zone>-<ip>:<port>/<device_name>_<meta> <weight> -Ringの内容の表示 builder_fileだけを指定して実行すると、そのbuilder_fileの情報が表示されます。 # swift-ring-builder <builder_file> test.ring, build version 3 2 partitions, 1 replicas, 3 zones, 3 devices, 100.00 balance The minimum number of hours before a partition can be reassigned is 1 Devices: id zone ip address port name weight partitions balance meta 0 1 127.0.0.1 6010 sdb1 1.00 1 50.00 1 2 127.0.0.1 6020 sdb2 1.00 1 50.00 -ヘルプの表示 引数なしで実行すると、ヘルプが表示されます。 # swift-ring-builder *リンク [#y1eb52ea] -[[The Rings>http://swift.openstack.org/overview_ring.html]] -[[Deployment Guide>http://swift.openstack.org/deployment_guide.html]]