• 検索結果がありません。

Sheepdog: 仮想化環境のためのクラスタストレージシステム

N/A
N/A
Protected

Academic year: 2021

シェア "Sheepdog: 仮想化環境のためのクラスタストレージシステム"

Copied!
25
0
0

読み込み中.... (全文を見る)

全文

(1)

NTTサイバースペース研究所

森田和孝

2010/11/24

Internet Week 2010

Sheepdog:

Sheepdog:

仮想化環境のための

仮想化環境のための

クラスタストレージシステム

クラスタストレージシステム

(2)

Sheepdog

Sheepdog

とは

とは

仮想マシン専用のクラスタストレージシステム

仮想マシンに任意のサイズの仮想ディスクを提供

Sheepdog のクライアント機能は QEMU 0.13.0 で

標準機能として採用されている

OpenStack などと組み合わせて動かせるようにしよう

と検討中

(3)

IaaS 環境

仮想化環境用ストレージ

仮想化環境用ストレージ

仮想マシン

ホストマシン

IaaS 環境に適した, Amazon EBS のようなストレー

ジシステムが OSS では存在しない

仮想ハードディスク

- 拡張性

- 信頼性

- 運用性

仮想化環境用

ストレージの要件

(4)

既存のストレージ技術

既存のストレージ技術

SAN ストレージ

大規模な SAN ストレージは非常

に高価 

拡張性×

集中型アーキテクチャなので単一

障害点になりうる 

信頼性×

分散ファイルシステム

(Ceph, Luster)

規模が大きくなってくると, クラスタ

の管理が大変になる 

運用性×

SAN ストレージ FC スイッチ 仮想マシン イーサネットスイッチ 仮想マシン ホストマシン データサーバ メタデータ サーバ ホストマシン

(5)

Sheepdog

Sheepdog

イーサネットスイッチ

拡張性

数百台でも動

作可能

運用性

自律動作

クラスタメンバの動的管理

高度なディスク操作機能

信頼性

データは冗長化され

て保存されている

単一障害点なし

完全等質なクラスタストレージ

仮想

マシン

ホストマシン

(6)

設計

設計

:

:

仮想マシン専用ストレージ

仮想マシン専用ストレージ

制限を加えることで, 非常にシンプルな設計を実現

API は 仮想化ソフトウェア QEMU に特化

通常のファイルシステムとしては利用できない

同じ仮想ディスクを複数の仮想マシン間で共有できない

ホストマシン QEMU ゲスト OS ゲストOS sheep (サーバデーモン) sheep sheep 他サーバの sheep デーモンと通信 ディスク 入出力

(7)

仮想ハードディスクの保存方法

仮想ハードディスクの保存方法

仮想マシンにオブジェクトストレージを提供

仮想ハードディスクは 4 MB 単位のデータオブジェクトに分

割されて保存される

仮想ハードディスクとデータオブジェクトの対応関係は VDI

オブジェクトに保存される

0 1 2 3 0 1 3 仮想ハードディスク /dev/hda VDI オブジェクト VDI オブジェクト

オブジェクトストレージ

データオブジェクト

0 1

3

(8)

クラスタのマシン管理

クラスタのマシン管理

Corosync

高信頼アトミックマルチキャスト, 動的メンバ管理の実装

有名な OSS (Pacemaker, GFS2, etc) に採用されている

Sheepdog は Corosync の高信頼マルチキャストを用い

て, メタデータサーバを不要にした

マシン A

マシン B

マシン C

Lock volume a Lock volume b Lock volume b(failed)

Lock volume a Lock volume b Lock volume b(failed)

(9)

性能

性能

CPU : Core2 Quad 2.4GHz

メモリ : 2 GB

ネットワーク : 1 Gbps

ディスク : SATA 7200 rpm

ホストマシン台数 : 8

〜 64

仮想マシン台数 : 1

〜 256

データ冗長度 : 3

FAS 2020 (NetApp storage) VM VM VM VM VM VM VM VM VM VM VM VM Ethernet NFS VM VM VM VM VM VM VM VM VM VM VM VM Ethernet

(10)

性能

性能

物理マシンを増やすと

全体のスループットが

上昇する

$ dbench -s -S

(11)

まとめ

まとめ

Sheepdog は拡張性, 運用性, 信頼性を考慮した,

IaaS 環境用のクラスタストレージシステム

Sheepdog のクライアントは QEMU 0.13.0 より標準

機能化

開発者, ユーザ募集中

その他の情報

プロジェクトページ

http://www.osrg.net/sheepdog/

メーリングリスト

sheepdog@lists.wpkg.org

(12)
(13)
(14)

Sheepdog cluster

Architecture: fully symmetric

Architecture: fully symmetric

Zero configuration about cluster members

Similar to Isilon architecture

Sheepdog cluster

Use sheepdog as a network storage Use sheepdog as a virtual infrastructure

ethernet switch VMs Host machines ethernet switch VMs VMs

(15)

Snapshot

Snapshot

Copy VDI Object, and make allocated data

objects read-only

Updating read-only objects causes

copy-on-write

VDI Object VDI Object (snapshot) VDI Object VDI Object (snapshot) VDI Object

Create snapshot

Copy-on-write

20

23

10 11

13

10 11

13

10 11

13

10 11

13

11

(16)

gateway storage server storage server

Sheepdog

Sheepdog

の構成要素

の構成要素

corosync corosync corosync VM ---qemu VM ---qemu VM ---qemu gateway storage server gateway

クラスタ管理

オブジェクト

ストレージ

(17)

オブジェクトストレージ

オブジェクトストレージ

可変長のデータ(オブジェクト)を一意の識別子を指定して保存できる

クライアントはオブジェクトがどこに保存されるかを気にしなくてよい

Sheepdog に存在するオブジェクトは二種類

Writable オブジェクト

Read-only オブジェクト

オブジェクト

write

read

××

××

オブジェクト

×

×

×

(18)

オブジェクトストレージの実装

オブジェクトストレージの実装

コンシステントハッシュ

法を利用

マシンの参加や離脱に

よって, データ配置が大

きく変わらないことが特

Sheepdog のサーバ,

オブジェクトはコンシス

テントハッシュリングの

上に配置される

0 25 50 75 100 125 150 175 NAME: A ID : 18 NAME: B ID : 55 NAME: C ID : 81 NAME: D ID : 133 NAME: E ID : 169

(19)

Replication

Replication

Many distributed storage systems use chain

replication to maintain I/O ordering

Sheepdog can use direct replication because

write collision cannot happen

write

read write (parallelizable)read (from one of them)

Chain replication

Direct replication

gateway gateway

storage

(20)

Node membership history

Node membership history

All nodes store the history of

node membership

Objects are stored with the

version of node membership

(epoch)

Time

Machine A Machine B Machine C Machine D Machine E

Machine C joined Machine D, E joined Machine A, D, E left epoch Node membership 1 A, B 2 A, B, C 3 A, B, C, D, E 4 B, C obj:1 obj:1 obj:1 obj:1 obj:2 obj:2 obj:2 obj:2 obj:3 obj:3 obj:4 obj:4

(21)

クラスタのマシン管理

クラスタのマシン管理

Totem リングプロトコル

動的なメンバの管理を実現

全順序かつ高信頼なマルチキャストを実現

仮想同期を実現

マシン A

マシン B

マシン C

MSG1 MSG2 MSG3

×

B is down MSG4 MSG5 MSG1 MSG2 MSG3 MSG1 MSG2 MSG3 downB is MSG4 MSG5

(22)

Strong consistency

Strong consistency

A B C

Without epoch

With epoch

obj is updated to obj'

B and C are failed (epoch 3) A and B stores obj

(epoch 1)

C joined (epoch 2)

Avoid reading old objects

If requested object is not valid, system must

return I/O error

A B C obj obj obj obj obj obj obj:1 obj:1 obj:1 obj:1 obj:1 obj:1

obj' obj' obj':2 obj':2

Is this obj valid?

Invalid

This obj may be updated in epoch 2

(23)

16 1 10 9 15 14 12 11 5 6 8 3 2 4 7 13 ●

Totem single-ring

protocol with a large

number of nodes

doesn't work well

Corosync problem

(24)

Local ring

1

Local ring Local ring

Central ring 2 3 5 6 11 7 8 10 12 13 14 16 12 16 7 11 2 1

Consider several local rings (blue, red, and

green) and one central ring (gray). Each

ring uses a different multicast port.

Each node is placed on one of the

multiple local nodes

Representative nodes of each ring are also

placed on a central ring

Each ring has a master node (with a bold

line)

Approach: use multiple rings

(25)

Total order multicast

Total order multicast

1.

Send multicast message in the

local ring

2.

If master node receives the

message, the node resends the

multicast message in the central

ring

3.

If master nodes receive the

message in the central ring, each

master node resends the

multicast message in the local

ring

1

2

3

Message ordering is coordinated

by multicast in the central ring

参照

関連したドキュメント

第 5

船舶の航行に伴う生物の越境移動による海洋環境への影響を抑制するための国際的規則に関して

パターン1 外部環境の「支援的要因(O)」を生 かしたもの パターン2 内部環境の「強み(S)」を生かした もの

条例第108条 知事は、放射性物質を除く元素及び化合物(以下「化学

Should Buyer purchase or use SCILLC products for any such unintended or unauthorized application, Buyer shall indemnify and hold SCILLC and its officers, employees,

自動車環境管理計画書及び地球温暖化対策計 画書の対象事業者に対し、自動車の使用又は

洋上環境でのこの種の故障がより頻繁に発生するため、さらに悪化する。このため、軽いメンテ

都市 の 構築 多様性 の 保全︶ 一 層 の 改善 資源循環型 ︵緑施策 ・ 生物 区 市 町 村 ・ 都 民 ・ 大気環境 ・水環境 の 3 R に よ る 自然環境保全 国内外 の 都市 と の 交流︑. N P