29

Мне нужно объединить две файловые системы: одну только для чтения (squashfs) и одну для чтения и записи (ext4). Мой план состоит в том, чтобы смонтировать файловую систему для чтения и записи поверх файловой системы только для чтения, чтобы она выглядела как доступная для записи. Когда я делаю некоторые изменения в файловой системе только для чтения, изменения должны идти в файловую систему для чтения и записи.

Я использую Linux 3.17, Ubuntu 14.10 и натолкнулся на следующие файловые системы: aufs, unionfs и overlayfs. Я не знаю, чем они отличаются друг от друга и что использовать в этой ситуации. Кто-нибудь может показать мне разницу между aufs, unionfs и overlayfs, или просто предложить лучший вариант для использования в этой ситуации?

3 ответа3

7

overlayfs был объединен в ядре 3.18-rc2. Теперь, когда он перешел к основному дереву Linux, разумно предположить, что в будущем overlayfs получит более широкое распространение.

3

Небольшое чтение на вики Gentoo. Выявляет одно различие между unionfs и OverlayFS. Speed OverlayFS отправляет все запросы файлового ввода-вывода непосредственно в нижележащую файловую систему. И, таким образом, потенциально быстрее, чем unionfs. aufs предоставляет супер набор функций OverlayFS. Другими словами, есть настройки, которые можно выполнить с помощью aufs, но не OverlayFS. aufs не входит в официальное ядро, но должно быть включено в вашу систему.

aufs поддерживает выбор того, какая ветвь будет доступна для записи, а не этот жесткий код драйвером. Непонятная погода или нет overlayfs делает это Unionfs нет.

Для ядра 3.17 ни overlayfs, ни aufs не были включены mainline. Ubuntu, возможно, решил включить их. Если нет, то необходимо установить соответствующий модуль ядра.

2

Я не могу предложить вам сравнение, но я использую Aufs. Если вы будете следовать инструкциям в этом сообщении в блоге, вы сможете увидеть в Примере 3, как вы можете указать, какая ветвь может быть только для чтения или для чтения и записи.

Обычно первая файловая система записывается по умолчанию, если не указано иное, как в примере 3.

 mount -t aufs -o br=/read/write/dir=rw:/read/only/dir/=ro -o udba=reval none /tmp/aufs-root/

Параметр ubda определяет, как изменения, внесенные непосредственно в папки, отражаются в системе объединения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .