вторник, 25 августа 2015 г.

Docker Storage Driver on loop device

После очередного обновления докера получил конфигурацию хранилища которая как капуста, сто одежек и все без застежек.

Докер создал файлы в /var/lib/docker, подключил их как loop девайсы, и на них развернул lvm пул, который выдает контейнерам.

Оно даже работает, и собственно без всяких усилий, вот так выглядит lsblk:


Но производительность при этом такая, что мягко говоря, сразу заметишь.

У меня там была задачка по вставке многих позиций в mysql, и я такого медленного ещё никогда не видел.

Чиним:

1. Сносим /var/lib/docker
2. Создаем lvm раздел, у меня это ddata и dmeta
3. Вписываем DOCKER_OPTS="--storage-opt dm.datadev=/dev/mapper/data-ddata --storage-opt dm.metadatadev=/dev/mapper/data-dmeta"

4. Всё перезапускаем

получается так:


Разница по io как минимум вдвое сразу.