21
分散仮想ストレージシステム ご紹介資料 OSSラボ株式会社 2013/11/21 1

分散仮想ストレージシステム紹介

  • Upload
    oss

  • View
    3.329

  • Download
    4

Embed Size (px)

DESCRIPTION

OSS(オープンソース)分散仮想ストレージのXtreemFS, Ceph, GlusterFSの紹介資料

Citation preview

Page 1: 分散仮想ストレージシステム紹介

分散仮想ストレージシステム ご紹介資料

OSSラボ株式会社

2013/11/21

1

Page 2: 分散仮想ストレージシステム紹介

クラウドストレージとは

l  クラウド上のストレージサービス l  ユーザは物理的にどのデータセンタ/サーバ/ストレージ/ディスクに自分のデータが格納されているのか、全く意識しなくて良い

l  バックアップもオプション指定するだけで、自動的に地理的分散を保証してくれる

2

オブジェクトストレージ(REST)のS3と、ブロックデバイスのEBSを提供

オブジェクトストレージ(REST, JSON/XML etc.)のCloud Storageと、ブロックデバイスのPersistent Diskを提供

オブジェクトストレージ(REST, NTFS)のBLob Storage(Azure Drive)と、ブロックデバイスのLocal Storageを提供

異なるサービス間、またはオンプレミス環境のストレージと互換性/可搬性がない

Page 3: 分散仮想ストレージシステム紹介

クラウド透過なクラウドストレージが理想

3

オンプレミス (物理・仮想マシン) プライベートクラウド

パブリッククラウドサービス (仮想マシン)

VMware, OpenStack, etc.

POSIX (FUSE)

自動 レプリケーション

ブロック デバイス

オブジェクト ストレージ 共有ファイル

VMイメージ REST API (S3, SWIFT互換)

ハイブリッド・クラウド 仮想マシン群

オンプレミス (物理・仮想マシン) プライベートクラウド

パブリッククラウドサービス (仮想マシン)

自動 レプリケーション

Page 4: 分散仮想ストレージシステム紹介

仮想ストレージとは

l  仮想ストレージの階層 l  Disk Virtualization (ディスクの仮想化) :論理ブロック(LBA) l  Block Virtualization (ブロックの仮想化) :LVM/RAID l  File Virtualization (ファイルの仮想化) :VFS l  File System Virtualization (ファイルシステムの仮想化) (SNIA(Storage Network Industry Association)が作成したストレージ仮想化技術の分類)

l  ファイルシステムの仮想化: l  クラスタ/グリッドファイルシステム/仮想ストレージ/Software Defined Storage, etc.

l  ユーザからはサーバや記憶装置の多様性と分散が隠蔽され、単なるボリュームやファイルとして扱える透過性を持つ。

l  商用製品例 l  EMC ViPR l  VMware VSAN l  Datacore SANSymphony-V l  NexentaStor

l  分散ファイルシステムは、レプリケーションによるフォールトトレラント性強化を目指したもの、並列化による性能強化を目指したもの、両方を同時に実現しようと設計されたものがある。 4

Page 5: 分散仮想ストレージシステム紹介

分散仮想ストレージとは

l  汎用PCサーバ/汎用OS(Linux)を使用 l  特別なハードウェア不要 l  フォールトトレラント l  スケールアウト l  汎用プロトコル

l  POSIXファイルシステム l  ブロックデバイス l  REST(AWS S3/SWIFT互換) l  NFS/SAMBA

l  リモートレプリケーション(WAN越し)

5

Page 6: 分散仮想ストレージシステム紹介

分散仮想ストレージのアーキテクチャ

l  メタデータ管理 l  集中管理型/分散管理型、フォールトトレランス、スケールアウト

l  ネーミング l  データ格納場所とオブジェクトIDのマッピングアルゴリズム

l  クライアントアクセス l  POSIX/FUSE/Block/REST

l  キャッシングと一貫性保持 l  WORM/Transactional locking/Leasing

l  レプリケーション/同期方式 l  同期/非同期、Read only/Read/Write、CAP定理、PAXOS

l  ロードバランス l  データ偏在の自動修正

l  自己修復機能(Self Healing)

6

Page 7: 分散仮想ストレージシステム紹介

ユースケース:共有ファイルサーバ

7

アプリケーション ストレージ クラスタ

ストレージ クラスタ

データ

データ

R/W

同期 レプリケーション

仮想ストレージ

ストレージ クラスタ

ストレージ クラスタ

データ

データ

同期 レプリケーション

仮想ストレージ

DC #1 DC #n

アプリケーション

R/W

アプリケーション

Read Only

アプリケーション

Read Only

アプリケーション ストレージ クラスタ

ストレージ クラスタ

データ

データ

R/W

同期 レプリケーション

仮想ストレージ

ストレージ クラスタ

ストレージ クラスタ

データ

データ

同期 レプリケーション

DC #1 DC #n

アプリケーション

R/W

アプリケーション

アプリケーション

R/W

R/W

非同期Read Only レプリケーション

同期Read/Write レプリケーション

Page 8: 分散仮想ストレージシステム紹介

ユースケース:バックアップ/DR

8

アプリケーション ストレージ クラスタ

ストレージ クラスタ

データ

データ

R/W

同期 レプリケーション

仮想ストレージ

アプリケーション

ストレージ クラスタ

ストレージ クラスタ

データ

データ

R/W 同期

レプリケーション

仮想ボリューム

LVM ミラリング

ストレージ クラスタ

ストレージ クラスタ

データ

データ

同期 レプリケーション

仮想ストレージ

ストレージ クラスタ

ストレージ クラスタ

データ

データ

同期 レプリケーション

仮想ボリューム

DC内一次バックアップ

非同期 Read Only

レプリケーション

非同期 Read Only

レプリケーション

DR二次バックアップ ファイルマウント

ブロックデバイス

Page 9: 分散仮想ストレージシステム紹介

ユースケース:ログ集約

9

アプリケーション ストレージ クラスタ

ストレージ クラスタ

ログ

ログ

Write 仮想ストレージ

ストレージ クラスタ

ストレージ クラスタ

ログ

ログ

DC #1

非同期 Read Only

レプリケーション

DC #n

アプリケーション

Write

アプリケーション

アプリケーション

Write

Write

ログ ログ

ログ ログ

Page 10: 分散仮想ストレージシステム紹介

ユースケース:CDN

10

アプリケーション ストレージ クラスタ

ストレージ クラスタ

データ

データ

書き込み

同期 レプリケーション

仮想ストレージ

ストレージ クラスタ

ストレージ クラスタ

データ

データ

同期 レプリケーション

仮想ストレージ

DC内一次ストレージ

非同期 Read Only

レプリケーション

リモートレプリケーション

クライアント

Read Only

クライアント

Page 11: 分散仮想ストレージシステム紹介

ユースケース: VMイメージストア

11 11

VM ストレージ クラスタ

ストレージ クラスタ

マウント

同期 レプリケーション

仮想ストレージ

ストレージ クラスタ

ストレージ クラスタ

同期 レプリケーション

DC #1

同期 Read/Write レプリケーション

DC #n

VM

VM

VM

マウント

ライブマイグレーション

ライブマイグレーション

Page 12: 分散仮想ストレージシステム紹介

ユースケース:HAストレージ

12

ホスト アクティブ

ストレージ クラスタ

ストレージ クラスタ

マウント 仮想ストレージ

ストレージ クラスタ

ストレージ クラスタ

DC #1

非同期 Read Only

レプリケーション

DC #n

ホスト スタンバイ

ホスト スタンバイ

ホスト アクティブ

マウント

HA構成 HA構成

Page 13: 分散仮想ストレージシステム紹介

XtreemFS l  概要と特長

l  XtreemFSは、スケーラビリティとフォールトトレランスを備えたオブジェクトベースのグローバル分散ファイルシステムであり、BSDライセンスで提供される。Javaで実装され、Linux, MacOSX, Windows(クライアントのみ)がサポートされている。またHDFS互換の機能も提供されており、HDFS Name Node / Data Nodeの代わりに使用する事もできる。

l  開発/サポート体制 l  フランス政府研究省および、経済財政産業省が共同管理するフランス国立研究所であるINRIA(Institut National de Recherche en Informatique et en Automatique、 フランス国立情報学自動制御研究所)が中心となってEC各国と中国の19機関が2006年から共同開発した、科学技術計算グリッドシステム環境XtreemOSプロジェクトの一環として開発された。

13

Page 14: 分散仮想ストレージシステム紹介

XtreemFSのアーキテクチャ

14

vfs

FUSE

File system

ブロック デバイス

User space Kernel space

XtreemFS Client Application

MRC

① DIR

OSD

vfs

ブロックデバイスドライバ

BabuDB

BabuDB

ONC-RPC

Heart-beat

Meta-data

Page 15: 分散仮想ストレージシステム紹介

XtreemFSのReplication機能 l  Replicationは以下のポリシーが可能

l  Read/Write l  Primary/Backupモデル、定期的に更新されるリースによってPrimaryが選定される l  レプリカ数は最大10までが推奨 l  Writeは、全てのBackupに直ちに同期される l  同期には下記の2通りのポリシーがある

§  WaR1(Write all, Read 1) 全てのBackupに書き込みを完了する §  WqRq (Write quorum, Read quorum)過半数のBackupに書き込みが完了する

l  Read Only l  複製先は更新できない l  Full replicaとPartial Replicaが設定できる l  Fullはファイル作成時に全ての複製が作成される l  Partialはファイル作成時には空のファイルが作成されクライアントからリクエストがあった時点でオンデマンドでフェッチされる

l  複製先の選択 l  Gouping PolicyによってOSD (データノード)がどのデータセンターに所属し、データセンター/クライアント

間の距離によって、複製先が選択される

15

Page 16: 分散仮想ストレージシステム紹介

Ceph l  概要と特長

l  Ceph は、カリフォルニア大学サンタクルーズ校 (UCSC) の Sage Weil (現DreamHost / Inktank共同設立者)がストレージ・システムに関する博士論文の研究プロジェクトとして、2007年から開発を始められたファイルシステムであり、2010年 に Linux カーネル (2.6.34 以降) に組み込まれた。

l  CephはLGPL V2.1ライセンスで提供され、商用版はCeph EnterpriseとしてInktankから販売サポートされている。

l  開発/サポート体制 l  開発はInktankを中心に進められているOpen Coreモデルである。オープンソース版がコアになり、商用版は管理用GUIやSNMPインターフェース、Hyper-V連携等が加えられ、サポートが提供される。

l  2012年7月に最初の安定板をリリースした後、約3ヶ月毎にバージョンアップが行われ、現在は2013年11月にリリースされた5番目のV0.72(Emperor)が提供されている。V0.72は、Linuxカーネル3.4.20以降または3.6.6以降でサポートされており、Windows版やMac版は提供されていない。また、OpenStackやCloudStackと共同でIaaS基盤とのストレージ連携を強化している。 16

Page 17: 分散仮想ストレージシステム紹介

kernel Device driver

Cephのアーキテクチャ

17

vfs

FUSE

File system

ブロック デバイス

User space Kernel space

Ceph-fuse Client Application

MDS

① Monitors

OSDs

vfs

ブロックデバイスドライバ

③ vfs

User space Kernel space

Ceph-kernel Client Application

RADOS

Page 18: 分散仮想ストレージシステム紹介

CephのMulti-site Replication機能

オブジェクトストレージ(RADOSGW)のみ 対応済み l  物理的ロケーションの離れた別クラスターにメタデータとデータを複製。

l  複製方式は、マスター/スレーブ、スレーブはRead Only

l  複製先は複数可能 l  ディザスタリカバリー用のバックアップデータを保証する。

l  一貫性はAP(Eventually consistency)

18

Page 19: 分散仮想ストレージシステム紹介

GlusterFS l  概要と特徴

l  GlusterFSは、2005年に起業したGluster, Inc.によって開発されていたが、2011年のレッドハットによるGluster買収後はレッドハットにより開発されている、ファイルベースの分散並列フォールトトレラントファイルシステムである。オープンソース版のGlusterFS CommunityはLGPL V3ライセンスで提供され、商用版はRed Hat Storage Serverとして販売サポートされている。

l  開発/サポート体制 l  開発はレッドハットを中心に2000人以上のコミュニティで進められている。

FedoraとRHELの関係と同様、オープンソース版が先進的機能を取り入れ、商用版がアップストリーム安定版としてサポートが提供される。

l  レッドハットに買収された2011年にV3.0をリリースした後、数ヶ月毎にバージョンアップが行われ現在はV3.4が提供されており、V3.5が2013/12にGA予定である。

l  Redhat Storageのドキュメントはレッドハット社、日本IBMなどから日本語ドキュメントが提供されており、コミュニティの日本語ドキュメントも多数存在する。

19

Page 20: 分散仮想ストレージシステム紹介

GlusterFSのアーキテクチャ

20

vfs

FUSE File system

ブリック

User space Kernel space

クライアント Application Glusterfsd

vfs

ブロックデバイスドライバ

ノード トランスレータ

トランスレータ

File system

ブリック

Glusterfsd

vfs

ブロックデバイスドライバ

ノード

トランスレータ

ボリューム

Page 21: 分散仮想ストレージシステム紹介

GlusterFSのGeo Replication機能

l  物理的ロケーションの離れた別クラスターにデータをBrick単位で複製する。

l  複製方式は、マスター/スレーブ、スレーブはRead Only

l  複製先は、普通のファイルシステムでも可能。

l  ディザスタリカバリー用のバックアップデータを保証する。

l  非同期型レプリケーション(ファイルの変更は定期的に実施、違いを検知した時に同期を行う。)

l  rsync&SSH を使用するため、rsyncの限界(ファイル総数等)が機能の限界。

21