More Related Content
Similar to OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
Similar to OpenStack超入門シリーズ いまさら聞けないSwiftの使い方 (20)
More from Toru Makabe (20)
OpenStack超入門シリーズ いまさら聞けないSwiftの使い方
- 1. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Hewlett-Packard Company
クラウド チーフ テクノロジスト グループ
技術担当部長
真壁 徹
OpenStackObjectStorage(Swift)
いまさら聞けない使い方
OpenStack 超入門シリーズ
- 2. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.2
“Swift? あれは、すげー
よ。ProxyとStorageが
Ringの設定でよろしく動
く。で、Eventual
Consistencyで…”
知りたいのは使い方なん
だけどなぁ
- 3. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.3
当資料の目的と前提条件・環境
目的
• OpenStack Object Storage(Swift)を題材に、「オブジェクトストレージ
とはなんぞや」を理解する
• アプリケーション開発者視点で使い方と使いどころを理解する
前提条件・環境
• HP Public Cloud
• 2014/03/29時点
- 4. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.4
おかしい… このストレー
ジ、説明書に「ボリュー
ム」「ファイルシステ
ム」「マウント」につい
て書いてないぞ…
- 5. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.5
Swiftユーザから見たオブジェクト = ファイル
オブジェクトストレージとは
従来のブロックストレージ オブジェクトストレージ
アプリ
ファイルシステム
ストレージ
POSIX/OS API
HTTP REST
アタッチ, マウント
FC, iSCSI, NFS…
アプリ
ストレージ
/Users/hoge/hoge.txt
https://region-a.geo-
1.objects.hpcloudsvc.com/v1/hoge/
hoge.txt
- 6. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.6
URL? 試しにブラウザ
で”https://region-a.geo-
1.objects.hpcloudsvc.com/
v1/hoge/hoge.txt ”と指
定、っと
わ、開いた!!
- 7. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.7
PHPの場合
アプリからファイルを開くには
<?php
$handle = fopen(“/Users/hoge/hoge.txt", "r");
?>
<?php
$object = $container->object(‘hoge.txt');
?>
従来のブロックストレージ
(ファイルシステム)
オブジェクトストレージ
(OpenStack PHP Client)
前準備
• パーティション/ファイルシステム作成
• アタッチ/マウント
• ライブラリ読み込み
前準備
• ライブラリ読み込み
• 認証トークンを取得
• カタログからストア、コンテナを取得
https://github.com/stackforge/openstack-sdk-
php/blob/master/doc/oo-tutorial.md
- 8. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.8
いまなぜオブジェクトストレージなのか
拡張性のあるストレージ需要の高まり
• 多様なデバイスから大量に生成される画像、音声、ログ
• たまり続けるアーカイブ、バックアップ
• その多くがWrite Once, Read Many
従来型ストレージの常識にとらわれない、新たな設計
• Write Once, Read Manyなファイルであれば、ブロック単位
のアクセスや排他制御は不要
• Webの技術と名前空間をストレージの世界に持ち込み、
シンプルにスケールさせる
- 9. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.9
適材適所で使い分けましょう
ブロックストレージ
(OpenStack Cinder)
オブジェクトストレージ
(OpenStack Swift)
つなぎかた ブロックデバイスにパー
ティションを作り、フォー
マットし、マウント
HTTP REST API
アクセスできる
のは
ブロックデバイスにアタッ
チ可能なVM、サーバー
HTTPで通信できれば何からで
も
アクセス単位は ブロック ファイル
向いてる用途 DBなど細かい粒度でアク
セス、ロックが必要なアプ
リ
画像、音声、ログなど、容量
が大きくなりがちで、一度
作ったらリードオンリーな
ファイル
- 10. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.10
まずはコンテナーをおぼえましょう
Swiftの世界で唯一のフォルダーが、コンテナー
コンテナー
“hoge”
様々なコンテナー 属
性を付与することで
便利機能を実現
擬似的に階層化が可能
(Pseudo folder)
オブジェクト
= ファイル
- 11. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.11
まだあるSwiftのうれしいところ
可用性/耐久性を高める仕組み
• レプリカを複数の”Zone”にコピー (デフォルトは3つ)
• Zoneを複数ラックやデータセンターに分散配置すること
で障害・災害対策に
• コンテナ単位で明示的な同期可 (Container Sync)
様々な便利機能
• 静的Webサーバーとして動作可 (Static Web Site)
• ファイルの世代管理 (Versioning)
• ファイルの時限削除
- 12. © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. HP Restricted.12
使いどころ
容量が読めない静的コンテンツの置き場に
• サイジングが難しい写真、動画、音声ファイルの置き場に
• 冗長化されたSwiftのStatic Web Site機能を使えば、Webサーバーが不要
• 守りたいファイルをSwiftに置く作りにしておくと、災害対策の選択肢が増える
ログなど分析したいファイルの置き場に
• “Juno”リリースで正式プロジェクト化予定のOpenStack Sahara (Hadoopクラスタ管
理)ではSwiftとのIntegrationが予定されている
バックアップ、アーカイブに
• Riverbed Whitewaterなど、Swiftへのバックアップに対応した製品あり
Write Once, Read Manyなファイルに
- 13. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
ThankYou