プライベートクラウドプライベートクラウドプライベートクラウドプライベートクラウドにににに
分散分散分散分散ストレージストレージストレージストレージ(Sheepdog)をををを
選んだ選んだ選んだ選んだ理由理由理由理由
株式会社株式会社株式会社株式会社 エーティワークスエーティワークスエーティワークスエーティワークス
プロダクト開発本部プロダクト開発本部プロダクト開発本部プロダクト開発本部 辻辻辻辻 正博正博正博正博
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
自己紹介自己紹介自己紹介自己紹介
氏名
辻 正博
所属
株式会社エーティークス プロダクト開発本部
担当業務
製品やサービスの開発
AT-LINKのサーバ運用、サービス開発
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 3
エーティーワークスのご紹介エーティーワークスのご紹介エーティーワークスのご紹介エーティーワークスのご紹介
at+linkで利用するサーバも製造at+linkのサーバの
運用管理、ユーザポートを担当
サーバの製造、販売事業サービス事業
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 4
at+linkプライベートクラウドプライベートクラウドプライベートクラウドプライベートクラウド
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�ストレージはクラウドの実体
�オブジェクトストレージ?ブロックストレージ?
�ストレージのソフトウエア化
�at+linkプライベートクラウドのデモ
5
アジェンダアジェンダアジェンダアジェンダ
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
ストレージがクラウドの実体ストレージがクラウドの実体ストレージがクラウドの実体ストレージがクラウドの実体
6
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 7
サーバーの構成サーバーの構成サーバーの構成サーバーの構成
node1
メモリーCPUハードディスク
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�CPUやメモリーは、どのサーバも同じ
�ハードディスクのデータがサーバの動作を決め
る
�ハードディスクにインストールしたOSやアプリケーションが動作する
�ハードディスクは、置き換えができない
8
ハードディスク(ストレージ)の役割ハードディスク(ストレージ)の役割ハードディスク(ストレージ)の役割ハードディスク(ストレージ)の役割
RHEL 6.5
Web Server
RHEL 6.5
DB Server
Windows2012
SQL server
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 9
クラウドと物理サーバの対比クラウドと物理サーバの対比クラウドと物理サーバの対比クラウドと物理サーバの対比
物理サーバ物理サーバ物理サーバ物理サーバ
クラウドクラウドクラウドクラウド
http://www.openstack.org/software/ より
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�Coumute node、ネットワーク、ストレージのハ
ードウエアは冗長化などで故障に備える事がで
きる。
�ストレージに蓄積したデータが重要
ストレージのデータ≒クラウドの実体
10
クラウドにおけるストレージの重要性クラウドにおけるストレージの重要性クラウドにおけるストレージの重要性クラウドにおけるストレージの重要性
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�必要な要件
�データの保全性が高いこと
�継続利用できる(ハードウエア故障が発生しても停止
しない)。
�容量や、パフォーマンスが拡張可能であることが求め
られる。
�用途
�コンテンツの保存などデータの保存
�仮想サーバの仮想ディスク
11
クラウドストレージに求められるものクラウドストレージに求められるものクラウドストレージに求められるものクラウドストレージに求められるもの
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
ブロックストレージ?ブロックストレージ?ブロックストレージ?ブロックストレージ?
オブジェクトストレージ?オブジェクトストレージ?オブジェクトストレージ?オブジェクトストレージ?
12
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 13
クラウドのストレージクラウドのストレージクラウドのストレージクラウドのストレージ
ストレージの種類ストレージの種類ストレージの種類ストレージの種類 例例例例 接続元接続元接続元接続元
ストレージサービス Dropbox
Google drive
OneDrive(Microsoft)
ブラウザー
利用者が直接ファイルなど
を保存
オブジェクトストレージ Swift(OpenStack)
S3(AWS)専用ソフト(API)
APIを使てオブジェクトを保
存
ブロックストレージ Cinder(OpenStack)
EBS(AWS)
Sheepdog
GlusterFS
Ceph
Virtual SAN(WMWare)
仮想ディスクとして利用
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 14
ストレージのストレージのストレージのストレージの分類分類分類分類
ブロックストレージ
iSCSIの例
Ethernet(iSCSI)
ファイルシステム
アプリケーション
NAS
NFSサーバの例
Ethernet(NFS)
ファイルシステム
アプリケーション
REST APIファイルシステム
アプリケーション
Ethernet
(REST API)
オブジェクトストレージ
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
分類分類分類分類 ブロックストレージブロックストレージブロックストレージブロックストレージ NAS オブジェクトストレージオブジェクトストレージオブジェクトストレージオブジェクトストレージ
ランダムアクセス
(任意の箇所へ
のアクセス)
○
(セクター単位)
○
(ファイルの任意の箇
所のデータにアクセ
スできる)
×
(ファイル全体の読み書
き)
複数のアクセス
元からの同時ア
クセス
×
ボリュームを分け
るなど管理が必要
○ ○
ストレージのス
ケールアウト
× × ○
仮想サーバの
ディスクとしての
利用
○ ○ ×
15
ストレージの特長ストレージの特長ストレージの特長ストレージの特長
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�S3
�AWSが2006年にリリースしたサービス。AWSのサー
ビスの中でも最初に提供された。
�S3APIを使って使用する(プログラムから使う)。
�クライアントツールの例
� s3cmd (Linux用コマンドラインツール)
� s3fs (Linux用バケットをファイルシステムとしてマウント)
� S3Browser (Windows用、GUI操作)
� Cloudberry (Windows用バケットをファイルシステムとしてマウント)
16
オブジェクトストレージオブジェクトストレージオブジェクトストレージオブジェクトストレージ AWS S3
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�Cloudian
�Riak CS (Basho)
�Swift (Openstackのに含まれている)
※S3互換APIで利用できる
17
その他のオブジェクトストレージその他のオブジェクトストレージその他のオブジェクトストレージその他のオブジェクトストレージ
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 18
ブロックストレージの利用例ブロックストレージの利用例ブロックストレージの利用例ブロックストレージの利用例
node1
ブロックストレージ装置
VM1
物理サーバ① 物理サーバ② 物理サーバ③ 物理サーバ④
管理サーバ
VM2 VM3 VM4 VM5
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
VM1 VM2 VM3 VM4 VM5
19
サーバ障害時の対応サーバ障害時の対応サーバ障害時の対応サーバ障害時の対応
node1
物理サーバ① 物理サーバ② 物理サーバ③ 物理サーバ④
管理サーバ
サーバ故障時でも仮想サーバを他のサーバ故障時でも仮想サーバを他のサーバ故障時でも仮想サーバを他のサーバ故障時でも仮想サーバを他の
ノードで起動することで復旧できるノードで起動することで復旧できるノードで起動することで復旧できるノードで起動することで復旧できる
ディスクの内容は、どの物理ディスクの内容は、どの物理ディスクの内容は、どの物理ディスクの内容は、どの物理
ノードからでもアクセス可能ノードからでもアクセス可能ノードからでもアクセス可能ノードからでもアクセス可能
ブロックストレージ装置
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 20
サーバーのライブマイグレーションサーバーのライブマイグレーションサーバーのライブマイグレーションサーバーのライブマイグレーション
node1
物理サーバ① 物理サーバ② 物理サーバ③ 物理サーバ④
管理サーバ
メモリーやメモリーやメモリーやメモリーやCPUの内容を複製して切り替の内容を複製して切り替の内容を複製して切り替の内容を複製して切り替
えることで動作させたまま移動できる。えることで動作させたまま移動できる。えることで動作させたまま移動できる。えることで動作させたまま移動できる。
ディスクの内容は、どの物理ディスクの内容は、どの物理ディスクの内容は、どの物理ディスクの内容は、どの物理
ノードからでもアクセス可能ノードからでもアクセス可能ノードからでもアクセス可能ノードからでもアクセス可能
ブロックストレージ装置
VM1 VM2 VM3 VM4 VM5
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
【接続方法】
� FC接続やiSCSI接続の機器が一般的
� 1GEthernet+iSCSI構成が低コストで導入できる
�数年前は速度を要求される場合は、FC接続が主だったが、最近では10GEthernet+iSCSIが普及している。
【記録媒体】
① SAS/SATA
② SSD/HDD混在+ティアリングソフト構成
③ SSD専用に設計の機器③の構成が増えてきている
21
ブロックブロックブロックブロックストレージストレージストレージストレージ
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 22
HP P4000 G2 SAN(Left Hand)
HP社 LeftHandの例http://h50146.www5.hp.com/products/storage/media/p4000/
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 23
Dothill PRO5000 Series
• Automated Tiering(アクセス頻度の高いデータ
を高速なディスクに自動で割り当てる)
• SSD/SAS/Nearline SASに対応
• FC/iSCSI接続
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 24
Pure Storage Flash Array
• ALL SSD
• 圧縮と重複排除をリアルタイムに実
施
• iSCSI接続
• 無停止で容量拡張、パフォーマンス
増強可能
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
ストレージストレージストレージストレージのソフトウエアのソフトウエアのソフトウエアのソフトウエア化化化化
25
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
ストレージ機器は…
�ベンダーロックイン
�専用ハードウエアでコストが高い
コモディティ化したサーバ+ソフトウエア
でストレージを実現したい
26
ストレージ専用機の次は?ストレージ専用機の次は?ストレージ専用機の次は?ストレージ専用機の次は?
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 27
大容量、低価格大容量、低価格大容量、低価格大容量、低価格
ARX200 S8(ATWORKS)
1U 3.5inch 12 diskサーバ(参考)
• 追加コストを必要しない
• 搭載ディスク数の多いサーバもある
• HDDの大容量化(3.5inchディスクで6~8TB)
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 28
PCIe接続の高速接続の高速接続の高速接続の高速SSDの普及の普及の普及の普及
Virident FlasMAX(HGST) P3000 Series(Intel)
ioDrive2(FUSION-IO)
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 29
NVDIMM(不揮発性(不揮発性(不揮発性(不揮発性DIMM)
http://www.vikingtechnology.com/arxcis-nv より
NVDIMMモジュール(Viking)
• メモリーモジュール
• 停止時にも内容を保持する機能を持っている。
• SSD以上に高速でデータを保存できる
• DDR4(次世代のメモリ規格)に仕様が盛り込ま
れている。今後の普及が予想される。
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�冗長性
�サーバ一台では、サーバ故障時にデータが喪失して
しまう。
�複数サーバで冗長化する必要がある
�ボリュームの管理
�複数の仮想ディスクに論理的に分ける管理が必要。
�仮想サーバとの接続
�Hypervisor(KVMやVMWare)が対応している必要が
ある
30
分散ストレージ分散ストレージ分散ストレージ分散ストレージソフトソフトソフトソフトにににに必要必要必要必要なななな機能機能機能機能
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�スモールスタートできること(導入コストが低い)
�管理、運用が容易であること
�仕組みがシンプルであること(不安定要因の排
除)
�容量をあとから増設できる
�性能を後から向上できる(スケールアウト)
31
プライベートクラウドのストレージプライベートクラウドのストレージプライベートクラウドのストレージプライベートクラウドのストレージ
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
�オープンソースの分散ストレージソフトウェア。
�2009年初頭、NTTソフトウェアイノベーションセ
ンタの森田和孝氏が中心となって立ち上げ、現
在もコミュニティベースで開発が進められている
。
�Linuxカーネルに採用されているKVM専用のブロックストレージとして開発がスタート。
�現在は、iSCSI接続やS3互換プロトコルによるオブジェクトストレージ機能も提供されている
32
Sheepdog
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 33
Sheepdog(分散の仕組み)(分散の仕組み)(分散の仕組み)(分散の仕組み)
仮想ディスク100GB×3
• サーバ5台
• 各サーバに300GBのディスク
• 3レプリケーション
実用量 500GB=300GB×5 ÷3
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 34
Sheepdog(運用面)(運用面)(運用面)(運用面)
• 管理サーバのようなものは不要ですべてのノードの役割が同一
• ノードの追加・削除すると自動的に処理される(Corosyncの働き)
• ノード構成が変わった場合、ディスクの使用量を均一化する処理が自動実行され
る
http://sheepdog.github.io/sheepdog/ より
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
Sheepdogの構成要素の構成要素の構成要素の構成要素
構成要素構成要素構成要素構成要素 説明説明説明説明
Sheep デーモンとして働く。Sheepdogの本体
dog CLIのコマンド。Sheepの状態をみたりクラスターの制御を行う
Corosync クラスターマネージャ
zookeeperを使用することもできる(ノード数が多いときは
zookeeper推奨)
qemu-kvm KVMハイパーバイザー
QEMU 0.13からsheepdogのクライアントがビルトインしている
RHEL6のqemuは対応していないのでパッチあてが必要
tgt iSCSI target driver
iSCSIプロトコルでSheepdogのボジュームを扱える
(2013年9月リリース)
KVMのブロックストレージとして利用できる
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
� オブジェクトストレージや、
ファイルシステム、ブロック
デバイスとして利用できる。
� Linuxカーネルにマージさ
れている
� オープンソース
� OpenStackからも利用する
Driverがあり。
� Inktank社がRedhat社に買
収され、今後Redhat製品
に導入されると思われる。
36
Ceph
http://ceph.com/docs/master/rbd/rbd-openstack/
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 37
Virtual SAN(VSAN)
http://www.vmware.com/jp/products/virtual-san より
• VMWareで分散ストレージを実現するソ
フトウエア
• サーバのローカルディスクやSSDをクラ
スター化できる。
• VMWare専用
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
種類種類種類種類 Sheepdog iSCSIストレージ機ストレージ機ストレージ機ストレージ機
導入コスト ◎ ×
中~大規模向き
容量の増設 ○ ○
スケールアウト ○ △
ディスク性能はディスク増設
で向上するが、コントローラ
の性能は上がらない
運用、管理 ○ ○
可用性 レプリケーション
Erasure CodeRAID1,5,6等
ベンダー非依存 ◎
ハードウエアの制約が無
い。オープンソースでソー
スの修正も可能
×
38
ストレージ専用機との比較ストレージ専用機との比較ストレージ専用機との比較ストレージ専用機との比較
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
� RAID6の様にパリティデータを付加して、一部データ
がなくなっても読み書きできるしくみ。
�レプリケーションに比べて、ディスク容量を効率よく利
用できる
� CPUによる演算負荷が高いが最近のCPUの処理能
力ではリアルタイム処理が可能。
39
Erasure Codeとはとはとはとは
レプリケーションレプリケーションレプリケーションレプリケーション Erasure Code
ディスク 1TB×6サーバ 1TB×6サーバ
冗長構成 3レプリケーション データ4、パリティ2
総容量 6TB 冗長構成
実用量 2TB 4TB
※台数が増えるほどErasureCodeの実行容量は物理容量に近づく
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
最近、分散ストレージやオブジェク
トストレージへの導入が進んでい
る。
� Swift
� Ceph(1.2で対応)
� Sheepdog(0.8.0で対応)
※IntelもErasure Codeのライブラリーを公開しストレージ技術への
応用に注目している
40
Erasure Codeの応用の応用の応用の応用
https://01.org/intel%C2%AE-storage-acceleration-library-open-source-version
Copyright 2014 A.T.Works,Inc. All Rights Reserved.
AT+LINKプライベートクラウドプライベートクラウドプライベートクラウドプライベートクラウド
41
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 42
at+linkプライベートクラウドの構成プライベートクラウドの構成プライベートクラウドの構成プライベートクラウドの構成
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 43
最小構成最小構成最小構成最小構成
サービス用ネットワーク
SW1 SW2
サービスネットワーク
node1
eth0
eth1 eth2
node2
eth0
eth1 eth2
node3
eth0
eth1 eth2
node4
eth0
eth1 eth2
node5
eth0
eth1 eth2
ストレージネットワーク
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 44
論理論理論理論理構成構成構成構成
node1
eth0
eth1 eth2
node5
eth0
eth1 eth2
サービスネットワークサービス用ネットワーク
SW1 SW2
node2
eth0
eth1 eth2
node3
eth0
eth1 eth2
node4
eth0
eth1 eth2
ストレージネットワーク
Sheepdogストレージ
KVMによる仮想サーバDB Web Web
仮想ネットワーク(VLAN使用)VLAN20
VLAN10
Copyright 2014 A.T.Works,Inc. All Rights Reserved. 45
at+linkプライベートクラウドプライベートクラウドプライベートクラウドプライベートクラウド