SlideShare a Scribd company logo
1 of 31
Download to read offline
Red Hat OpenShift Container Storage
Red Hat K.K.
2
Agenda
● OpenShift/Kubernetes の Persistent Storage
● OpenShift Container Storage
OpenShift/Kubernetes の Persistent Storage
4
[参考]コンテナが利用されるユースケース
Data Apps
Cloud Apps
Systems of
Engagement
Systems of
Record Web and Commerce
Software
Mobile Apps
Social Apps
77%
71%
62% 62%
57% 52%
46%
ScalableでCost Effectiveなコンテナ用ストレージへのDemand
Base: 194 IT operations and development decision-makers at enterprise in APAC, EMEA, and North America Source:
A commissioned study conducted by Forrester Consulting on behalf of Red Hat, January 2015
“どのようなワークロード /アプリケーションでコンテナを利用している /しようと思っていますか? ”
● コンテナは本来“ephemeral” な性質
● コンテナで稼働する多くのアプリケーションでは、データを永続的に保持するスト
レージ、“Persistent Volume”が必要
5
コンテナ環境におけるストレージの基本
OS
サーバー
コンテナ
MySQL
ストレージ
/var/lib/mysql
コンテナは、持続的なストレー
ジを持っていない
なんらかの理由でコンテナが
起動、停止しても外部のスト
レージは利用可能であり続け
る。
● Kubernetesのpluginを利用して様々なバッ
クエンドストレージを PVとして利用
● 3種類のAccess Mode
○ Read Write Once (RWO)
 1つのPodで専有、Read/Write可能
○ Read Only Many (ROX)
 複数のPodで共有可能、Read Only
○ Read Write Many (RWX)
 複数のPodで共有可能、Read/Write可能
○ バックエンドストレージによって利用で
きるAccess Modeが異なる
6
Persistent Volume (PV)
● ユーザー自身がPVを必要なときに要求
できる
○ Kubernetesが提供するセルフサー
ビスの仕組み
● Persistent Volume Claim (PVC)を作成
○ PVCでは以下の情報を指定
■ サイズ
■ Access Mode
■ Path
■ Storage Class(Dynamic
Provisioningのみ)
7
Persistent Volume Claim (PVC)
20GB
1. ユーザがPVをリクエスト
(PVCの作成)
ストレージ
3. Appにattach
App
2. PV提供
8
Storage Type Description Example
Block ● Presented to the operating system (OS) as a block device
● Suitable for applications that need full control of storage and
operate at a low level on files bypassing the file system
● Also referred to as a Storage Area Network (SAN)
● Non-shareable, which means that only one client at a time can
mount an endpoint of this type
converged mode/independent mode GlusterFS
iSCSI, Fibre Channel, Ceph RBD, OpenStack
Cinder, AWS EBS [1], Dell/EMC Scale.IO, VMware
vSphere Volume, GCE Persistent Disk [1], Azure
Disk
File ● Presented to the OS as a file system export to be mounted
● Also referred to as Network Attached Storage (NAS)
● Concurrency, latency, file locking mechanisms, and other
capabilities vary widely between protocols, implementations,
vendors, and scales.
converged mode/independent mode GlusterFS,
RHEL NFS, NetApp NFS , Azure File, Vendor NFS,
Vendor GlusterFS, Azure File, AWS EFS
Object ● Accessible through a REST API endpoint
● Configurable for use in the OpenShift Container Platform Registry
● Applications must build their drivers into the application and/or
container.
converged mode/independent mode GlusterFS,
Ceph Object Storage (RADOS Gateway),
OpenStack Swift, Aliyun OSS, AWS S3, Google
Cloud Storage, Azure Blob Storage, Vendor S3,
Vendor Swift
Persistent Volume のタイプ
https://docs.openshift.com/container-platform/3.10/scaling_performance/optimizing_storage.html#general-storage-guidelines
9
Persistent Storage タイプの Recommendation
Storage
type
ROX RWX Registry Scaled
registry
Metrics Logging Apps
Block Yes No Configurable Not configurable Recommended Recommended Recommended
File Yes Yes Configurable Configurable Configurable Configurable Recommended
Object Yes Yes Recommended Recommended Not configurable Not configurable Not configurable
https://docs.openshift.com/container-platform/3.10/scaling_performance/optimizing_storage.html#back-end-recommendations
● Static Provisioning
○ あらかじめストレージ管理者がボリュームを
作りPVとして登録しておく
○ 条件に合うPVがあれば提供する
10
Persistent Volume のプロビジョニングスタイル
● Dynamic Provisioning
○ 要求に応じてon-demandにボリュームを作り
直接PVとして提供する
○ StorageClassによるカタログ化
20GB
10GB
10GB
10GB
20GB
20GB
20GB
PVを登録して
おく
ストレージ管理者ユーザー
- 20GB
- RWO
20GB
StorageClass
Rapid
StorageClass
Normal
StorageClass
の定義
ストレージ管理者ユーザー
Provision
Create &
Provision
- 20GB
- RWO
- 速いClass
11
Dynamic Provisioningの利点
20GB
20GB
StorageClass
Rapid
StorageClass
Normal
StorageClass
の定義
ストレージ管理者ユーザー
Create &
Provision
- 20GB
- RWO
- 速いClass
● ユーザーのPVCに応じてPVが自動的に作られる
○ ストレージ管理者があらかじめPVを用意する必要なし
● ストレージ管理者はバックエンドストレージに紐づい
たStorageClassを定義しておく
○ 例)Flashベースは“Rapid”、HDDベースは“Normal”
● ユーザーはStorageClassを選んで自由なサイズの
PVを作ることができる
○ Access Modeはバックエンドストレージが対応している
ものでないと失敗するので注意
♪♪
● ユーザーの要求(サイズ)に合うPVが無い場合
は、PVを割り当てられない
● ストレージ管理者はあらかじめ PVを作るにして
も、ユーザーがどんなサイズの PVを要求するの
か予想できない
● 結局、ユーザーはPVが必要になる都度、スト
レージ管理者にPV作成の依頼をして待つという
プロセスになりがち
12
Static Provisioningの難点
20GB
10GB
10GB
10GB
ストレージ管理者ユーザー
10GB
10GB
10GB
20GBのPVないの?
うん、もう10GBしかない
20GBが要るのよ、作ってよ
いいよ、可用性は?IOPSは?
バックアップどうする?...
×
20GBは無いので
割り当てられない
もういいでしょ?早く作ってよ
OK、ベンダーに依頼するから1
週間くらい待ってね
・・・
・・・
- 20GB
- RWO
13
OpenShiftでサポートするPersistent Volume Plug-in (V3.10時点)
VOLUME PLUGIN ReadWriteOnce ReadOnlyMany ReadWriteMany Dynamic Provisioning
AWS EBS √ - - √
Azure File √ √ √ √
Azure Disk √ - - √
Ceph RBD √ √ - √
Fibre Channel √ √ - -
GCE Persistent Disk √ - - √
GlusterFS √ √ √ √
HostPath √ - - -
iSCSI √ √ - -
NFS √ √ √ (NetApp Trident)
OpenStack Cinder √ - - √
VMware vSphere √ - - √
Local √ - - -
https://docs.openshift.com/container-platform/3.10/architecture/additional_concepts/storage.html#persistent-volumes
https://docs.openshift.com/container-platform/3.10/install_config/persistent_storage/dynamically_provisioning_pvs.htm
OpenShift Container Storage
15
プラットフォームを問わないConsistent Storage
BARE METAL VIRTUAL
MACHINES
CONTAINERS PUBLIC CLOUD
RED HAT OPENSHIFT CONTAINER STORAGE
● Consistent consumption, management, operations
● Flexibility to extend across cloud, Stretch, Separate Cluster
LEGACY
STORAGE
AWS, AZURE, GCP
● OpenShift Container Platformで利用するストレージ
● OCS : Converged Mode
○ OpenShift環境の中で稼働
○ SDSがOpenShift Podとして稼働し、ストレージ機能を提供
○ 旧称 Container Native Storage(CNS)
● OCS : Independent Mode
○ OpenShift環境の外で稼働する
○ SDSが外部で稼働し、OpenShift向けにストレージ機能を提供
○ 旧称 Container Ready Storage(CRS)
16
OpenShift Container Storage (OCS) OCP 3.10から
Rebrand
● スケールアウト型分散ファイルシステム
● 複数のノードのディレクトリ (Brick)を束ねてクライアン
トにファイルシステムを提供
● Brick間でファイルをReplicateしたり、Erasure Coding
を利用して分割したりして冗長性を担保
 
● Native Protocol(fuse), NFS, CIFS/SMBに対応
17
GlusterベースのOCS
/brick1 /brick2 /brick3
STORAGE
NODE1
STORAGE
NODE2
STORAGE
NODE3
/vol01
Clients
mount -t glusterfs node1:/vol01 /mnt
/brick4
STORAGE
NODE4
OPENSHIFT NODE 4
RHGS Pod
● OCP環境内でストレージソフトウェアがクラスターを構成し、
Persistent Volume機能を提供する
● ストレージソフトウェアがコンテナ (Pod)として稼働、
“Hyper-Converged”な環境を実現
● Red Hat Gluster Storage(RHGS)がベース
○ 耐障害性 : 3-way repl または 2-way repl + arbiter
○ データ保全 : Snapshot, Geo-replication
● ユーザー、管理者とも OpenShift Web Console(GUI)からス
トレージのプロビジョニングおよび管理が可能
● 最小4ノードから
18
OCS : Converged Mode
OPENSHIFT NODE 1 OPENSHIFT NODE 2
RHGS Pod RHGS Pod
OPENSHIFT NODE 3
APP Pod APP Pod
MASTER
RHGS Pod
● 2 node はファイルの実体を複製して持ち、残りの 1 node はファイルのメタデータだけ持つ
→ 3-way replicaと比べて容量効率を高められる (約50%)
19
[参考] 2-way replication + arbiter volume とは
Arbiter volume
brick
2-way Replication
+ Arbiter volume
client
file
Metadata
Actual data
Metadata
Actual data
Metadata
20
[参考] 2-way replication + arbiter volume の具体例
# gluster volume create arbrepvol replica 3 arbiter 1 
server1:/bricks/data1 server2:/bricks/data1 server3:/bricks/arbiter1 
server2:/bricks/data2 server3:/bricks/data1 server4:/bricks/arbiter1 
server3:/bricks/data2 server4:/bricks/data1 server5:/bricks/arbiter1 
server4:/bricks/data2 server5:/bricks/data1 server6:/bricks/arbiter1 
server5:/bricks/data2 server6:/bricks/data1 server1:/bricks/arbiter1 
server6:/bricks/data2 server1:/bricks/data2 server2:/bricks/arbiter1
# gluster volume info arbrepvol
Volume Name: arbrepvol
Type: Distributed-Replicate
Volume ID: ed9fa4d5-37f1-49bb-83c3-925e90fab1bc
Status: Created
Snapshot Count: 0
Number of Bricks: 6 x (2 + 1) = 18
Transport-type: tcp
Bricks:
Brick1: server1:/bricks/data1
Brick2: server2:/bricks/data1
Brick3: server3:/bricks/arbiter (arbiter)
Brick1: server2:/bricks/data1
Brick2: server3:/bricks/data1
Brick3: server4:/bricks/arbiter1 (arbiter)
...
● OCSをデプロイすると2種類のPodがプロビジョ
ニングされる
○ Gluster
tagの付いたノード
○ Heketi
tagの付いたノードのいずれか 1ノード
● Gluster PodとHeketi PodはOCSデプロイ時に
作られるOCS専用のprojectに所属
21
OCS : Converged Modeを構成する2種類のPod
POD
RHGS
RHGS RHGSheketi
INFRA
GLUSTER
VOLUME
RHGS
● OCPノードにGluster Podがデプロイされる
○ 1ノードに1つのGluster Pod
○ Daemonsetでで稼働
● 各ノードのGluster Podはローカルドライブをマ
ウント
○ XFSでフォーマットされbrickを形成
● 複数のGluster Podでクラスターを構成し、
volumeを提供
○ 3-way replication, 2-way replication + arbiter
22
Gluster Pod (1/2)
3-way Replication
● Gluster Podはhost networkを利用
○ ノードのNICを直接Gluster Podにマップ
○ I/O性能を最大化する目的
● アプリとストレージが同一ネットワークを利
用
○ 広帯域のネットワークが望ましい
23
Gluster Pod (2/2)
● OpenShiftとGlusterのインターフェース
○ OpenShift <-> Heketi <-> Gluster
● Glusterとボリュームの構成管理
○ topology, volume, node/deviceの確認
○ gluster volume(=PV)の作成、削除、拡張
● REST API
○ OpenShift GUIまたはCLI(heketi-cli)から操作
○ heketiとGlusterの間はssh
● HeketiはPodとして稼働
○ OCSのdeploy時にいずれかのノードに配置
○ 自身で利用するDBをGluster上にPVを作成
&attachして保管
● heketiがダウンしてもGlusterには影響なし
○ PVは継続利用可能
24
Heketi
● OCP環境の外でGlusterがクラスターを構成し、
Persistent Volume機能を提供する
● ストレージソフトウェアの実装形態は不問
○ 物理/仮想サーバー、クラウド
○ 通常のRHGSとほぼ同じ形態
○ heketiはOCPノードにプロビジョン
● Red Hat Gluster Storage(RHGS)ベース
○ 耐障害性 : 3-way repl または 2-way repl + arbiter
○ データ保全 : Snapshot, Geo-replication
● OCP Dedicated
○ 基本的にOCPクラスタ専用のストレージとして利用
● 最小4ノードから
25
OCS : Independent Mode
OPENSHIFT NODE 1
APP Container
MASTER
OPENSHIFT NODE 2
APP Container
RHGS server 1
RHGS server 2
RHGS server 3
OPENSHIFT NODE 3
APP Container
RHGS server 4
26
2つのOCS利用パターン
POD
RHGS
RHGS
INFRA
GLUSTER
VOLUME
INFRA INFRA
RHGS RHGS
RHGS RHGS
● Application Nodeで利用
○ App PV
● Infrastructure Nodeで利用
○ Docker-Registry backend
○ Logging, MetricsのPV
● App用とInfra用とは別々に構成
○ 1つのクラスターを両方の用途で共有しな
い
27
[参考]OCS PVのマウント
● OCS PVは基本的にファイルシステム
○ OpenShiftノードとPodはPVをマウントすることになる
● ノードは gluster native protocol(fuse) で volume を mount
○ OpenShiftノードにはglusterfs-clientがインストールされる
● App Podはノードにマウントされたvolume を bind-mount
○ Pod自身にglusterfs-clientは必要ない
28
OCS Block Device
● OCS Block Deviceを提供する機能
○ iSCSI接続
○ Access ModeはRWOのみ
○ V3.6~
● Low latencyが必要なDB等で利用を想定
○ InfraのElasticSearch, Cassandraのbackend
● Gluster volume上でLoopbackファイルを作成
● Podにattachするとノード側でPVがXFS
format&mountされ、Podがbind-mountする
○ ノードにはiscsi-initiatorが必要
29
Glusterクラスターの拡張/縮小
● クラスターの拡張は無停止で実施可能
○ デバイス(HDD/SSD等)の追加
○ ノードの追加
● クラスターの縮小も無停止で実施可能
○ デバイスの除去
○ ノードの除去
○ デバイス除去する際に持っているファイルを別デバイスにコピー
30
利用可能なコピー機能
Snapshot
● Gluster volume(=PV)ごとに14個までsnapshot
を作成可能
○ App, Infra用途は問わない
● 制約
○ volume全体のリストア (“gluster snapshot
restore”)はnon-supported。“.snap”ディレクトリ
からファイル単位でリストア。
○ snapshot取得後にvolumeの拡張/縮小はNG。
Geo Replication
● 複数のGlusterクラスター間でvolumeを非同期
レプリケーション
● OCS:CM → general RHGSのレプリケーションは
テスト済み
○ OCS:CM to AWS RHGS など
● OCPのAdd-Onのようなポジション
○ OCP環境専用、OCS単体では利用できない
○ 60日の評価用サブスクリプションの SKUも存在
● Red Hat Gluster Storage とは別のプロダクト
○ RHGSには無い機能も独自実装されている (iSCSI接続等)
31
OCSのポジション
SKU SKU Description
RS00181 Red Hat OpenShift Container Storage, Premium (2 Core)
RS00182 Red Hat OpenShift Container Storage, Standard (2 Core)
SER0528 60 Day Evaluation of Red Hat OpenShift Container Storage, Standard (2 Core)
SER0514 60 Day Evaluation of Red Hat OpenShift Container Storage, Self-Supported (2 Core)

More Related Content

What's hot

PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例kazuhcurry
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...NTT DATA Technology & Innovation
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...VirtualTech Japan Inc.
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみようTakashi Kajinami
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング佑哉 廣岡
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)NTT DATA Technology & Innovation
 
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...Google Cloud Platform - Japan
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会ShuheiUda
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjugYahoo!デベロッパーネットワーク
 
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向についてYasunori Goto
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsshunki fujiwara
 

What's hot (20)

PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
JVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニングJVMのGCアルゴリズムとチューニング
JVMのGCアルゴリズムとチューニング
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
 
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
 
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
 
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
 

Similar to Red Hat OpenShift Container Storage

20180423 OpenStackユーザー会 SDS
20180423 OpenStackユーザー会 SDS20180423 OpenStackユーザー会 SDS
20180423 OpenStackユーザー会 SDSTakuya Utsunomiya
 
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)softlayerjp
 
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)chenree3
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usageirix_jp
 
How to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary StorageHow to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary StorageKimihiko Kitase
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
openstack+cephインテグレーション
openstack+cephインテグレーションopenstack+cephインテグレーション
openstack+cephインテグレーションOSSラボ株式会社
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShiftEtsuji Nakai
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2Dell TechCenter Japan
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overviewirix_jp
 
Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Etsuji Nakai
 
ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...
ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...
ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...VirtualTech Japan Inc.
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例maebashi
 
What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318Yuhki Hanada
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overviewirix_jp
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceShunsuke Kurumatani
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門irix_jp
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swiftirix_jp
 

Similar to Red Hat OpenShift Container Storage (20)

20180423 OpenStackユーザー会 SDS
20180423 OpenStackユーザー会 SDS20180423 OpenStackユーザー会 SDS
20180423 OpenStackユーザー会 SDS
 
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
 
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
How to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary StorageHow to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary Storage
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
openstack+cephインテグレーション
openstack+cephインテグレーションopenstack+cephインテグレーション
openstack+cephインテグレーション
 
141030ceph
141030ceph141030ceph
141030ceph
 
OpenStack概要
OpenStack概要OpenStack概要
OpenStack概要
 
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
OSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; OverviewOSC2012 Nagoya - OpenStack - Storage System; Overview
OSC2012 Nagoya - OpenStack - Storage System; Overview
 
Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429Gluster fs and_swiftapi_20120429
Gluster fs and_swiftapi_20120429
 
ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...
ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...
ソフトウェア・デファインドが再定義するストレージ -- OpenStackデファクト標準ストレージCeph - OpenStack最新情報セミナー 201...
 
Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例Dockerの仕組みとIIJ社内での利用例
Dockerの仕組みとIIJ社内での利用例
 
What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318What's new in open shift container platform 4.7 japan_20210318
What's new in open shift container platform 4.7 japan_20210318
 
OpenStack Object Storage; Overview
OpenStack Object Storage; OverviewOpenStack Object Storage; Overview
OpenStack Object Storage; Overview
 
Cloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a ServiceCloud Foundry: Open Platform as a Service
Cloud Foundry: Open Platform as a Service
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
 
CloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/SwiftCloudStack Ecosystem Day - OpenStack/Swift
CloudStack Ecosystem Day - OpenStack/Swift
 

Red Hat OpenShift Container Storage

  • 1. Red Hat OpenShift Container Storage Red Hat K.K.
  • 2. 2 Agenda ● OpenShift/Kubernetes の Persistent Storage ● OpenShift Container Storage
  • 4. 4 [参考]コンテナが利用されるユースケース Data Apps Cloud Apps Systems of Engagement Systems of Record Web and Commerce Software Mobile Apps Social Apps 77% 71% 62% 62% 57% 52% 46% ScalableでCost Effectiveなコンテナ用ストレージへのDemand Base: 194 IT operations and development decision-makers at enterprise in APAC, EMEA, and North America Source: A commissioned study conducted by Forrester Consulting on behalf of Red Hat, January 2015 “どのようなワークロード /アプリケーションでコンテナを利用している /しようと思っていますか? ”
  • 5. ● コンテナは本来“ephemeral” な性質 ● コンテナで稼働する多くのアプリケーションでは、データを永続的に保持するスト レージ、“Persistent Volume”が必要 5 コンテナ環境におけるストレージの基本 OS サーバー コンテナ MySQL ストレージ /var/lib/mysql コンテナは、持続的なストレー ジを持っていない なんらかの理由でコンテナが 起動、停止しても外部のスト レージは利用可能であり続け る。
  • 6. ● Kubernetesのpluginを利用して様々なバッ クエンドストレージを PVとして利用 ● 3種類のAccess Mode ○ Read Write Once (RWO)  1つのPodで専有、Read/Write可能 ○ Read Only Many (ROX)  複数のPodで共有可能、Read Only ○ Read Write Many (RWX)  複数のPodで共有可能、Read/Write可能 ○ バックエンドストレージによって利用で きるAccess Modeが異なる 6 Persistent Volume (PV)
  • 7. ● ユーザー自身がPVを必要なときに要求 できる ○ Kubernetesが提供するセルフサー ビスの仕組み ● Persistent Volume Claim (PVC)を作成 ○ PVCでは以下の情報を指定 ■ サイズ ■ Access Mode ■ Path ■ Storage Class(Dynamic Provisioningのみ) 7 Persistent Volume Claim (PVC) 20GB 1. ユーザがPVをリクエスト (PVCの作成) ストレージ 3. Appにattach App 2. PV提供
  • 8. 8 Storage Type Description Example Block ● Presented to the operating system (OS) as a block device ● Suitable for applications that need full control of storage and operate at a low level on files bypassing the file system ● Also referred to as a Storage Area Network (SAN) ● Non-shareable, which means that only one client at a time can mount an endpoint of this type converged mode/independent mode GlusterFS iSCSI, Fibre Channel, Ceph RBD, OpenStack Cinder, AWS EBS [1], Dell/EMC Scale.IO, VMware vSphere Volume, GCE Persistent Disk [1], Azure Disk File ● Presented to the OS as a file system export to be mounted ● Also referred to as Network Attached Storage (NAS) ● Concurrency, latency, file locking mechanisms, and other capabilities vary widely between protocols, implementations, vendors, and scales. converged mode/independent mode GlusterFS, RHEL NFS, NetApp NFS , Azure File, Vendor NFS, Vendor GlusterFS, Azure File, AWS EFS Object ● Accessible through a REST API endpoint ● Configurable for use in the OpenShift Container Platform Registry ● Applications must build their drivers into the application and/or container. converged mode/independent mode GlusterFS, Ceph Object Storage (RADOS Gateway), OpenStack Swift, Aliyun OSS, AWS S3, Google Cloud Storage, Azure Blob Storage, Vendor S3, Vendor Swift Persistent Volume のタイプ https://docs.openshift.com/container-platform/3.10/scaling_performance/optimizing_storage.html#general-storage-guidelines
  • 9. 9 Persistent Storage タイプの Recommendation Storage type ROX RWX Registry Scaled registry Metrics Logging Apps Block Yes No Configurable Not configurable Recommended Recommended Recommended File Yes Yes Configurable Configurable Configurable Configurable Recommended Object Yes Yes Recommended Recommended Not configurable Not configurable Not configurable https://docs.openshift.com/container-platform/3.10/scaling_performance/optimizing_storage.html#back-end-recommendations
  • 10. ● Static Provisioning ○ あらかじめストレージ管理者がボリュームを 作りPVとして登録しておく ○ 条件に合うPVがあれば提供する 10 Persistent Volume のプロビジョニングスタイル ● Dynamic Provisioning ○ 要求に応じてon-demandにボリュームを作り 直接PVとして提供する ○ StorageClassによるカタログ化 20GB 10GB 10GB 10GB 20GB 20GB 20GB PVを登録して おく ストレージ管理者ユーザー - 20GB - RWO 20GB StorageClass Rapid StorageClass Normal StorageClass の定義 ストレージ管理者ユーザー Provision Create & Provision - 20GB - RWO - 速いClass
  • 11. 11 Dynamic Provisioningの利点 20GB 20GB StorageClass Rapid StorageClass Normal StorageClass の定義 ストレージ管理者ユーザー Create & Provision - 20GB - RWO - 速いClass ● ユーザーのPVCに応じてPVが自動的に作られる ○ ストレージ管理者があらかじめPVを用意する必要なし ● ストレージ管理者はバックエンドストレージに紐づい たStorageClassを定義しておく ○ 例)Flashベースは“Rapid”、HDDベースは“Normal” ● ユーザーはStorageClassを選んで自由なサイズの PVを作ることができる ○ Access Modeはバックエンドストレージが対応している ものでないと失敗するので注意 ♪♪
  • 12. ● ユーザーの要求(サイズ)に合うPVが無い場合 は、PVを割り当てられない ● ストレージ管理者はあらかじめ PVを作るにして も、ユーザーがどんなサイズの PVを要求するの か予想できない ● 結局、ユーザーはPVが必要になる都度、スト レージ管理者にPV作成の依頼をして待つという プロセスになりがち 12 Static Provisioningの難点 20GB 10GB 10GB 10GB ストレージ管理者ユーザー 10GB 10GB 10GB 20GBのPVないの? うん、もう10GBしかない 20GBが要るのよ、作ってよ いいよ、可用性は?IOPSは? バックアップどうする?... × 20GBは無いので 割り当てられない もういいでしょ?早く作ってよ OK、ベンダーに依頼するから1 週間くらい待ってね ・・・ ・・・ - 20GB - RWO
  • 13. 13 OpenShiftでサポートするPersistent Volume Plug-in (V3.10時点) VOLUME PLUGIN ReadWriteOnce ReadOnlyMany ReadWriteMany Dynamic Provisioning AWS EBS √ - - √ Azure File √ √ √ √ Azure Disk √ - - √ Ceph RBD √ √ - √ Fibre Channel √ √ - - GCE Persistent Disk √ - - √ GlusterFS √ √ √ √ HostPath √ - - - iSCSI √ √ - - NFS √ √ √ (NetApp Trident) OpenStack Cinder √ - - √ VMware vSphere √ - - √ Local √ - - - https://docs.openshift.com/container-platform/3.10/architecture/additional_concepts/storage.html#persistent-volumes https://docs.openshift.com/container-platform/3.10/install_config/persistent_storage/dynamically_provisioning_pvs.htm
  • 15. 15 プラットフォームを問わないConsistent Storage BARE METAL VIRTUAL MACHINES CONTAINERS PUBLIC CLOUD RED HAT OPENSHIFT CONTAINER STORAGE ● Consistent consumption, management, operations ● Flexibility to extend across cloud, Stretch, Separate Cluster LEGACY STORAGE AWS, AZURE, GCP
  • 16. ● OpenShift Container Platformで利用するストレージ ● OCS : Converged Mode ○ OpenShift環境の中で稼働 ○ SDSがOpenShift Podとして稼働し、ストレージ機能を提供 ○ 旧称 Container Native Storage(CNS) ● OCS : Independent Mode ○ OpenShift環境の外で稼働する ○ SDSが外部で稼働し、OpenShift向けにストレージ機能を提供 ○ 旧称 Container Ready Storage(CRS) 16 OpenShift Container Storage (OCS) OCP 3.10から Rebrand
  • 17. ● スケールアウト型分散ファイルシステム ● 複数のノードのディレクトリ (Brick)を束ねてクライアン トにファイルシステムを提供 ● Brick間でファイルをReplicateしたり、Erasure Coding を利用して分割したりして冗長性を担保   ● Native Protocol(fuse), NFS, CIFS/SMBに対応 17 GlusterベースのOCS /brick1 /brick2 /brick3 STORAGE NODE1 STORAGE NODE2 STORAGE NODE3 /vol01 Clients mount -t glusterfs node1:/vol01 /mnt /brick4 STORAGE NODE4
  • 18. OPENSHIFT NODE 4 RHGS Pod ● OCP環境内でストレージソフトウェアがクラスターを構成し、 Persistent Volume機能を提供する ● ストレージソフトウェアがコンテナ (Pod)として稼働、 “Hyper-Converged”な環境を実現 ● Red Hat Gluster Storage(RHGS)がベース ○ 耐障害性 : 3-way repl または 2-way repl + arbiter ○ データ保全 : Snapshot, Geo-replication ● ユーザー、管理者とも OpenShift Web Console(GUI)からス トレージのプロビジョニングおよび管理が可能 ● 最小4ノードから 18 OCS : Converged Mode OPENSHIFT NODE 1 OPENSHIFT NODE 2 RHGS Pod RHGS Pod OPENSHIFT NODE 3 APP Pod APP Pod MASTER RHGS Pod
  • 19. ● 2 node はファイルの実体を複製して持ち、残りの 1 node はファイルのメタデータだけ持つ → 3-way replicaと比べて容量効率を高められる (約50%) 19 [参考] 2-way replication + arbiter volume とは Arbiter volume brick 2-way Replication + Arbiter volume client file Metadata Actual data Metadata Actual data Metadata
  • 20. 20 [参考] 2-way replication + arbiter volume の具体例 # gluster volume create arbrepvol replica 3 arbiter 1 server1:/bricks/data1 server2:/bricks/data1 server3:/bricks/arbiter1 server2:/bricks/data2 server3:/bricks/data1 server4:/bricks/arbiter1 server3:/bricks/data2 server4:/bricks/data1 server5:/bricks/arbiter1 server4:/bricks/data2 server5:/bricks/data1 server6:/bricks/arbiter1 server5:/bricks/data2 server6:/bricks/data1 server1:/bricks/arbiter1 server6:/bricks/data2 server1:/bricks/data2 server2:/bricks/arbiter1 # gluster volume info arbrepvol Volume Name: arbrepvol Type: Distributed-Replicate Volume ID: ed9fa4d5-37f1-49bb-83c3-925e90fab1bc Status: Created Snapshot Count: 0 Number of Bricks: 6 x (2 + 1) = 18 Transport-type: tcp Bricks: Brick1: server1:/bricks/data1 Brick2: server2:/bricks/data1 Brick3: server3:/bricks/arbiter (arbiter) Brick1: server2:/bricks/data1 Brick2: server3:/bricks/data1 Brick3: server4:/bricks/arbiter1 (arbiter) ...
  • 21. ● OCSをデプロイすると2種類のPodがプロビジョ ニングされる ○ Gluster tagの付いたノード ○ Heketi tagの付いたノードのいずれか 1ノード ● Gluster PodとHeketi PodはOCSデプロイ時に 作られるOCS専用のprojectに所属 21 OCS : Converged Modeを構成する2種類のPod POD RHGS RHGS RHGSheketi INFRA GLUSTER VOLUME RHGS
  • 22. ● OCPノードにGluster Podがデプロイされる ○ 1ノードに1つのGluster Pod ○ Daemonsetでで稼働 ● 各ノードのGluster Podはローカルドライブをマ ウント ○ XFSでフォーマットされbrickを形成 ● 複数のGluster Podでクラスターを構成し、 volumeを提供 ○ 3-way replication, 2-way replication + arbiter 22 Gluster Pod (1/2) 3-way Replication
  • 23. ● Gluster Podはhost networkを利用 ○ ノードのNICを直接Gluster Podにマップ ○ I/O性能を最大化する目的 ● アプリとストレージが同一ネットワークを利 用 ○ 広帯域のネットワークが望ましい 23 Gluster Pod (2/2)
  • 24. ● OpenShiftとGlusterのインターフェース ○ OpenShift <-> Heketi <-> Gluster ● Glusterとボリュームの構成管理 ○ topology, volume, node/deviceの確認 ○ gluster volume(=PV)の作成、削除、拡張 ● REST API ○ OpenShift GUIまたはCLI(heketi-cli)から操作 ○ heketiとGlusterの間はssh ● HeketiはPodとして稼働 ○ OCSのdeploy時にいずれかのノードに配置 ○ 自身で利用するDBをGluster上にPVを作成 &attachして保管 ● heketiがダウンしてもGlusterには影響なし ○ PVは継続利用可能 24 Heketi
  • 25. ● OCP環境の外でGlusterがクラスターを構成し、 Persistent Volume機能を提供する ● ストレージソフトウェアの実装形態は不問 ○ 物理/仮想サーバー、クラウド ○ 通常のRHGSとほぼ同じ形態 ○ heketiはOCPノードにプロビジョン ● Red Hat Gluster Storage(RHGS)ベース ○ 耐障害性 : 3-way repl または 2-way repl + arbiter ○ データ保全 : Snapshot, Geo-replication ● OCP Dedicated ○ 基本的にOCPクラスタ専用のストレージとして利用 ● 最小4ノードから 25 OCS : Independent Mode OPENSHIFT NODE 1 APP Container MASTER OPENSHIFT NODE 2 APP Container RHGS server 1 RHGS server 2 RHGS server 3 OPENSHIFT NODE 3 APP Container RHGS server 4
  • 26. 26 2つのOCS利用パターン POD RHGS RHGS INFRA GLUSTER VOLUME INFRA INFRA RHGS RHGS RHGS RHGS ● Application Nodeで利用 ○ App PV ● Infrastructure Nodeで利用 ○ Docker-Registry backend ○ Logging, MetricsのPV ● App用とInfra用とは別々に構成 ○ 1つのクラスターを両方の用途で共有しな い
  • 27. 27 [参考]OCS PVのマウント ● OCS PVは基本的にファイルシステム ○ OpenShiftノードとPodはPVをマウントすることになる ● ノードは gluster native protocol(fuse) で volume を mount ○ OpenShiftノードにはglusterfs-clientがインストールされる ● App Podはノードにマウントされたvolume を bind-mount ○ Pod自身にglusterfs-clientは必要ない
  • 28. 28 OCS Block Device ● OCS Block Deviceを提供する機能 ○ iSCSI接続 ○ Access ModeはRWOのみ ○ V3.6~ ● Low latencyが必要なDB等で利用を想定 ○ InfraのElasticSearch, Cassandraのbackend ● Gluster volume上でLoopbackファイルを作成 ● Podにattachするとノード側でPVがXFS format&mountされ、Podがbind-mountする ○ ノードにはiscsi-initiatorが必要
  • 29. 29 Glusterクラスターの拡張/縮小 ● クラスターの拡張は無停止で実施可能 ○ デバイス(HDD/SSD等)の追加 ○ ノードの追加 ● クラスターの縮小も無停止で実施可能 ○ デバイスの除去 ○ ノードの除去 ○ デバイス除去する際に持っているファイルを別デバイスにコピー
  • 30. 30 利用可能なコピー機能 Snapshot ● Gluster volume(=PV)ごとに14個までsnapshot を作成可能 ○ App, Infra用途は問わない ● 制約 ○ volume全体のリストア (“gluster snapshot restore”)はnon-supported。“.snap”ディレクトリ からファイル単位でリストア。 ○ snapshot取得後にvolumeの拡張/縮小はNG。 Geo Replication ● 複数のGlusterクラスター間でvolumeを非同期 レプリケーション ● OCS:CM → general RHGSのレプリケーションは テスト済み ○ OCS:CM to AWS RHGS など
  • 31. ● OCPのAdd-Onのようなポジション ○ OCP環境専用、OCS単体では利用できない ○ 60日の評価用サブスクリプションの SKUも存在 ● Red Hat Gluster Storage とは別のプロダクト ○ RHGSには無い機能も独自実装されている (iSCSI接続等) 31 OCSのポジション SKU SKU Description RS00181 Red Hat OpenShift Container Storage, Premium (2 Core) RS00182 Red Hat OpenShift Container Storage, Standard (2 Core) SER0528 60 Day Evaluation of Red Hat OpenShift Container Storage, Standard (2 Core) SER0514 60 Day Evaluation of Red Hat OpenShift Container Storage, Self-Supported (2 Core)