Overlay filesystem (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Overlay filesystem. Дата последней синхронизации: 27 мая 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Из первоначального коммита в ядро:

Overlayfs позволяет накладывать одно дерево каталогов (обычно доступное в режиме «чтение-запись») на другое, но с доступом только для чтения. Все изменения переходят на верхний слой с возможностью записи. Данная схема чаще всего используется с Live CD, но существует и множество других применений.
Данная реализация отличается от других каскадно-объединённых файловых систем тем, что после открытия файла все операции направляются непосредственно в базовую, "нижнюю" или "верхнюю" файловую систему, что упрощает реализацию и не ухудшает производительность в данных случаях.

Overlayfs доступен в ядре Linux с версии 3.18.

Установка

Overlayfs включён в ядре по умолчанию, а модуль overlay автоматически подгружается после ввода команды монтирования.

Использование

Используйте следующие аргументы mount для монтирования overlay:

# mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /merged
Примечание: Рабочий каталог (workdir) должен быть пустым и находиться в той же точке монтирования файловой системы, что и верхний каталог.

Нижняя директория может быть списком каталогов, разделённых :, все изменения в каталоге merged по-прежнему будут отражаться в upper.

Пример:

# mount -t overlay overlay -o lowerdir=/lower1:/lower2:/lower3,upperdir=/upper,workdir=/work /merged
Примечание: Порядок монтирования папок lowerdir: слева-направо/сверху-вниз. То есть крайняя левая папка из списка будет смонтирована как самый верхний слой из lowerdir, а крайняя правая папка, соответственно, как самый нижний слой.

Таким образом порядок слоёв из вышеупомянутого примера будет следующим:

/upper
/lower1
/lower2
/lower3

Используйте следующий формат, чтобы добавить запись overlayfs в /etc/fstab:

/etc/fstab
overlay /merged overlay noauto,x-systemd.automount,lowerdir=/lower,upperdir=/upper,workdir=/work 0 0

Параметры монтирования noauto и x-systemd.automount необходимы для предотвращения зависания systemd при загрузке, например, из-за ошибки монтирования overlay. Также overlay теперь будет монтироваться при первом обращении, а запросы будут буферизироваться до готовности самого overlay. Для получения дополнительной информации смотрите раздел Fstab (Русский)#Автоматическое монтирование с systemd.

Overlay только для чтения

Иногда необходимо создать представление из комбинации двух или более каталогов, доступное только для чтения. В этом случае его можно создать более простым способом, так как каталоги upper и work не обязательны:

# mount -t overlay overlay -o lowerdir=/lower1:/lower2 /merged

Когда upperdir не указан, overlay автоматически монтируется только для чтения.

Смотрите также