[[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サーバは単一障害点になることが懸念されます。~ Proxy Serverを複数台にすることは可能らしく [[こちらのドキュメント>http://swift.openstack.org/howto_installmultinode.html#add-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-*で始まるコマンドからアカウント作成などを行いますが、アーカイブ版には含まれていないようです。