Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

I would like to introduce Elara, which is a centralized storage solution for building a huge container-based cloud platform and it can work as a Docker volume plugin.
Elara can work with openstack (Cinder, Manila, Swift) and storages such as SAN and NAS, it has several advantages:

- No central control node (Decentralized)

- Microservice architecture

- Supports Docker volume plugin with extended volume operations (snapshot, migration, QoS etc.)

- Supports different kinds of backend storage including block device, filesystem storage and object storage

- Supports storage resource scheduler (storage pools)

- Easy to install and use

  • Login to see the comments

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

  1. 1. Elara Introduction Wentao Zhang?
  2. 2. 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.
  3. 3. 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
  4. 4. Elara Introduction A docker Volume plugin
  5. 5. A Glimpse of Elara
  6. 6. • 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 docker Elara docker
  7. 7. Why Elara?
  8. 8. 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!
  9. 9. 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 Elara Docker 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(!)
  10. 10. What is Elara?
  11. 11. 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(!)
  12. 12. 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
  13. 13. Status Management Elara 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…
  14. 14. Elara Scenario  The connection between Container and shared storage.  Cover all the North Interfaces for Docker
  15. 15. Backend driver  Filesystem & Block Device  NFS, Cinder, DJ as backend  easy to extend  Difference opaque to user  Driver + Instance concept Block Device Driver Volume Manager Driver Interface FileSystem Driver Cinder Huawei DJ SAN NFS Driver NAS Manila
  16. 16. 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.
  17. 17. Demo
  18. 18. • A glance for Elara. • Elara Openstack show.  Node Status.  Volume operation.  Snapshot operation. Elara Show Openstack show
  19. 19. Thank you!
  20. 20. • Docker origin Volume Interface • Docker Volume Plugin Docker Volume Interface
  21. 21. 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 Volume Container Volume
  22. 22. 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
  23. 23. Elara Volume Work Flow 1. Create Volume request from docker, elara, kubelete.. 2. Docker Daemon send Volume Plugin API to Elara daemon 3. Elara daemon access database (etcd), 4. Elara send request to backend storage 5. 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 Elara Client 8 1 1 2 3 4 Backend Storage 6 7 5 /dev/vdx volume volume
  24. 24. Quote