2011年9月8日

『第3回 クラウドストレージ研究会(略して、クラスト研)』のメモ

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 件のコメント: