Overlay filesystem (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи 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 автоматически монтируется только для чтения.

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