Skip to content

Atomic: Docker Storage

andreasn edited this page Apr 5, 2016 · 30 revisions

Managing Docker storage is an important feature for Atomic.

Notes:

Tasks:

  • Grow var/lib/docker quota
  • Create storage pool
  • Detach storage permanently
  • Allocate storage from pool
  • Detach storage for re-use
  • Container quotas
  • Monitor storage utilization

Stories:

Need to build the user stories and workflows that will drive design.

User stories:

Robert works at a small IT shop. For one reason or another, he got tossed the sysadmin hat at the company. They have a server running Atomic that they run a number of containers on. If the server is running out of space, he needs to know sooner than later.

David is a freelance web developer. He's using docker a lot under Atomic to develop different websites for his customers. The default size of 8.5Gb is getting way too small for him.

Sarah is a part-time backend developer, part-time sysadmin at her company. They have an atomic server in a VM that she's been using for various testing for a couple of months. It has 2 extra disks attached to it's docker storage pool. She wants to reset the machine to it's initial state, and get the storage allocated back.

Workflows:

Robert:

  • Robert gets informed that the file server is running low on disk space.
  • He tells his colleagues that the server will be down during lunch since he's going to fix the storage space issue that they are running into. He takes an early lunch himself.
  • Back at the office when everyone else have left for lunch he turns off the server and pops in a new hard drive.
  • He starts up the server again and logs in to it with Cockpit from his laptop.
  • He identifies the new disk. Provisions it and adds it to the docker storage pool.
  • The system informs him that the volume now has a lot more space and most importantly, more free space.
  • When his colleagues comes back from lunch, they ask if all went well with the disk upgrade. He confirms it did.

David:

  • Since the default docker pool is too small for all his containers, he needs to allocate more storage to it. The storage machine has plenty of space shared over iscsi.
  • He logs in to Cockpit. The system informs him that he's indeed low on space for containers.
  • He connects to their storage server and selects a LUN of 20 GB.
  • He uses this disk to expand his docker pool with 20 GB to a total of 28GB.
  • The system informs him of the new size and that he now have over 20GB free for containers.

Sarah:

  • She logs in to the VM.
  • She performs the reset action.
  • She then deletes the disks from the VM and has free up the storage to use for other stuff.

Mockup

Atomic Docker container storage mockup

Feedback

Please give feedback on the above!

Clone this wiki locally