Общий сценарий состоит в том, что у нас есть кластер серверов, и мы хотим настроить виртуальные кластеры поверх этого с помощью Docker.
Для этого мы создали Dockerfiles для разных сервисов (Hadoop, Spark и т.д.).
Что касается службы Hadoop HDFS, тем не менее, мы имеем ситуацию, когда дисковое пространство, доступное для контейнеров докеров, равно дисковым пространствам, доступным для сервера. Мы хотим ограничить доступное дисковое пространство на основе каждого контейнера, чтобы мы могли динамически создавать дополнительный datanode с некоторым размером хранилища, чтобы внести вклад в файловую систему HDFS.
У нас возникла идея использовать файлы loopback, отформатированные с помощью ext4, и монтировать их в каталогах, которые мы используем в качестве томов в контейнерах докеров. Однако это означает большую потерю производительности.
Я нашел еще один вопрос о SO (Ограничить размер диска и пропускную способность контейнера Docker), но ответы почти 1,5 года, которые - относительно скорости развитие докеров - древнее.
В каком виде или в хранилище нам будет
- Ограничение хранения на основе контейнера
- Имеет почти голые характеристики
- Не требуется перераспределение серверных дисков