rootfs readonly vs overlayfs

Монтирование в существующий каталог делает вызов mount практически атомарным: он либо успешен, либо не работает, по крайней мере, с точки зрения пользователя. Если бы mount сам создавал точку монтирования, у него было бы две точки отказа, что сделало бы невозможным гарантировать чистый откат. Представьте себе следующий сценарий:

  1. mount успешно создает точку монтирования
  2. mount пытается смонтировать новую файловую систему в этот каталог, но терпит неудачу
  3. mount пытается удалить точку монтирования, но fails

Побочным эффектом системы является сбой монтирования .

Вот еще один:

  1. umount успешно размонтирует файловую систему
  2. umount пытается удалить точку монтирования, но терпит неудачу

Теперь должен umount вернуть успех или сбой?

1
08.10.2018, 23:00
1 ответ

Определенно возможно иметь корневую файловую систему -только для чтения. Это неудобно и необычно для серверов -или рабочих станций -, но распространено во встроенных системах. Корневая файловая система только для чтения -имеет некоторые ограничения, в основном:

  • Вы не можете ничего обновить или добавить какое-либо программное обеспечение (, за исключением других файловых систем, например. с /usr/localна отдельном разделе ). Это не проблема, если вы обновляетесь, заменяя образ файловой системы во флэш-памяти целиком.
  • Вы не можете ничего изменить в /etc.Это означает, что любая конфигурация должна выполняться по-другому; типичные решения включают:

    • через файлы в других каталогах (и тогда нужно настроить приложение по-другому );
    • через символическую ссылку на другой каталог;
    • динамически, т.е. скриптом, который считывает переменные конфигурации из NVRAM.

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

  • Если один и тот же образ файловой системы развертывается на нескольких машинах, вам необходимо сделать так, чтобы все данные, относящиеся к -машине, находились за пределами образа файловой системы. Это включает имя хоста, ключ сервера SSH и т. д.
  • Обычно вам нужны некоторые постоянные перезаписываемые файлы в /var, такие как журналы в /var/logи файл случайного начального числа (, если у вас нет аппаратного генератора случайных чисел ).
3
27.01.2020, 23:31

Теги

Похожие вопросы