devmapper: add README and minor fixes
Signed-off-by: Maksym Pavlenko <makpav@amazon.com>
This commit is contained in:
46
snapshots/devmapper/README.md
Normal file
46
snapshots/devmapper/README.md
Normal file
@@ -0,0 +1,46 @@
|
||||
## 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 = "128MB"
|
||||
...
|
||||
```
|
||||
|
||||
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
|
||||
* `data_device` - path to the data volume that should be used by the thin pool
|
||||
* `meta_device` - path to the metadata volume that should be used by the thin-pool
|
||||
* `data_block_size` - the size of allocation chunks in data file, between 128
|
||||
sectors (64KB) and and 2097152 sectors (1GB) and a multiple of 128 sectors (64KB)
|
||||
* `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:
|
||||
|
||||
```bash
|
||||
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` command line tool to be installed and available on your computer.
|
||||
On Ubuntu, it can be installed with `apt-get install dmsetup` command.
|
||||
Reference in New Issue
Block a user