- 追加された行はこの色です。
- 削除された行はこの色です。
[[Swift/概要]]
調査中のものや、ちょっとしたメモなど。
*コンテナの仕様 [#ie33ff5f]
-Objectはコンテナの中にしか作れない
-コンテナの中にコンテナは作れない
なのでオブジェクトのURLは
http://<proxy-server>/X-storage-string/container/object
のような形になります。
X-storage-stringに相当する部分を保存するのが、Account Serverになります。
ただし、CyberDuckから接続してみたところ、コンテナの中にディレクトリを作ることができました。~
オブジェクトの一種という形で作成できるようです。
*Authサーバの設定 [#ya7cdb7c]
ドキュメントは特にないようです。
Swift All In Oneのドキュメントの設定例のみです。
*複数台のProxyサーバ [#ybad7005]
現状のドキュメントによると、Proxyサーバは1台で構成する前提のようです。~
このためボトルネックになることが懸念されます。~
しかしProxy Serverを複数台にすること自体は可能らしく
[[こちらのドキュメント>http://swift.openstack.org/howto_installmultinode.html#add-proxy-server]]に描かれています。
Proxyサーバは単一障害点になることが懸念されます。~
Proxy Serverを複数台にすることは可能らしく
[[こちらのドキュメント>http://swift.openstack.org/howto_installmultinode.html#add-proxy-server]]に描かれています。~
ロードバランサを導入するようです。
*CloudFiles APIライブラリからの利用 [#k5912461]
pythonのものだと、docsディレクトリにドキュメントがあります。
swiftの場合、接続先のサーバを指定する必要があり、以下のように実行します。
cloudfiles.consts.default_authurl = 'https://192.168.1.1/v1.0'
*Replicatorなど [#rb68608f]
object, container, accountサーバそれぞれに~
auditor, replicator, updaterが存在します。~
-Replicator
冗長化のための複製を行う。~
削除に関しては、0バイトのファイルを複製することで確実に削除している。~
Replicator以外の手段としては、PUTの段階で複数のサーバに書き込んでいます。~
Replicatorの役目としては、ファイルのPUTの後に追加したサーバに対してデータを複製するようです。
-Auditor
調査中。~
システムの監視を行っているらしい。
-Updater
障害等でデータの書き込みが行えなかった場合に、後から書き込むための仕組みらしいです。
*ちょっとした不具合対策 [#h4968945]
Replicator等のログとして、「ERROR Failed to get my own IPs?」と出ることがあります。~
これはOSの言語設定を日本語などにしていると起こります。
Swift内部で、自分のIPアドレスを取得する関数がありますが、言語を日本語などにしていると失敗します。~
実装方法としてifconfigの結果をパースしており、日本語環境だと意図通りの書式ではないため、正常にパースできないようです。~
これらのサーバを起動するスクリプトで、言語をC等に設定することで回避できます。
*swauth [#o0151ec2]
恐らくSwift独自の概念。~
DevAuthとswauthのうち、どちらを使うかを選択できるようです。~
AuthサーバはDevAuthの場合のみ構築するらしいので~
swauthを選択した場合は、Proxyサーバが認証も含めて行うのではないかと思います。~
swauth-*で始まるコマンドからアカウント作成などを行いますが、アーカイブ版には含まれていないようです。