a new centralized volume storage solution for docker and container cloud by wentao zhang, huawei

24
Elara Introduction Wentao Zhang?

Upload: docker-inc

Post on 06-Jan-2017

653 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Elara Introduction

WentaoZhang?

Page 2: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

About Me

• Seven Years Work Experience: 2009-2014, Ericsson. 14-Now, 2012 Lab department, Huawei

Company. • Skills:

Familiar with Docker platform Familiar with Openstack storage . Good at Linux Platform Software Development. Familiar with Linux Kernel development.

Page 3: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Agenda

Why Elara

• Local Storage vs Shared Storage

• Why Elara

What is Elara

• New Features of Elara• Architecture• Status Management• Elara Scenario• Backend driver• Support Storage Interface

Page 4: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Elara IntroductionA docker Volume plugin

Page 5: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

A Glimpse of Elara

Page 6: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

• A Docker Volume Plugin

• A Distributed Volume Management Tool

• A Connection between Container and Shared Storage Provider

• Rich of volume operations.

A Glimpse of Elara

Storage Pool

Elara

dockerElara

docker

Page 7: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Why Elara?

Page 8: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Local Storage vs Shared Storage• Local Storage

– Data stores in Local machine.– Migration is difficult and cost high– Server crash hard to recover data.– Docker graphic driver

• Shared Storage– Persistent Storage for Docker– Easy to support Container Migration– Like openstack (cinder, manila, Swift), ceph…

migration

Host A Host B

copy

Glad to useShared Storage by Plugins in containers!

Page 9: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Elara come up• Focus on large container cloud

distribution. Node Management (domain) Auto-deploy

• Focus on shared storage only.• Meet all the requirement from Docker data

volume storage.• Run on Huawei Storage Device and the

Devices from other manufactory.

Why ElaraDocker Volume Status• Docker and lots of Plugins Supports

Local Volume. Local Storage. Local Database.

• Lack of volume operation interface. Snapshot operation Qos(IOPS and disk quota, resize..)

• No resource Scheduler(!)

Page 10: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

What is Elara?

Page 11: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

New Features of Elara

• Node management• Status stored remotely in credible storage.• Focus on shared storage• Advanced operations on volumes• Multiple backend driver• Resource scheduler(!)

Page 12: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Architecture• KV storage as

database.• Container migration• Support snapshot,

backup, migration, • Support Qos like IPOS,

disk quota, extend volume.

• Suport bckend driver extention

• Focus on shared storage only

Page 13: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Status ManagementElara node status management

K-v storage

Each node registered

All Status stored remotely

All nodes Equal

K-V Storage

Node info

Volume Status

Elara Elara Elara…

Page 14: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Elara Scenario The connection between Container and shared storage.

Cover all the North Interfaces for Docker

Page 15: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Backend driver

Filesystem & Block Device

NFS, Cinder, DJ as backend

easy to extend

Difference opaque to user

Driver + Instance concept

Block Device Driver

VolumeManagerDriver

Interface

FileSystemDriver

CinderHuawei DJ

SAN

NFS Driver

NAS

Manila

Page 16: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Support Storage Interface• Management Interface:

– Volume Operation Create Volume Delete Volume

– Snapshot & Backup Create snapshot Delete snapshot Restore volume from snapshot

– Oos: IPOS. Extend Volume. Disk Quota.

• Data Plane:– Volume Resource Pool

Provide muti-backends to virtual Pool, maybe several physical volume make up one virtual pool.

– Volume Scheduler Load Backend, scheduler

– Volume Transfer Migration and backup the data

volume.

Page 17: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Demo

Page 18: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

• A glance for Elara.• Elara Openstack show.

Node Status. Volume operation. Snapshot operation.

Elara Show

Openstack show

Page 19: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Thank you!

Page 20: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

• Docker origin Volume Interface• Docker Volume Plugin

Docker Volume Interface

Page 21: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Docker Volume Interface• Docker Supported Volume operation

docker run –v /xx/volume:/data niginx:web_server

• Kubernets distributed volumes Kubernetes has many backends Do not support volume plugin

K8S Master

Host A

Docker

Storage

kubelet

VolumeContainer

Volume

Page 22: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Docker Volume Plugin • Basic knowledge

– Defined by community– Plugin Discovery(config)

• APIs– VolumeDriver.Active– VolumeDriver.Create– VolumeDriver.Remove– VolumeDriver.Mount– VolumeDriver.Path– VolumeDriver.Umount– VolumeDriver.Get– VolumeDriver.List

Page 23: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

Elara Volume Work Flow1. Create Volume request from docker, elara,

kubelete..2. Docker Daemon send Volume Plugin API to Elara

daemon3. Elara daemon access database (etcd),4. Elara send request to backend storage5. Backend storage will create a volume.6. Elara send attach command to attach volume to

host.7. Storage backend will use protocol (like iscsi) to

attach it to the host. Host will scan this volume.8. Elara will format this volume and mkfs for it, and

mount to a path and send to docker to use it.

Host A

Docker Daemon

Elara Daemon ETCD

Docker Client

ElaraClient

8

1 1

23

4

Backend Storage

6

75

/dev/vdx

volume

volume

Page 24: A New Centralized Volume Storage Solution for Docker and Container Cloud by Wentao Zhang, Huawei

https://github.com/docker/docker/blob/master/docs/extend/plugin_api.md

https://github.com/docker/docker/blob/master/docs/extend/plugins_volume.m

d

Quote