containerd/snapshots/devmapper
Sebastiaan van Stijn f2edc6f164
vendor: update gotest.tools v3.0.2
full diff: https://github.com/gotestyourself/gotest.tools/compare/v2.3.0...v3.0.2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-02-28 17:47:20 +01:00
..
dmsetup vendor: update gotest.tools v3.0.2 2020-02-28 17:47:20 +01:00
losetup vendor: update gotest.tools v3.0.2 2020-02-28 17:47:20 +01:00
config_test.go vendor: update gotest.tools v3.0.2 2020-02-28 17:47:20 +01:00
config.go devmapper: don't create or reload thin-pool from snapshotter 2019-02-21 16:26:46 -08:00
device_info.go Better error recovery in devmapper 2019-07-30 15:17:17 -07:00
metadata_test.go vendor: update gotest.tools v3.0.2 2020-02-28 17:47:20 +01:00
metadata.go Mark faulty devices 2019-08-05 12:05:36 -07:00
pool_device_test.go vendor: update gotest.tools v3.0.2 2020-02-28 17:47:20 +01:00
pool_device.go Attempt to make device mapper snapshotter tests less flaky 2019-12-13 13:20:23 -08:00
README.md devmapper: update example base image size in README 2019-11-20 12:26:16 -08:00
snapshotter_test.go vendor: update gotest.tools v3.0.2 2020-02-28 17:47:20 +01:00
snapshotter.go Add snapshot walk implementations 2019-10-24 11:11:22 -07:00

Devmapper snapshotter

Devmapper is a containerd snapshotter plugin that stores snapshots in ext4-formatted filesystem images in a devicemapper thin pool.

Setup

To make it work you need to prepare thin-pool in advance and update containerd's configuration file. This file is typically located at /etc/containerd/config.toml.

Here's minimal sample entry that can be made in the configuration file:

[plugins]
  ...
  [plugins.devmapper]
    pool_name = "containerd-pool"
    base_image_size = "8192MB"
  ...

The following configuration flags are supported:

  • root_path - a directory where the metadata will be available (if empty default location for containerd plugins will be used)
  • pool_name - a name to use for the devicemapper thin pool. Pool name should be the same as in /dev/mapper/ directory
  • base_image_size - defines how much space to allocate when creating the base device

Pool name and base image size are required snapshotter parameters.

Run

Give it a try with the following commands:

ctr images pull --snapshotter devmapper docker.io/library/hello-world:latest
ctr run --snapshotter devmapper docker.io/library/hello-world:latest test

Requirements

The devicemapper snapshotter requires dmsetup (>= 1.02.110) command line tool to be installed and available on your computer. On Ubuntu, it can be installed with apt-get install dmsetup command.