AWS beanstalk docker - пул devmapper исчерпывает тонкий пул - PullRequest
0 голосов
/ 29 января 2020

Привет У меня есть несколько кластеров, работающих с AWS beanstalk, работающими с docker изображениями. Мой размер docker составляет 680 МБ, и я убедился, что объем данных Docker (/ dev / xvdcz) составляет 12 ГБ. Я также проверил, что нет оборванных изображений / несвежих контейнеров для удаления. В настоящее время в нем хранятся 2 изображения (поэтому должно быть приблизительно 1,4 ГБ).

При этом мои новые приложения постоянно терпели неудачу с ошибкой:

layer: devmapper: Thin Pool has 1805 free data blocks which is less than minimum required 2425 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

При дальнейшем расследовании я обнаружил, что параметр в /etc/sysconfig/docker-storage, который устанавливает dm.baseSize в 100 ГБ. Вот содержимое файла:

DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.thinpooldev=/dev/mapper/docker-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true --storage-opt dm.fs=ext4 --storage-opt dm.basesize=100G"

По умолчанию AWS AMI. После этого я добавил расширение для увеличения объема docker (/ dev / xvdcz) до 120 ГБ, и с тех пор ничего не вышло.

Мой вопрос: зачем нам нужно, чтобы baseSize был 100 ГБ, и есть ли способ Я могу уменьшить его до 10 ГБ, поэтому мне не нужно добавлять дополнительное хранилище для каждой коробки? В идеале без создания пользовательских AMI.

Вот новый конфиг после того, как я обновил том до 120 ГБ.

[ec2-user ~]$ lsblk
NAME                                                                                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme0n1                                                                                      259:1    0     8G  0 disk
├─nvme0n1p1                                                                                  259:2    0     8G  0 part /
└─nvme0n1p128                                                                                259:3    0     1M  0 part
nvme1n1                                                                                      259:0    0   120G  0 disk
└─nvme1n1p1                                                                                  259:6    0   120G  0 part
  ├─docker-docker--pool_tdata                                                                253:1    0 118.6G  0 lvm
  │ └─docker-docker--pool                                                                    253:2    0 118.6G  0 lvm
  │   └─docker-259:2-394917-4a52cb647e0a91037aaf4fb64345ae55567f2d8c5ff073048981987e6dcba7b0 253:3    0   100G  0 dm   /var/lib/docker/devicemapper/mnt/4a52cb647e0a91037aaf4fb64345ae55567f2d8c5ff073048981987e6dcba7b0
  └─docker-docker--pool_tmeta                                                                253:0    0   124M  0 lvm
    └─docker-docker--pool                                                                    253:2    0 118.6G  0 lvm
      └─docker-259:2-394917-4a52cb647e0a91037aaf4fb64345ae55567f2d8c5ff073048981987e6dcba7b0 253:3    0   100G  0 dm   /var/lib/docker/devicemapper/mnt/4a52cb647e0a91037aaf4fb64345ae55567f2d8c5ff073048981987e6dcba7b0
...