SlideShare a Scribd company logo
Container Storage Best Practices in 2017
Myth-busting and taking state of the present
Keith Resar
Red Hat Solution Architect
January 24th, 2017
@KeithResar
Agenda
● Container Storage Myths
● Container Storage Primer
● Review 6 Storage Drivers
● Chooser a Storage Driver
@KeithResar
Container Storage History / Myths
http://en.wikifur.com/wiki/Sloth_(species)
Container Storage Level Set
@KeithResar
Image : Container :: Class : Object
For humans, read this to say:
An image is to a container, as a class is to an object.
> ls -l /image; echo $?
0
> pgrep image; echo $?
1
@KeithResar
Container Storage Data Volume Storage
@KeithResar
Data Volume Storage
Can be extended to support many endpoints and protocols
using installable docker plugins.
● Local
● LVM
● GlusterFS
● Ceph
● NFS
● iSCSI
@KeithResar
Container Storage Data Volume Storage
@KeithResar
@KeithResar
@KeithResar
@KeithResar
Copy-on-write Strategy
Container Storage Drivers
@KeithResar
Available Storage Drivers
Technology Driver Introduction File vs. Block
VFS vfs origin * File
AUFS aufs origin File
OverlayFS overlay/overlay2 Aug 2014 (1.11)
June 2016 (1.12)
File
Device Mapper devicemapper Sept 2013 (0.7) Block
Btrfs btrfs Nov 2013 File
@KeithResar
vfs Driver (1 of 6)
Naive implementation lacking union filesystem and copy-on-write
@KeithResar
vfs Driver (1 of 6)
Naive implementation lacking union filesystem and copy-on-write
The Good The Bad Summary
Reference compatibility
model
Useful for docker-in-docker
scenarios to avoid nesting
storage drivers
No shared memory, union
filesystem, or
copy-on-write
Not for production use
Important support role
for storage driver
development
@KeithResar
AUFS Driver (2 of 6)
The original docker storage driver
https://docs.docker.com/engine/userguide/storagedriver/aufs-driver/
@KeithResar
AUFS Driver (2 of 6)
The original docker storage driver
The Good The Bad Summary
Battle hardened driver
Performant and stable for
wide range of use cases
Supports shared memory
Carried patch to mainline
Linux kernel limits distro
support
File level implementation
impacts copy-on-write
Default for non-RH, will
meet majority of needs
Expectation that it will
be supplanted by an
Overlay implementation
@KeithResar
Overlay Driver (3 of 6)
Legacy union filesystem driver, superseded by overlay2
https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/
@KeithResar
Overlay Driver (3 of 6)
Legacy union filesystem driver, superseded by overlay2
The Good The Bad Summary
Complete union
filesystem merged into
the mainline kernel
Shared memory
Architecture drove explosive
inode usage, often to the
point of exhaustion
Slow commit performance
Used for backward
compatibility in pre-4.0
kernels
Broad distro support
beyond aufs
@KeithResar
Overlay2 Driver (4 of 6)
Lessons learned from original overlay, and looking forward to continued maturity
@KeithResar
Overlay2 Driver (4 of 6)
Lessons learned from original overlay, and looking forward to continued maturity
The Good The Bad Summary
Retains all benefits of
overlay (shared memory,
broad distro support)
Resolves inode
exhaustion problems
Relatively young codebase
(initial release with
Docker 1.12 in June 2016)
File-based so copy-on-write
operations may be
expensive
With maturity may be
the best route forward
for consistent defaults
across many Linux
distributions
@KeithResar
Devicemapper Driver (5 of 6)
Lvm integrated block-based storage driver
@KeithResar
Devicemapper Driver (5 of 6)
Lvm integrated block-based storage driver, default on RHEL
The Good The Bad Summary
Block-based solution
offers efficient
copy-on-write
Quota support
Available direct and loop
modes
Manual setup is intimidating
No shared memory support
Red Hat go-to
graphdriver with mature
codebase
@KeithResar
Btrfs Driver (6 of 6)
Another next generation filesystem, with a continued heavy development requirement
@KeithResar
Btrfs Driver (6 of 6)
Another next generation filesystem, with a continued heavy development requirement
The Good The Bad Summary
Now offers SELinux
support and quota
No page-cache sharing
between containers
Small writes can lead to
out-of-space conditions
Requires btrfs specific tools
rather than Linux native
Btrfs hasn’t been a
mainstream choice for
Linux distros, driving
less attention and less
testing
Choosing a Storage Driver
@KeithResar
Benchmark Approach
Benchmarking is treacherous and confusing, and often done poorly - which means that you
need to take any benchmark results with a large grain of salt.
If you've spent less than a week studying a benchmark result, it's probably wrong.
(Running a benchmark is the easy part. Understanding a benchmark can take much longer.)
https://github.com/keithresar/docker-storage-benchmark/tree/working
@KeithResar
Benchmark 1: Reading Files
● Reading Small Files
● Reading Large Files
● Reading File Tree
@KeithResar
Naive benchmarking, for discussion purposes only. Don’t trust this!
@KeithResar
Naive benchmarking, for discussion purposes only. Don’t trust this!
@KeithResar
Naive benchmarking, for discussion purposes only. Don’t trust this!
@KeithResar
Naive benchmarking, for discussion purposes only. Don’t trust this!
@KeithResar
Benchmark 2: Appending to Files
● Appending to Small Files
● Appending to Large Files
● Appending to File Tree
@KeithResar
Naive benchmarking, for discussion purposes only. Don’t trust this!
@KeithResar
Naive benchmarking, for discussion purposes only. Don’t trust this!
@KeithResar
Naive benchmarking, for discussion purposes only. Don’t trust this!
@KeithResar
Storage use cases
Technology Attributes Good Use Case Bad Use Case
AUFS Stable, Production Ready,
Good Memory Use
High Write Activity
Btrfs Mainline Kernel High Write Activity
Overlay Stable, Good Memory Use,
Mainline Kernel
Container Churn
Devicemapper (loop) Stable, Mainline Kernel Production, Performance
Devicemapper
(direct-lvm)
Stable, Production Ready,
Mainline Kernel
@KeithResar
Resources
Storage Drivers in Docker: A Deep Dive
https://integratedcode.us/2016/08/30/storage-drivers-in-docker-a-deep-dive/
The Docker community has documented a good bit of this detail in the official storage driver documentation
https://docs.docker.com/engine/userguide/storagedriver/selectadriver/
Docker Issues and Tips (aufs/overlay/btrfs..)
https://github.com/AkihiroSuda/issues-docker#docker-issues-and-tips-aufsoverlaybtrfs
Comprehensive Overview of Storage Scalability in Docker (2014)
https://developers.redhat.com/blog/2014/09/30/overview-storage-scalability-docker/
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
Ad

More Related Content

What's hot (20)

BlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year InBlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year In
Sage Weil
 
OS入門
OS入門OS入門
OS入門
Shuntaro Saiba
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
Open Source Consulting
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話
Kohei Tokunaga
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
Kohei Tokunaga
 
Container security
Container securityContainer security
Container security
Anthony Chow
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
NTT DATA Technology & Innovation
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
Suraj Khetani
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
Takashi Takizawa
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
 
eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
SUSE Labs Taipei
 
오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향
Nalee Jang
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Shinya Mori (@mosuke5)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
 
Spring Cloud Data Flow の紹介 #streamctjp
Spring Cloud Data Flow の紹介  #streamctjpSpring Cloud Data Flow の紹介  #streamctjp
Spring Cloud Data Flow の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
Hirofumi Ichihara
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
Emma Haruka Iwao
 
BlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year InBlueStore, A New Storage Backend for Ceph, One Year In
BlueStore, A New Storage Backend for Ceph, One Year In
Sage Weil
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
Open Source Consulting
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話
Kohei Tokunaga
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
Kohei Tokunaga
 
Container security
Container securityContainer security
Container security
Anthony Chow
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
NTT DATA Technology & Innovation
 
Docker Container Security
Docker Container SecurityDocker Container Security
Docker Container Security
Suraj Khetani
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
Takashi Takizawa
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
 
오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향오픈스택 커뮤니티 소개 및 기술 동향
오픈스택 커뮤니티 소개 및 기술 동향
Nalee Jang
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Shinya Mori (@mosuke5)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
beyond Co., Ltd.
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
Hirofumi Ichihara
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
Emma Haruka Iwao
 

Viewers also liked (13)

A Strong Belief, Loosely Held: Bringing Empathy to IT
A Strong Belief, Loosely Held: Bringing Empathy to ITA Strong Belief, Loosely Held: Bringing Empathy to IT
A Strong Belief, Loosely Held: Bringing Empathy to IT
Docker, Inc.
 
Troubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerTroubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support Engineer
Jeff Anderson
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
Docker, Inc.
 
Back to the Future: Containerize Legacy Applications
Back to the Future: Containerize Legacy ApplicationsBack to the Future: Containerize Legacy Applications
Back to the Future: Containerize Legacy Applications
Docker, Inc.
 
DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1
Docker, Inc.
 
DockerCon EU 2017 - General Session Day 2
DockerCon EU 2017 - General Session Day 2DockerCon EU 2017 - General Session Day 2
DockerCon EU 2017 - General Session Day 2
Docker, Inc.
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in Docker
Docker, Inc.
 
The Value Of Diverse Experiences
The Value Of Diverse ExperiencesThe Value Of Diverse Experiences
The Value Of Diverse Experiences
Docker, Inc.
 
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideTaking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and Decide
Docker, Inc.
 
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
Docker, Inc.
 
Learning Docker from Square One
Learning Docker from Square OneLearning Docker from Square One
Learning Docker from Square One
Docker, Inc.
 
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT SystemsIntegrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Docker, Inc.
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Carol Smith
 
A Strong Belief, Loosely Held: Bringing Empathy to IT
A Strong Belief, Loosely Held: Bringing Empathy to ITA Strong Belief, Loosely Held: Bringing Empathy to IT
A Strong Belief, Loosely Held: Bringing Empathy to IT
Docker, Inc.
 
Troubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support EngineerTroubleshooting Tips from a Docker Support Engineer
Troubleshooting Tips from a Docker Support Engineer
Jeff Anderson
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
Docker, Inc.
 
Back to the Future: Containerize Legacy Applications
Back to the Future: Containerize Legacy ApplicationsBack to the Future: Containerize Legacy Applications
Back to the Future: Containerize Legacy Applications
Docker, Inc.
 
DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1
Docker, Inc.
 
DockerCon EU 2017 - General Session Day 2
DockerCon EU 2017 - General Session Day 2DockerCon EU 2017 - General Session Day 2
DockerCon EU 2017 - General Session Day 2
Docker, Inc.
 
What's New in Docker
What's New in DockerWhat's New in Docker
What's New in Docker
Docker, Inc.
 
The Value Of Diverse Experiences
The Value Of Diverse ExperiencesThe Value Of Diverse Experiences
The Value Of Diverse Experiences
Docker, Inc.
 
Taking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and DecideTaking Docker to Production: What You Need to Know and Decide
Taking Docker to Production: What You Need to Know and Decide
Docker, Inc.
 
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
How and Why Prometheus' New Storage Engine Pushes the Limits of Time Series D...
Docker, Inc.
 
Learning Docker from Square One
Learning Docker from Square OneLearning Docker from Square One
Learning Docker from Square One
Docker, Inc.
 
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT SystemsIntegrating Docker EE into Société Générale's Existing Enterprise IT Systems
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Docker, Inc.
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Carol Smith
 
Ad

Similar to Container Storage Best Practices in 2017 (20)

Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
gvenzl
 
GlusterFS Containers
GlusterFS ContainersGlusterFS Containers
GlusterFS Containers
Mohamed Ashiq
 
Gluster containers!
Gluster containers!Gluster containers!
Gluster containers!
Humble Chirammal
 
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Shannon Williams
 
Containers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the EnterpriseContainers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the Enterprise
Honza Horák
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation in
RahulBhole12
 
HDFS Internals
HDFS InternalsHDFS Internals
HDFS Internals
Apache Apex
 
hdfs readrmation ghghg bigdats analytics info.pdf
hdfs readrmation ghghg bigdats analytics info.pdfhdfs readrmation ghghg bigdats analytics info.pdf
hdfs readrmation ghghg bigdats analytics info.pdf
ssuser2d043c
 
Red Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open StackRed Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open Stack
Red_Hat_Storage
 
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red_Hat_Storage
 
Hadoop Technology
Hadoop TechnologyHadoop Technology
Hadoop Technology
Atul Kushwaha
 
Big data interview questions and answers
Big data interview questions and answersBig data interview questions and answers
Big data interview questions and answers
Kalyan Hadoop
 
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NYApache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Wangda Tan
 
Hdfs internals
Hdfs internalsHdfs internals
Hdfs internals
Bhupesh Chawda
 
Hadoop
HadoopHadoop
Hadoop
yasser hassen
 
Cloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and AdvancementsCloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and Advancements
Sathishkumar Jaganathan
 
Big Data-Session, data engineering and scala
Big Data-Session, data engineering and scalaBig Data-Session, data engineering and scala
Big Data-Session, data engineering and scala
ssusera3b277
 
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red Hat Ceph Storage Acceleration Utilizing Flash Technology Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red_Hat_Storage
 
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Balena
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practices
webuploader
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
gvenzl
 
GlusterFS Containers
GlusterFS ContainersGlusterFS Containers
GlusterFS Containers
Mohamed Ashiq
 
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Storage for containers and cloud-native deployments - Rancher Online Meetup -...
Shannon Williams
 
Containers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the EnterpriseContainers Roadshow: How to Develop Containers for the Enterprise
Containers Roadshow: How to Develop Containers for the Enterprise
Honza Horák
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation in
RahulBhole12
 
hdfs readrmation ghghg bigdats analytics info.pdf
hdfs readrmation ghghg bigdats analytics info.pdfhdfs readrmation ghghg bigdats analytics info.pdf
hdfs readrmation ghghg bigdats analytics info.pdf
ssuser2d043c
 
Red Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open StackRed Hat Storage Server Roadmap & Integration With Open Stack
Red Hat Storage Server Roadmap & Integration With Open Stack
Red_Hat_Storage
 
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red_Hat_Storage
 
Big data interview questions and answers
Big data interview questions and answersBig data interview questions and answers
Big data interview questions and answers
Kalyan Hadoop
 
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NYApache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Wangda Tan
 
Cloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and AdvancementsCloud Computing - Cloud Technologies and Advancements
Cloud Computing - Cloud Technologies and Advancements
Sathishkumar Jaganathan
 
Big Data-Session, data engineering and scala
Big Data-Session, data engineering and scalaBig Data-Session, data engineering and scala
Big Data-Session, data engineering and scala
ssusera3b277
 
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red Hat Ceph Storage Acceleration Utilizing Flash Technology Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red_Hat_Storage
 
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
Balena
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practices
webuploader
 
Ad

More from Keith Resar (7)

Simple Tips and Tricks with Ansible
Simple Tips and Tricks with AnsibleSimple Tips and Tricks with Ansible
Simple Tips and Tricks with Ansible
Keith Resar
 
Rotating Passwords With Ansible and HashiVault
Rotating Passwords With Ansible and HashiVaultRotating Passwords With Ansible and HashiVault
Rotating Passwords With Ansible and HashiVault
Keith Resar
 
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Keith Resar
 
Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12
Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12
Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12
Keith Resar
 
Advanced Use of jinja2 for Templates
Advanced Use of jinja2 for TemplatesAdvanced Use of jinja2 for Templates
Advanced Use of jinja2 for Templates
Keith Resar
 
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
DevFestMN 2017 - Learning Docker and Kubernetes with OpenshiftDevFestMN 2017 - Learning Docker and Kubernetes with Openshift
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
Keith Resar
 
Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...
Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...
Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...
Keith Resar
 
Simple Tips and Tricks with Ansible
Simple Tips and Tricks with AnsibleSimple Tips and Tricks with Ansible
Simple Tips and Tricks with Ansible
Keith Resar
 
Rotating Passwords With Ansible and HashiVault
Rotating Passwords With Ansible and HashiVaultRotating Passwords With Ansible and HashiVault
Rotating Passwords With Ansible and HashiVault
Keith Resar
 
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Keith Resar
 
Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12
Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12
Hosting For Your Startup, Side Project, or Big Dollar App - Minnebar 12
Keith Resar
 
Advanced Use of jinja2 for Templates
Advanced Use of jinja2 for TemplatesAdvanced Use of jinja2 for Templates
Advanced Use of jinja2 for Templates
Keith Resar
 
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
DevFestMN 2017 - Learning Docker and Kubernetes with OpenshiftDevFestMN 2017 - Learning Docker and Kubernetes with Openshift
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
Keith Resar
 
Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...
Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...
Importing Code and Existing Containers to OpenShift - Minneapolis Docker Meet...
Keith Resar
 

Recently uploaded (20)

Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 

Container Storage Best Practices in 2017

  • 1. Container Storage Best Practices in 2017 Myth-busting and taking state of the present Keith Resar Red Hat Solution Architect January 24th, 2017
  • 2. @KeithResar Agenda ● Container Storage Myths ● Container Storage Primer ● Review 6 Storage Drivers ● Chooser a Storage Driver
  • 3. @KeithResar Container Storage History / Myths http://en.wikifur.com/wiki/Sloth_(species)
  • 5. @KeithResar Image : Container :: Class : Object For humans, read this to say: An image is to a container, as a class is to an object. > ls -l /image; echo $? 0 > pgrep image; echo $? 1
  • 7. @KeithResar Data Volume Storage Can be extended to support many endpoints and protocols using installable docker plugins. ● Local ● LVM ● GlusterFS ● Ceph ● NFS ● iSCSI
  • 14. @KeithResar Available Storage Drivers Technology Driver Introduction File vs. Block VFS vfs origin * File AUFS aufs origin File OverlayFS overlay/overlay2 Aug 2014 (1.11) June 2016 (1.12) File Device Mapper devicemapper Sept 2013 (0.7) Block Btrfs btrfs Nov 2013 File
  • 15. @KeithResar vfs Driver (1 of 6) Naive implementation lacking union filesystem and copy-on-write
  • 16. @KeithResar vfs Driver (1 of 6) Naive implementation lacking union filesystem and copy-on-write The Good The Bad Summary Reference compatibility model Useful for docker-in-docker scenarios to avoid nesting storage drivers No shared memory, union filesystem, or copy-on-write Not for production use Important support role for storage driver development
  • 17. @KeithResar AUFS Driver (2 of 6) The original docker storage driver https://docs.docker.com/engine/userguide/storagedriver/aufs-driver/
  • 18. @KeithResar AUFS Driver (2 of 6) The original docker storage driver The Good The Bad Summary Battle hardened driver Performant and stable for wide range of use cases Supports shared memory Carried patch to mainline Linux kernel limits distro support File level implementation impacts copy-on-write Default for non-RH, will meet majority of needs Expectation that it will be supplanted by an Overlay implementation
  • 19. @KeithResar Overlay Driver (3 of 6) Legacy union filesystem driver, superseded by overlay2 https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/
  • 20. @KeithResar Overlay Driver (3 of 6) Legacy union filesystem driver, superseded by overlay2 The Good The Bad Summary Complete union filesystem merged into the mainline kernel Shared memory Architecture drove explosive inode usage, often to the point of exhaustion Slow commit performance Used for backward compatibility in pre-4.0 kernels Broad distro support beyond aufs
  • 21. @KeithResar Overlay2 Driver (4 of 6) Lessons learned from original overlay, and looking forward to continued maturity
  • 22. @KeithResar Overlay2 Driver (4 of 6) Lessons learned from original overlay, and looking forward to continued maturity The Good The Bad Summary Retains all benefits of overlay (shared memory, broad distro support) Resolves inode exhaustion problems Relatively young codebase (initial release with Docker 1.12 in June 2016) File-based so copy-on-write operations may be expensive With maturity may be the best route forward for consistent defaults across many Linux distributions
  • 23. @KeithResar Devicemapper Driver (5 of 6) Lvm integrated block-based storage driver
  • 24. @KeithResar Devicemapper Driver (5 of 6) Lvm integrated block-based storage driver, default on RHEL The Good The Bad Summary Block-based solution offers efficient copy-on-write Quota support Available direct and loop modes Manual setup is intimidating No shared memory support Red Hat go-to graphdriver with mature codebase
  • 25. @KeithResar Btrfs Driver (6 of 6) Another next generation filesystem, with a continued heavy development requirement
  • 26. @KeithResar Btrfs Driver (6 of 6) Another next generation filesystem, with a continued heavy development requirement The Good The Bad Summary Now offers SELinux support and quota No page-cache sharing between containers Small writes can lead to out-of-space conditions Requires btrfs specific tools rather than Linux native Btrfs hasn’t been a mainstream choice for Linux distros, driving less attention and less testing
  • 28. @KeithResar Benchmark Approach Benchmarking is treacherous and confusing, and often done poorly - which means that you need to take any benchmark results with a large grain of salt. If you've spent less than a week studying a benchmark result, it's probably wrong. (Running a benchmark is the easy part. Understanding a benchmark can take much longer.) https://github.com/keithresar/docker-storage-benchmark/tree/working
  • 29. @KeithResar Benchmark 1: Reading Files ● Reading Small Files ● Reading Large Files ● Reading File Tree
  • 30. @KeithResar Naive benchmarking, for discussion purposes only. Don’t trust this!
  • 31. @KeithResar Naive benchmarking, for discussion purposes only. Don’t trust this!
  • 32. @KeithResar Naive benchmarking, for discussion purposes only. Don’t trust this!
  • 33. @KeithResar Naive benchmarking, for discussion purposes only. Don’t trust this!
  • 34. @KeithResar Benchmark 2: Appending to Files ● Appending to Small Files ● Appending to Large Files ● Appending to File Tree
  • 35. @KeithResar Naive benchmarking, for discussion purposes only. Don’t trust this!
  • 36. @KeithResar Naive benchmarking, for discussion purposes only. Don’t trust this!
  • 37. @KeithResar Naive benchmarking, for discussion purposes only. Don’t trust this!
  • 38. @KeithResar Storage use cases Technology Attributes Good Use Case Bad Use Case AUFS Stable, Production Ready, Good Memory Use High Write Activity Btrfs Mainline Kernel High Write Activity Overlay Stable, Good Memory Use, Mainline Kernel Container Churn Devicemapper (loop) Stable, Mainline Kernel Production, Performance Devicemapper (direct-lvm) Stable, Production Ready, Mainline Kernel
  • 39. @KeithResar Resources Storage Drivers in Docker: A Deep Dive https://integratedcode.us/2016/08/30/storage-drivers-in-docker-a-deep-dive/ The Docker community has documented a good bit of this detail in the official storage driver documentation https://docs.docker.com/engine/userguide/storagedriver/selectadriver/ Docker Issues and Tips (aufs/overlay/btrfs..) https://github.com/AkihiroSuda/issues-docker#docker-issues-and-tips-aufsoverlaybtrfs Comprehensive Overview of Storage Scalability in Docker (2014) https://developers.redhat.com/blog/2014/09/30/overview-storage-scalability-docker/