2011年9月8日に行われた、『第3回 クラウドストレージ研究会(略して、クラスト研)』に参加させていただきました。
そのときのメモです。
■諸元
日時: 2011/09/08 開場17:00 本編17:00-20:00 懇親会20:30-
会場: 株式会社IDCフロンティア 本社 カスタマーソリューションセンター (東京都新宿区四谷4-29)
タグ: #cstf
要綱: http://atnd.org/events/19145
当日のタイムライン抽出: http://togetter.com/li/185448
■プログラム
1. 「Cloudian」 ジェミナイ・モバイル・テクノロジーズ Mike Tso氏(通訳有)
2. 「SheepDog Update」 NTTサイバースペース研究所 森田氏
3. 「Ceph/RADOS」ジェミナイ・モバイル・テクノロジーズ 河野氏
4. 「EXAGE」インテック先端技術研究所 中川氏
5. IDCフロンティアさんからのお知らせ
■17:36-18:18 「Cloudian」 ジェミナイ・モバイル・テクノロジーズ Mike Tso氏(通訳有)
会社概要
主要製品の遷移
Cloudian=マルチテナント型クラウドストレージシステム
AWS S3 Rest API対応のターンキー・パッケージング製品
分散ストレージにNOSQLデータベースを実装
柔軟な管理機能
高信頼性と高可用性
バックシステムにCassandra(変更可)
Cloudian=分散型ストレージとプラットフォームをパッケージしたソフトウェア製品
データセンタ向け
NASやSANの代替に
Cloudianの特徴
拡張性 NOSQLデータベースによりペタバイト級データ量に対応/スケールアウト可能/パーティショニング不要
信頼性 複数のIDC間でレプリケーション可/SPOFがない
機能性 グループ機能をサポート
管理機能 ユーザごとに課金設定可能/サービスレベルのコントロールが可能
Cloudianのインタフェース
Web UI
管理API
AWS S3 Rest API互換HTTP API
サービスレベルコントロール
グループ、ユーザごとに最大値の設定が可能
ストレージバイト数
1分あたりの要求数
1分あたりの送受信量
WebUI 管理APIで設定可能
最大値に達したらその後の要求は拒否
マルチデータセンター機能(オプション)
IDC間でレプリカを作成
パブリックURL機能
データオブジェクトの共有が可能(読み取りのみ)
ウェブサイトのような使い方ができる
アクセスのタイムアウト設定、回数設定可能
パブリッククラスタとプライベートクラスタ
AWS S3とCloudianとの比較
S3は巨大、Cloudianはそこに適合しないケースを狙っている
試用版・無料評価版あり
質疑応答
Q.Cassandraを選んだ理由はマルチデータセンタ以外にあるか?
A.Cassandraのコミュニティが活発だった
Q.KVSはデータ量が増えると通信量が増えるがどのように解決しているか?
A.まだ課題になっている。CPUの仮想化、安価なストレージ、ネットワークの仮想化
■18:19-18:32 「SheepDog Update」 NTTサイバースペース研究所 森田氏
SheepDog=仮想マシン専用の分散ブロックストレージシステム
SheepDog update
・Zoneの導入
・管理ツールの強化
・QEMUからのディスクI/Oを完全非同期処理化
・バグフィクス
複数のディスクをもつマシンをどう扱うか
1) sheepデーモンが複数デーモンに対応
2) RAID0
3) RAID1
4) sheepデーモンを複数ディスクごとに立ち上げる(今までの推奨)
Location-awareなデータ配置
・同じマシン内での複製を禁止
・同じラック内での複製を禁止
・同じリージョン内での複製を禁止
Zone
sheepデーモンの引数でディスクの位置情報を数字(zone ID)で指定
複製は必ずzoneをまたがって行われる
管理ツールの強化
qemu-imgなしで仮想ディスクの作成、スナップショット作成が可能に
管理ツールからも仮想ディスクへの入出力処理が可能に
今後
自分でやる予定
・クラスタ管理機能の分離
・fsckの作成
・writebackサポート
協力者募集
・ライブラリ化 テストフレームワークの作成/iSCSI Xen対応
・ibvirtのstorage API対応 CloudStack対応に必須
新プロジェクト(近日公開?)
分散コーディネーションサービス
ZooKeeperに変わる分散システムのコアコンポーネントを目指す
プロジェクト名の最初の文字「B」
■18:45-19:27 「Ceph/RADOS」ジェミナイ・モバイル・テクノロジーズ 河野氏
Cephとは
Linuxの分散ストレージ・ファイルシステム
OSS LGPL
高いパフォーマンス クラスタ規模のRAID0ストライピング
SPOFがない
Cephの構成要素
アプリ - Cephクライアント(ドライバ) ←メタ情報の操作→MDS(Meta Data Server) 1台以上(増やしてスケールアウト)
アプリ - Cephクライアント(ドライバ) ←ファイルI/O→OSD(Object Storage Device) (3ノード以上)
MDS←メタ情報の永続化→OSD
MON モニタ(3or5)…クラスタの状態を監視
ファイルシステムとしてbtrsf
Cephのインタフェース
POSIX形式の分散ファイルシステム
MDS
LInuxカーネル2.6.34以上を通してファイルシステムとしてマウント
C/C++ライブラリで直接アクセス
複数のサーバから同時にマウントできる
オブジェクトストレース(RADOS)
「信頼できる自動分散型オブジェクトストア」
レプリケーションとフェイルオーバーを透過的に処理
OSD MON
libradosライブラリでアクセス可能 オブジェクトプール、copy-on-writeスナップショットなど
シンプルなので高速・高信頼性 ファイルシステムの階層構造が不要なアプリに向いている
S3互換ストレージ
RGW Rados Gateway
HTTPプロキシサーバ AWS S3のRESTリクエストをRAODSオペレーションに変換する
オブジェクトのパーティショニングは未対応
RBS(Radios Block Device)
RADOSクラスタ上に仮想的なブロックデバイスを作成
Linuxカーネル2.6.37以上のブロックデバイスドライバを通じて/dev/rdb0..として接続
QEMU/KVM ストレージドライバからの接続可能
iSCSIと異なりOSDクラスタ上にストライピング+レプリケーションされて格納されている
接続はサーバ1台に限る(?)
Ceph/RADOSの特徴と構成要素
適応型メタデータサーバ
メタ情報の更新には一貫性が求められるため更新処理の分散しづらい
そこで、ディレクトリのサブツリーごとにアクセス回数を記録
アクセス回数が多くなってきたらサブツリーを分離して別のMDSに配置する
CRUSH分散アルゴリズム
クライアントでオブジェクトの配置をCRUSH関数で決定
CRUSH=クラスタのレプリケーションを決める
簡単な性能測定
Vmware Fusion上に2コア,2.5GB Ubuntu 11.04 Linuxカーネル2.6.38 Ceph 0.34 3ノード
3台の仮想PCの中の1台に
Cephファイルシステム RBDパーティションをマウント
書き込み 仮想サーバ1台のext4:Ceph:RBD ext4 3:1:1
読み込み 仮想サーバ1台のext4:Ceph:RBD ext4 2:1:1
高速化のヒント
OSDのジャーナルにはSSDなど高速なデバイスを使う
OSDデータにはたくさんのドライブを使う(4-12台) RAID5などの冗長化はやらない
MDS用のマシンにメモリを沢山積む数GB 積むほどオンメモリで動作する
OSD用のマシンにもメモリを沢山積む
ロードマップ(優先度順)
コア機能の安定性向上 テストカバレッジ拡大 対象:OSD,librados,RGW,シングルMDS
RBDと仮想化対応
rpmパッケージ化 ツールの使い勝手向上 ドキュメントの充実
OpenStack対応(主にRBDが対象だがRGWも対応)
Hadoop対応
MDSクラスタの安定性向上
質疑応答
Q.IDCをまたぐ運用で使えるか?
A.ドキュメントによると向いてない
■19:29-19:59「EXAGE」インテック先端技術研究所 中川氏
EXAGE(エクセージ)=クラウドプラットフォームのブランド名
Scalability サーバを数十台並べて稼働
Reliability ハードは壊れるもの
Maintainability メンテは楽に。自律的に。
サーバを束ねるミドルウェア層ががんばる仕組み
EXAGE/Storageの特徴
スケーラブル
ランダムアクセスが高速
従来のファイルシステムに対応 NFSでマウントできる iSCSIとしてブロックデバイスとしても使える
EXAGE/Storageの仕組み
フロントエンド:アクセスサーバ 書込み:ブロック単位で分割しコアサーバに分散格納する/読込み:分散格納したブロックを集める アクセスサーバ自体にストレージは持たない
バックエンド:コアサーバ ストレージ 容量が少なくなればこれを増やす
分散格納するときに、異なるコアサーバ(3つ)に重複して格納することで冗長化を図っている
core2,1Gb NICでランダムアクセスで100MB/sくらい出せる
おまけ
アプリケーション基盤、クラウド空間を作りたい
まずデータを共有するためにストレージを作った
KVSをフルスクラッチで作った(CassandraやTokyoCabinetのようなもの) データの保存のためでなく処理のキューイングのために
これらを組み合わせてLoggerも作った
SDKあり Javaのみ クラウド対応のMapインスタンスを作ると従来のアプリがクラウド対応にできる
■20:00-20:20 会場提供者(IDCフロンティア)によるLT
NOAHの宣伝タイムw
0 件のコメント:
コメントを投稿