UnionFS (UnionFS)

Перейти к навигации Перейти к поиску

UnionFS — вспомогательная файловая система для Linux и FreeBSD, производящая каскадно-объединённое монтирование других файловых систем. Это позволяет файлам и каталогам изолированных файловых систем, известных как ветви, прозрачно перекрываться, формируя единую связанную файловую систему. Каталоги, которые имеют тот же путь в объединённых ветвях, будут совместно отображать содержимое в объединённом каталоге новой виртуальной файловой системы.

Когда ветви монтируются, то указывается приоритет одной ветви над другой. Следовательно, когда обе ветви содержат файл с идентичным именем, одна ветвь будет иметь больший приоритет.

Различные ветви могут одновременно находиться в режиме «только чтение» и «чтение-запись», таким образом, запись в объединённую виртуальную файловую систему будет направлена на определённую реальную файловую систему. Это позволяет файловой системе выглядеть изменяемой, но в действительности, не позволяющей производить запись изменений в файловую систему, этот процесс также известен как копирование при записи. Это может потребоваться, когда носитель информации физически допускет только считывание, как в случае с Live CD-дисками.

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

[править | править код]

В Knoppix можно произвести каскадно-объединённое монтирование файловой системы CD-ROM или DVD-ROM с файловой системой, содержащейся в файле образа knoppix.img, который располагается на записываемом устройстве (таком как USB Flash Drive), где записываемое устройство имеет больший приоритет, чем файловая система СD-ROM. Это позволяет пользователю изменять любые файлы операционной системы, в то время как новый файл хранится в записываемом образе и прозрачно используется вместо того, который находится на CD-ROM.[1]

UnionFS может использоваться при создании шаблона общего назначения для большого числа файловых систем, а также для создания файловых систем в режиме «только чтение» из соображений безопасности. UnionFS иногда используют как решение для создания снимков файловой системы.

Другие реализации

[править | править код]

Существует две версии UnionFS для Linux. Версия 1.x является изолированной, которая может быть собрана в виде модуля. Версия 2.x — новее, реконструированная. В январе 2007 UnionFS была включена в ветку Linux -mm, которую поддерживает Эндрю Мортон, означая дальнейшее полное включение в основную ветку ядра Linux. Версия 2.x является мельчайшей реализацией каскадно-объединённого монтирования для Linux, она была тщательно проверена и исследована многими разработчиками ядра, к тому же является самой эффективной.

Aufs — альтернативная версия UnionFS для Linux.

Операционная система Plan 9 широко использует каскадно-объединённое монтирование для построения пользовательского пространства имён на пользователя/процессы. Схожая идея, реализованная как каскадно-объединённое монтирование, была доступна в BSD начиная, как минимум, с 1995 года.[2]

GNU Hurd использует UnionFS.[3] По состоянию на январь 2008 года она работает, но приводит к монтированию файловой системы в режиме «только чтения».

mhddfs работает как UnionFS, но позволяет сбалансировать доступное пространство файловых систем при работе с файлами.

Примечания

[править | править код]