SlideShare a Scribd company logo
Ceph Storage on SSD for Container
JANGSEON RYU
NAVER
• What is Container?
• Persistent Storage
• What is Ceph Storage?
• Write Process in Ceph
• Performance Test
Agenda
What is Container ?
What is Container?
• VM vs Container
• OS Level Virtualization
• Performance
• Run Everywhere – Portable
• Scalable – lightweight
• Environment Consistency
• Easy to manage Image
• Easy to deploy
Docker Container Virtual Machine
Reference : https://www.docker.com/what-container
What is Docker Container?
• VM vs Container
• OS Level Virtualization
• Performance
• Run Everywhere – Portable
• Scalable – lightweight
• Environment Consistency
• Easy to manage Image
• Easy to deploy
namespace
cgroup
isolation
resource
limiting
CPU MEM DISK NWT
Reference : https://www.slideshare.net/PhilEstes/docker-london-container-security
What is Docker Container?
• VM vs Container
• OS Level Virtualization
• Performance
• Run Everywhere – Portable
• Scalable – lightweight
• Environment Consistency
• Easy to manage Image
• Easy to deploy
Reference : https://www.theregister.co.uk/2014/08/18/docker_kicks_kvms_butt_in_ibm_tests/
What is Docker Container?
• VM vs Container
• OS Level Virtualization
• Performance
• Run Everywhere – Portable
• Scalable – lightweight
• Environment Consistency
• Easy to manage Image
• Easy to deploy
Reference : https://www.ibm.com/blogs/bluemix/2015/08/c-ports-docker-containers-across-multiple-clouds-datacenters/
PM / VM / Cloud
What is Docker Container?
• VM vs Container
• OS Level Virtualization
• Performance
• Run Everywhere – Portable
• Scalable – lightweight
• Environment Consistency
• Easy to manage Image
• Easy to deploy
App A
Libs
Original Image
A’
Changed Image Deployment
A’App A
Libs
change update
What is Docker Container?
• VM vs Container
• OS Level Virtualization
• Performance
• Run Everywhere – Portable
• Scalable – lightweight
• Environment Consistency
• Easy to manage Image
• Easy to deploy
Reference : http://www.devopsschool.com/slides/docker/docker-web-development/index.html#/17
What is Docker Container?
• VM vs Container
• OS Level Virtualization
• Performance
• Run Everywhere – Portable
• Scalable – lightweight
• Environment Consistency
• Easy to manage Image
• Easy to deploy
Reference : https://www.slideshare.net/insideHPC/docker-for-hpc-in-a-nutshell
Persistent Storage
Stateless vs Stateful Container
• Nothing to write on disk
• Web (Front-end)
• Easy to scale in/out
• Container is ephemeral
• If delete, will be lost data
Stateless
…
Easy to scale out
• Needs storage to write
• Database
• Logs
• CI config / repo data
• Secret Keys
Stateful
Hard to scale out
…
Ephemeral vs Persistent
Ephemeral Storage
• Data Lost
• Local Storage
• Stateless Container
Persistent Storage
• Data Save
• Network Storage
• Stateful Container
VS
Reference : https://www.infoworld.com/article/3106416/cloud-computing/containerizing-stateful-applications.html
Needs for Persistent Storage
Our mission is to provide “Persistence Storage Service”
while maintaining “Agility” & “Automation” of Docker Container
macvlan
IPVS IPVS
vrrp
Docker swarm cluster
ECMP enabled
BGP/ECMP
internet
consul
consul consul
Dynamic DNS
AA
MON MON MON OSD
OSD OSD OSD OSD
OSD OSD OSD OSD
OSD OSD OSD OSD
OSD OSD OSD OSD
KEYSTONE
CINDER
Manage Volume
PLUGIN
Get Auth-Token
Request
Attach Volume
/dev/rbd0
PLUGIN
DEVIEW 2016 : https://www.slideshare.net/deview/221-docker-orchestration
OpenStack 2017 : https://www.slideshare.net/JangseonRyu/on-demandblockstoragefordocker-77895159
OSD
Container in NAVER
What is Ceph Storage?
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
Vender
NO Lock-in
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
Up-to 16 Exa
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
Reference : https://en.wikipedia.org/wiki/Ceph_(software)
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
Low TCO
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
KVM integrated
with RBD
Supported	above	
kernel	2.6
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
Client Metadata
query
Storage
Storage
Storage
Write
Traditional
Ceph
Client
Storage
CRUSH
Metadata
Storage
Metadata
Storage
Metadata
Storage
Metadata
Storage
Metadata
Storage
Metadata
bottle
neck
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
• Very high durability
• 200 % overhead
• Quick recovery
• Cost-Effective
• 50 % overhead
• Expensive Recovery
Object
COPY
COPY COPY
Replicated Pool
Object
Erasure Coded Pool
1 2 3 4 X Y
What is Ceph Storage?
• Open Source Distributed Storage Solution
• Massive Scalable / Efficient Scale-Out
• Unified Storage
• Runs on commodity hardware
• Integrations into Linux Kernel
/ QEMU/KVM Driver / OpenStack
• Self-managing / Self-healing
• Peer-to-Peer Storage Nodes
• RESTful API
• No metadata bottleneck (no lookup)
• CRUSH algorithm determines data placement
• Replicated / Erasure Coding
• Architecture
Public Network
Cluster Network
OSD Node OSD Node OSD NodeOSD Node
MonitorMonitorMonitor
Client
P
S
T
Write Process in Ceph
◼ Strong Consistency
◼ CAP Theorem : CP system
(Consistency / network Partition)
Client
Primary OSD
Secondary OSD Tertiary OSD
①
② ②
③ ③
④
Write Flow
② Primary OSD sends data to replica OSDs,
write data to local disk.
④ Primary OSD signals completion to client.
③ Replica OSDs write data to local disk,
signal completion to primary.
① Client writes data to primary osd.
◼ All of Data Disks are SATA.
◼ 7.2k rpm SATA : ~ 75 ~ 100 IOPS
① Client writes data to primary osd.
② Primary OSD sends data to replica OSDs,
write data to local disk.
③’ Write data to local disk,
Send ack to primary.
③’’ Slow write data to local disk,
Send ack to primary.
④ Slow send ack to client.
Client
Primary OSD
Secondary OSD Tertiary OSD
①
② ②
③’ ③’’
④
SATA
High Disk Usage
Slow Requests
Client
Primary OSD
①
② ②
③ ③
④
Journal FileStore
Secondary OSD
Journal FileStore
Tertiary OSD
Journal FileStore
Primary OSD
Journal
SSD
O_DIRECT
O_DSYNC
FileStore
SATA
Buffered IOs
XFS
Journal on SSD
Performance Test
Network
Switch (10G)
Clients
Ceph
Public Networks Cluster Networks
KRBD
- /dev/rbd0
- mkfs / mount
- fio
Ceph
- FileStore
- Luminous (12.2.0)
Server
- Intel® Xeon CPU L5640 2.27 GHz
- 16 GB Memory
- 480GB SAS 10K x 5
- 480GB SAS SSD x 1
- Centos 7
Test Environment
Expect Result : 4K Rand Write
SAS
SAS
SAS
SAS
SAS
SAS
SAS
SAS
SAS
SAS : 10,000 rpm / 600 IOPS
Per Node : SAS * 3 = 600 * 3 = 1,800 IOPS
Total : Node * 3 = 1,800 * 3 = 5,400 IOPS
Replicas 3 = 5,400 / 3 = 1,800 IOPS
600
1800
2094
34.36
0
500
1000
1500
2000
2500
IOPS Latency
No	SSD	for	Journal
2094 IOPS/s
Case #1. Only Use SAS DISK
Expect
SAS
SAS
SAS
SSD : 15,000 IOPS
Total : Node * 3 = 15,000* 3 = 45,000 IOPS
Replicas 3 = 45,000 / 3 = 15,000 IOPS
SSD
600
15k
SAS
SAS
SAS
SSD
SAS
SAS
SAS
SSD
2094 à 2273
2273
31.65
0
500
1000
1500
2000
2500
IOPS Latency
SSD	for	Journal
Case #2. Use SSD for Journal
Result : 4K Rand Write
# ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | grep queue_max
…
"filestore_queue_max_bytes": " 104857600",
"filestore_queue_max_ops": ”50", ß default value
…
Client
FileStore Queue
SAS
# ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok perf dump | grep -A 15 throttle-filestore_ops
"throttle-filestore_ops": {
"val": 50, ß limitation
"max": 50,
…
Block IO
Flush
50
Analysis
Tuning Result
filestore_queue_max_ops = 500000
filestore_queue_max_bytes = 42949672960
journal_max_write_bytes = 42949672960
journal_max_write_entries = 5000000
2094 à 2899 (38%)
2899
174.76
0
500
1000
1500
2000
2500
3000
3500
IOPS Latency
Tuning	QueueMax
Case #3. Tuning FileStore
# ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | grep wbthrottle_xfs
"filestore_wbthrottle_xfs_bytes_hard_limit": "419430400",
"filestore_wbthrottle_xfs_bytes_start_flusher": "41943040",
"filestore_wbthrottle_xfs_inodes_hard_limit": "5000",
"filestore_wbthrottle_xfs_inodes_start_flusher": "500",
”filestore_wbthrottle_xfs_ios_hard_limit": "5000",
"filestore_wbthrottle_xfs_ios_start_flusher": "500",
#	ceph --admin-daemon	/var/run/ceph/ceph-osd.2.asok	perf dump	|	grep -A6	WBThrottle
"WBThrottle":	{								
"bytes_dirtied":	21049344,
"bytes_wb":	197390336,
"ios_dirtied":	5017,				ß limitation
"ios_wb":	40920,
"inodes_dirtied":	1195,
"inodes_wb":	20602
Client
FileStore Queue
SAS
Block IO
Flush
500,000
Analysis
Tuning Result
"filestore_wbthrottle_enable": "false",
or
"filestore_wbthrottle_xfs_bytes_hard_limit": "4194304000",
"filestore_wbthrottle_xfs_bytes_start_flusher": "419430400",
"filestore_wbthrottle_xfs_inodes_hard_limit": "500000",
"filestore_wbthrottle_xfs_inodes_start_flusher": "5000",
"filestore_wbthrottle_xfs_ios_hard_limit": "500000",
"filestore_wbthrottle_xfs_ios_start_flusher": "5000",
2,094 à 14,264 (x7)
14264
40.65
0
2000
4000
6000
8000
10000
12000
14000
16000
IOPS Latency
Tuning	WBThrottle
Case #4. Tuning WBThrottle
After	35	secs,	Performance	(IPOS)	drops	below	100	~	200	IOPS…
Client
SAS
Block IO
Flush
OSD
Journal
FileStore
SSD
O_DIRECT
O_DSYNC
Buffered IOs
Page Cache
vm.dirty_background_ratio :	10%
vm.dirty_ratio :	20%
vm.dirty_ratio :	50%
Analysis
Client OSD
Enable
Throttle
2,000 IOPS
Client OSD
SAS
Disable
Throttle
SSD
15,000 IOPS
Bottleneck
SAS
SSD
• Slow performance
• No effect with SSD
• Fast performance
• Danger using
High Page Cache
• Crash Ceph Storage
Problems of Throttle
Client OSD
SAS
Dynamic
Throttle
SSD
• Burst (~ 60 secs)
• Throttle From 80%
15,000 IOPS
500 IOPS
filestore_queue_max_ops
filestore_queue_max_bytes
filestore_expected_throughput_ops
filestore_expected_throughput_bytes
filestore_queue_low_threshhold
filestore_queue_high_threshhold
filestore_queue_high_delay_multiple
filestore_queue_max_delay_multiple
Reference : http://blog.wjin.org/posts/ceph-dynamic-throttle.html
r	=	current_op /	max_ops
high_delay_per_count =	high_multiple /	expected_throughput_ops
max_delay_per_count =	max_multiple /	expected_throughput_ops
s0	=	high_delay_per_count /	(high_threshhold - low_threshhold)	
s1	=	(max_delay_per_count - high_delay_per_count)	/	(1	-
high_threshhold)
if	r	<	low_threshhold:	
delay	=	0	
elif r	<	high_threshhold:	
delay	=	(r	- low_threshhold)	*	s0	
else:	
delay	=	high_delay_per_count +	((r	- high_threshhold)	*	s1)	
Dynamic Throttle
◼ High performance improvements with SSD : 2,094 à 14,264 (x7)
◼ Must need Throttling for stable storage operation : Dynamic Throttle
◼ Need to tune OS(page cache, io scheduler), Ceph config
Conculsion
QnA

More Related Content

What's hot

[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
Nuxeo
 
Mesos swam-kubernetes-vds-02062017
Mesos swam-kubernetes-vds-02062017Mesos swam-kubernetes-vds-02062017
Mesos swam-kubernetes-vds-02062017
Christophe Furmaniak
 
douban happyday docker for daeqaci
douban happyday docker for daeqacidouban happyday docker for daeqaci
douban happyday docker for daeqaci
Tianwei Liu
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Arun Gupta
 
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker, Inc.
 
AF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashAF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on Flash
Ceph Community
 
Ceph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To EnterpriseCeph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To Enterprise
Alex Lau
 
iSCSI Target Support for Ceph
iSCSI Target Support for Ceph iSCSI Target Support for Ceph
iSCSI Target Support for Ceph
Ceph Community
 
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Community
 
Disk health prediction for Ceph
Disk health prediction for CephDisk health prediction for Ceph
Disk health prediction for Ceph
Ceph Community
 
ceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-short
NAVER D2
 
Ceph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance BarriersCeph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance Barriers
Ceph Community
 
Stabilizing Ceph
Stabilizing CephStabilizing Ceph
Stabilizing Ceph
Ceph Community
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Danielle Womboldt
 
Ceph on arm64 upload
Ceph on arm64   uploadCeph on arm64   upload
Ceph on arm64 upload
Ceph Community
 
Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network 09...
Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network  09...Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network  09...
Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network 09...Cary Hayward
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference Architecture
Patrick McGarry
 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Community
 
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Patrick McGarry
 
2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on Ceph2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on Ceph
Ceph Community
 

What's hot (20)

[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
 
Mesos swam-kubernetes-vds-02062017
Mesos swam-kubernetes-vds-02062017Mesos swam-kubernetes-vds-02062017
Mesos swam-kubernetes-vds-02062017
 
douban happyday docker for daeqaci
douban happyday docker for daeqacidouban happyday docker for daeqaci
douban happyday docker for daeqaci
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
 
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
Docker at Shopify: From This-Looks-Fun to Production by Simon Eskildsen (Shop...
 
AF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on FlashAF Ceph: Ceph Performance Analysis and Improvement on Flash
AF Ceph: Ceph Performance Analysis and Improvement on Flash
 
Ceph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To EnterpriseCeph Day Bring Ceph To Enterprise
Ceph Day Bring Ceph To Enterprise
 
iSCSI Target Support for Ceph
iSCSI Target Support for Ceph iSCSI Target Support for Ceph
iSCSI Target Support for Ceph
 
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph
 
Disk health prediction for Ceph
Disk health prediction for CephDisk health prediction for Ceph
Disk health prediction for Ceph
 
ceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-short
 
Ceph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance BarriersCeph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance Barriers
 
Stabilizing Ceph
Stabilizing CephStabilizing Ceph
Stabilizing Ceph
 
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA ArchitectureCeph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
 
Ceph on arm64 upload
Ceph on arm64   uploadCeph on arm64   upload
Ceph on arm64 upload
 
Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network 09...
Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network  09...Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network  09...
Power of Open SDN- The Vendor Neutral Approach to Optimizing Your Network 09...
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference Architecture
 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
 
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
 
2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on Ceph2016-JAN-28 -- High Performance Production Databases on Ceph
2016-JAN-28 -- High Performance Production Databases on Ceph
 

Similar to NAVER Ceph Storage on ssd for Container

Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
DoKC
 
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
DoKC
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
Ed Balduf
 
End of RAID as we know it with Ceph Replication
End of RAID as we know it with Ceph ReplicationEnd of RAID as we know it with Ceph Replication
End of RAID as we know it with Ceph Replication
Ceph Community
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Tesora
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
David Newman
 
Leveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application PerformanceLeveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application Performance
NetApp
 
Lessons learned from running Spark on Docker
Lessons learned from running Spark on DockerLessons learned from running Spark on Docker
Lessons learned from running Spark on Docker
DataWorks Summit
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
OpenEBS
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
What is coming for VMware vSphere?
What is coming for VMware vSphere?What is coming for VMware vSphere?
What is coming for VMware vSphere?
Duncan Epping
 
Open vStorage Road show 2015 Q1
Open vStorage Road show 2015 Q1Open vStorage Road show 2015 Q1
Open vStorage Road show 2015 Q1
wim_provoost
 
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Cloud Native Day Tel Aviv
 
Laying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesLaying OpenStack Cinder Block Services
Laying OpenStack Cinder Block Services
Kenneth Hui
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Community
 
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld
 
Open vStorage Meetup - Santa Clara 04/16
Open vStorage Meetup -  Santa Clara 04/16Open vStorage Meetup -  Santa Clara 04/16
Open vStorage Meetup - Santa Clara 04/16
wim_provoost
 
Whats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and StorageWhats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and Storage
John Moran
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
sabnees
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
Alessandro Pilotti
 

Similar to NAVER Ceph Storage on ssd for Container (20)

Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
 
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
Disaggregated Container Attached Storage - Yet Another Topology with What Pur...
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
End of RAID as we know it with Ceph Replication
End of RAID as we know it with Ceph ReplicationEnd of RAID as we know it with Ceph Replication
End of RAID as we know it with Ceph Replication
 
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
Percona Live 4/14/15: Leveraging open stack cinder for peak application perfo...
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
Leveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application PerformanceLeveraging OpenStack Cinder for Peak Application Performance
Leveraging OpenStack Cinder for Peak Application Performance
 
Lessons learned from running Spark on Docker
Lessons learned from running Spark on DockerLessons learned from running Spark on Docker
Lessons learned from running Spark on Docker
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
What is coming for VMware vSphere?
What is coming for VMware vSphere?What is coming for VMware vSphere?
What is coming for VMware vSphere?
 
Open vStorage Road show 2015 Q1
Open vStorage Road show 2015 Q1Open vStorage Road show 2015 Q1
Open vStorage Road show 2015 Q1
 
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
Avishay Traeger & Shimshon Zimmerman, Stratoscale - Deploying OpenStack Cinde...
 
Laying OpenStack Cinder Block Services
Laying OpenStack Cinder Block ServicesLaying OpenStack Cinder Block Services
Laying OpenStack Cinder Block Services
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
 
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
 
Open vStorage Meetup - Santa Clara 04/16
Open vStorage Meetup -  Santa Clara 04/16Open vStorage Meetup -  Santa Clara 04/16
Open vStorage Meetup - Santa Clara 04/16
 
Whats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and StorageWhats new in Microsoft Windows Server 2016 Clustering and Storage
Whats new in Microsoft Windows Server 2016 Clustering and Storage
 
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and InfrastrctureRevolutionary Storage for Modern Databases, Applications and Infrastrcture
Revolutionary Storage for Modern Databases, Applications and Infrastrcture
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 

Recently uploaded

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

NAVER Ceph Storage on ssd for Container

  • 1. Ceph Storage on SSD for Container JANGSEON RYU NAVER
  • 2. • What is Container? • Persistent Storage • What is Ceph Storage? • Write Process in Ceph • Performance Test Agenda
  • 4. What is Container? • VM vs Container • OS Level Virtualization • Performance • Run Everywhere – Portable • Scalable – lightweight • Environment Consistency • Easy to manage Image • Easy to deploy Docker Container Virtual Machine Reference : https://www.docker.com/what-container
  • 5. What is Docker Container? • VM vs Container • OS Level Virtualization • Performance • Run Everywhere – Portable • Scalable – lightweight • Environment Consistency • Easy to manage Image • Easy to deploy namespace cgroup isolation resource limiting CPU MEM DISK NWT Reference : https://www.slideshare.net/PhilEstes/docker-london-container-security
  • 6. What is Docker Container? • VM vs Container • OS Level Virtualization • Performance • Run Everywhere – Portable • Scalable – lightweight • Environment Consistency • Easy to manage Image • Easy to deploy Reference : https://www.theregister.co.uk/2014/08/18/docker_kicks_kvms_butt_in_ibm_tests/
  • 7. What is Docker Container? • VM vs Container • OS Level Virtualization • Performance • Run Everywhere – Portable • Scalable – lightweight • Environment Consistency • Easy to manage Image • Easy to deploy Reference : https://www.ibm.com/blogs/bluemix/2015/08/c-ports-docker-containers-across-multiple-clouds-datacenters/ PM / VM / Cloud
  • 8. What is Docker Container? • VM vs Container • OS Level Virtualization • Performance • Run Everywhere – Portable • Scalable – lightweight • Environment Consistency • Easy to manage Image • Easy to deploy App A Libs Original Image A’ Changed Image Deployment A’App A Libs change update
  • 9. What is Docker Container? • VM vs Container • OS Level Virtualization • Performance • Run Everywhere – Portable • Scalable – lightweight • Environment Consistency • Easy to manage Image • Easy to deploy Reference : http://www.devopsschool.com/slides/docker/docker-web-development/index.html#/17
  • 10. What is Docker Container? • VM vs Container • OS Level Virtualization • Performance • Run Everywhere – Portable • Scalable – lightweight • Environment Consistency • Easy to manage Image • Easy to deploy Reference : https://www.slideshare.net/insideHPC/docker-for-hpc-in-a-nutshell
  • 12. Stateless vs Stateful Container • Nothing to write on disk • Web (Front-end) • Easy to scale in/out • Container is ephemeral • If delete, will be lost data Stateless … Easy to scale out • Needs storage to write • Database • Logs • CI config / repo data • Secret Keys Stateful Hard to scale out …
  • 13. Ephemeral vs Persistent Ephemeral Storage • Data Lost • Local Storage • Stateless Container Persistent Storage • Data Save • Network Storage • Stateful Container VS Reference : https://www.infoworld.com/article/3106416/cloud-computing/containerizing-stateful-applications.html
  • 14. Needs for Persistent Storage Our mission is to provide “Persistence Storage Service” while maintaining “Agility” & “Automation” of Docker Container
  • 15. macvlan IPVS IPVS vrrp Docker swarm cluster ECMP enabled BGP/ECMP internet consul consul consul Dynamic DNS AA MON MON MON OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD OSD KEYSTONE CINDER Manage Volume PLUGIN Get Auth-Token Request Attach Volume /dev/rbd0 PLUGIN DEVIEW 2016 : https://www.slideshare.net/deview/221-docker-orchestration OpenStack 2017 : https://www.slideshare.net/JangseonRyu/on-demandblockstoragefordocker-77895159 OSD Container in NAVER
  • 16. What is Ceph Storage?
  • 17. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture Vender NO Lock-in
  • 18. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture Up-to 16 Exa
  • 19. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture Reference : https://en.wikipedia.org/wiki/Ceph_(software)
  • 20. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture Low TCO
  • 21. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture KVM integrated with RBD Supported above kernel 2.6
  • 22. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture
  • 23. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture Client Metadata query Storage Storage Storage Write Traditional Ceph Client Storage CRUSH Metadata Storage Metadata Storage Metadata Storage Metadata Storage Metadata Storage Metadata bottle neck
  • 24. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture • Very high durability • 200 % overhead • Quick recovery • Cost-Effective • 50 % overhead • Expensive Recovery Object COPY COPY COPY Replicated Pool Object Erasure Coded Pool 1 2 3 4 X Y
  • 25. What is Ceph Storage? • Open Source Distributed Storage Solution • Massive Scalable / Efficient Scale-Out • Unified Storage • Runs on commodity hardware • Integrations into Linux Kernel / QEMU/KVM Driver / OpenStack • Self-managing / Self-healing • Peer-to-Peer Storage Nodes • RESTful API • No metadata bottleneck (no lookup) • CRUSH algorithm determines data placement • Replicated / Erasure Coding • Architecture Public Network Cluster Network OSD Node OSD Node OSD NodeOSD Node MonitorMonitorMonitor Client P S T
  • 27. ◼ Strong Consistency ◼ CAP Theorem : CP system (Consistency / network Partition) Client Primary OSD Secondary OSD Tertiary OSD ① ② ② ③ ③ ④ Write Flow ② Primary OSD sends data to replica OSDs, write data to local disk. ④ Primary OSD signals completion to client. ③ Replica OSDs write data to local disk, signal completion to primary. ① Client writes data to primary osd.
  • 28. ◼ All of Data Disks are SATA. ◼ 7.2k rpm SATA : ~ 75 ~ 100 IOPS ① Client writes data to primary osd. ② Primary OSD sends data to replica OSDs, write data to local disk. ③’ Write data to local disk, Send ack to primary. ③’’ Slow write data to local disk, Send ack to primary. ④ Slow send ack to client. Client Primary OSD Secondary OSD Tertiary OSD ① ② ② ③’ ③’’ ④ SATA High Disk Usage Slow Requests
  • 29. Client Primary OSD ① ② ② ③ ③ ④ Journal FileStore Secondary OSD Journal FileStore Tertiary OSD Journal FileStore Primary OSD Journal SSD O_DIRECT O_DSYNC FileStore SATA Buffered IOs XFS Journal on SSD
  • 31. Network Switch (10G) Clients Ceph Public Networks Cluster Networks KRBD - /dev/rbd0 - mkfs / mount - fio Ceph - FileStore - Luminous (12.2.0) Server - Intel® Xeon CPU L5640 2.27 GHz - 16 GB Memory - 480GB SAS 10K x 5 - 480GB SAS SSD x 1 - Centos 7 Test Environment
  • 32. Expect Result : 4K Rand Write SAS SAS SAS SAS SAS SAS SAS SAS SAS SAS : 10,000 rpm / 600 IOPS Per Node : SAS * 3 = 600 * 3 = 1,800 IOPS Total : Node * 3 = 1,800 * 3 = 5,400 IOPS Replicas 3 = 5,400 / 3 = 1,800 IOPS 600 1800 2094 34.36 0 500 1000 1500 2000 2500 IOPS Latency No SSD for Journal 2094 IOPS/s Case #1. Only Use SAS DISK
  • 33. Expect SAS SAS SAS SSD : 15,000 IOPS Total : Node * 3 = 15,000* 3 = 45,000 IOPS Replicas 3 = 45,000 / 3 = 15,000 IOPS SSD 600 15k SAS SAS SAS SSD SAS SAS SAS SSD 2094 à 2273 2273 31.65 0 500 1000 1500 2000 2500 IOPS Latency SSD for Journal Case #2. Use SSD for Journal Result : 4K Rand Write
  • 34. # ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | grep queue_max … "filestore_queue_max_bytes": " 104857600", "filestore_queue_max_ops": ”50", ß default value … Client FileStore Queue SAS # ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok perf dump | grep -A 15 throttle-filestore_ops "throttle-filestore_ops": { "val": 50, ß limitation "max": 50, … Block IO Flush 50 Analysis
  • 35. Tuning Result filestore_queue_max_ops = 500000 filestore_queue_max_bytes = 42949672960 journal_max_write_bytes = 42949672960 journal_max_write_entries = 5000000 2094 à 2899 (38%) 2899 174.76 0 500 1000 1500 2000 2500 3000 3500 IOPS Latency Tuning QueueMax Case #3. Tuning FileStore
  • 36. # ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | grep wbthrottle_xfs "filestore_wbthrottle_xfs_bytes_hard_limit": "419430400", "filestore_wbthrottle_xfs_bytes_start_flusher": "41943040", "filestore_wbthrottle_xfs_inodes_hard_limit": "5000", "filestore_wbthrottle_xfs_inodes_start_flusher": "500", ”filestore_wbthrottle_xfs_ios_hard_limit": "5000", "filestore_wbthrottle_xfs_ios_start_flusher": "500", # ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok perf dump | grep -A6 WBThrottle "WBThrottle": { "bytes_dirtied": 21049344, "bytes_wb": 197390336, "ios_dirtied": 5017, ß limitation "ios_wb": 40920, "inodes_dirtied": 1195, "inodes_wb": 20602 Client FileStore Queue SAS Block IO Flush 500,000 Analysis
  • 37. Tuning Result "filestore_wbthrottle_enable": "false", or "filestore_wbthrottle_xfs_bytes_hard_limit": "4194304000", "filestore_wbthrottle_xfs_bytes_start_flusher": "419430400", "filestore_wbthrottle_xfs_inodes_hard_limit": "500000", "filestore_wbthrottle_xfs_inodes_start_flusher": "5000", "filestore_wbthrottle_xfs_ios_hard_limit": "500000", "filestore_wbthrottle_xfs_ios_start_flusher": "5000", 2,094 à 14,264 (x7) 14264 40.65 0 2000 4000 6000 8000 10000 12000 14000 16000 IOPS Latency Tuning WBThrottle Case #4. Tuning WBThrottle
  • 39. Client OSD Enable Throttle 2,000 IOPS Client OSD SAS Disable Throttle SSD 15,000 IOPS Bottleneck SAS SSD • Slow performance • No effect with SSD • Fast performance • Danger using High Page Cache • Crash Ceph Storage Problems of Throttle
  • 40. Client OSD SAS Dynamic Throttle SSD • Burst (~ 60 secs) • Throttle From 80% 15,000 IOPS 500 IOPS filestore_queue_max_ops filestore_queue_max_bytes filestore_expected_throughput_ops filestore_expected_throughput_bytes filestore_queue_low_threshhold filestore_queue_high_threshhold filestore_queue_high_delay_multiple filestore_queue_max_delay_multiple Reference : http://blog.wjin.org/posts/ceph-dynamic-throttle.html r = current_op / max_ops high_delay_per_count = high_multiple / expected_throughput_ops max_delay_per_count = max_multiple / expected_throughput_ops s0 = high_delay_per_count / (high_threshhold - low_threshhold) s1 = (max_delay_per_count - high_delay_per_count) / (1 - high_threshhold) if r < low_threshhold: delay = 0 elif r < high_threshhold: delay = (r - low_threshhold) * s0 else: delay = high_delay_per_count + ((r - high_threshhold) * s1) Dynamic Throttle
  • 41. ◼ High performance improvements with SSD : 2,094 à 14,264 (x7) ◼ Must need Throttling for stable storage operation : Dynamic Throttle ◼ Need to tune OS(page cache, io scheduler), Ceph config Conculsion
  • 42. QnA