ZFS — это файловая система, объединённая с менеджером логических томов. Преимущества ZFS:

  • работа с файлами и разделами больших размеров;
  • возможность хранения файлов на нескольких устройствах;
  • проверка контрольных сумм файлов "на лету";
  • возможность создания снапшотов;
  • поддержка сжатия хранимых данных;
  • возможность дедупликации.

ZFS использует виртуальные пулы хранения данных. Пул создаётся из виртуальных устройств — физических дисков или RAID-массивов.

Особенности работы ZFS


По сравнению с файловым хранилищем, ZFS более эффективно использует дисковое пространство. Это связано с тем, что дистрибутивы и образы ОС хранятся на узле кластера в единственном экземпляре, а для данных пользователя создаётся снапшот. Таким образом, чем больше пользователей используют узел кластера, тем больше составит экономия дискового пространства.

Сжатие данных в ZFS позволяет экономить дисковое пространство и может ускорить выполнение операций с данными на накопителях. При этом сжатие данных в ZFS увеличивает нагрузку на процессор. Сжатие эффективно, если на дисках хранятся файлы с возможностью высокого уровня сжатия. Например, большое количество лог-файлов. Для дисков с высокой скоростью работы и большим количеством свободного места, сжатие рекомендуется отключить.

ZFS обладает возможностью дедупликации. Дедупликация — это метод сжатия данных, исключающий повторяющиеся блоки информации. Файловая система записывает данные блоками определённого размера. Дедупликация позволяет при записи на диск определить дублирует ли записываемый блок уже существующий. Если такой блок уже был записан на диск, то повторная запись блока не происходит. Вместо записи создаётся ссылка на уже существующий идентичный блок. Тем самым дедупликация экономит используемое дисковое пространство.

Обратите внимание!

Включение дедупликации значительно увеличивает потребление ресурсов процессора и оперативной памяти.

Подробнее о ZFS см. в официальной документации.

Настройка ZFS в VMmanager


VMmanager использует ZFS только в кластерах с LXD-виртуализацией. Образы ВМ хранятся на узле кластера, LXD-контейнеры с ВМ и операционные системы — в пуле ZFS.

Чтобы подготовить сервер для подключения к кластеру:

  1. Перед установкой ОС оставьте на диске сервера неразмеченное пространство.
  2. Убедитесь, что разделы диска имеют правильную нумерацию:

    cat /proc/partitions
    CODE

    Пример ответа

    major minor #blocks    name
    259   0     1999634432 nvme0n1
    259   1     524288     nvme0n1p1
    259   2     4194304    nvme0n1p2
    259   3     51200000   nvme0n1p3
    259   4     1943714799 nvme0n1p4
    CODE

    Устройство nvme0n1 должно иметь значение minor равное 0, первый раздел устройства nvme0n1p1 — равное 1, второй раздел устройства nvme0n1p2 — равное 2 и т.д.

  3. Настройте на сервере ZFS-пул:
    1. Установите утилиту zfsutils-linux:

      sudo apt install zfsutils-linux
      BASH
    2. Создайте ZFS-пул: 

      zpool create <zpool_name> <device>
      BASH

      <zpool_name> — имя пула

      <device> — имя раздела



Связанные статьи