Регистрация и оверлейные файлы в существующей установке Ubuntu
У меня есть система Ubuntu, которая в основном будет использоваться в качестве автономного устройства, и мне нужно изящно восстанавливаться после внезапной потери питания и начать нормально работать.
Я понимаю, что overlayfs - это путь, но мне все еще нужно регистрировать и хранить данные, включая системные журналы, такие как сбои и ведение журнала.
Если я правильно понимаю, я не могу просто настроить каталог под root и сделать это для чтения / записи - мне нужен отдельный раздел с отдельной файловой системой для ведения журнала и сбора данных, поэтому, если он действительно поврежден, я все равно могу загрузить root, определите ситуацию и fsck раздела данных.
- Правильно ли мое понимание? Есть ли другие варианты, которые я должен рассмотреть?
- Ubuntu уже установлена и работает (готовые системы), как я могу сделать это без полной переустановки?
- Достаточно ли вести поиск журналов и журналов сбоев или существуют другие системные журналы, которые также обычно сохраняются в подобных ситуациях?
- Есть ли руководство для этого? Руководства, которые я видел, покрывают оверлеи вообще или реализуют их без особой регистрации, но я не видел ни руководства, ни сценария, который делает оверлеи с регистрацией с хорошей детализацией, поэтому мне приходится искать каждую часть отдельно.
Эти системы используют настольный Ubuntu, и графический интерфейс будет использоваться время от времени, однако я хотел бы иметь возможность в конечном итоге автоматизировать настройку и установку, поэтому, хотя графические инструменты в порядке, конфигурация командной строки предпочтительнее.
1 ответ
Используя Ubuntu LiveUSB, запустите gparted, чтобы уменьшить существующий раздел ext4 и создать новый раздел, называемый "data-rw" как в имени, так и в метке.
Перезагружать.
Этот раздел будет автоматически смонтирован при загрузке, вероятно, в /media/user/data_rw
, Теперь, когда у нас есть второй диск, давайте переместим на него файлы журнала. Почти все ведение журнала делается для /var/log
Итак, давайте создадим новый каталог на втором диске и свяжем его там.
Создайте каталог журналов в новом разделе, синхронизируйте существующие файлы с пользователями и разрешениями и выполните привязку в fstab, чтобы она автоматически загружалась:
sudo mkdir /media/user/data_rw/log
sudo rsync -a --include '*/' --exclude '*' /var/log/ /media/user/data_rw/log/
sudo nano /etc/fstab
Добавьте эти строки в конец (при необходимости измените имя устройства):
/dev/sda3 /media/user/data_rw ext4 rw,nosuid,nodev,relatime,data=ordered 0 2
/media/user/data_rw/log /var/log none rw,bind 0 0
Мы хотели бы принудительно проверить диск на доступный для записи раздел с автоматическим исправлением ошибок. Теоретически, это должно сработать, но не ясно, что это в моем случае, поэтому рассмотрим это подробнее. редактировать
/etc/default/grub
и найти строку сGRUB_CMDLINE_LINUX_DEFAULT
, затем добавьтеfsck.mode=force fsck.repair=yes
на эту линию. Делатьsudo update-grub
записать изменения в загрузчикУстановите оверлеи,
sudo apt-get install overlayroot
и редактировать/etc/overlayroot.conf
изменив параметр overlayroot наoverlayroot="tmpfs:swap=1,recurse=0"
Это приведет к тому, что overlayroot покроет только корневой диск и ничего больше, оставив наш диск data_rw в покое.
Теперь перезагрузите компьютер, и вы увидите, что добавление файла в ~/
исчезнет при следующей загрузке, но при добавлении файла в /media/user/data_rw
или же /var/log
будет сохраняться через сапоги.
С помощью journalctl
вы должны обнаружить, что журналы сохраняются и при загрузке, и если ваша система дает сбой, вы должны найти журналы сбоев в /var/log
даже после перезагрузки.
Если вам нужно изменить защищенную файловую систему, перезагрузите компьютер и когда появится grub, нажмите e
отредактировать скрипт запуска grub. На линии Linux добавить overlayroot=disabled
к концу. Это будет работать до перезагрузки. Вы можете добавить новый параметр загрузчика grub, если это часто требуется.
Поскольку записи никогда не производятся в корневой раздел, доступный только для чтения, он никогда не должен отображать ошибки и должен прекрасно загружаться после внезапного отключения питания. Однако раздел data_rw может иметь незавершенные записи в него. Fsck должен исправить это, но в худшем случае диск не будет монтироваться при загрузке, привязка не произойдет, а журналы будут записаны в оверлей и не будут сохранены. Тем не менее, система будет продолжать работать, и если это критически необходимо, вы можете обнаружить это состояние с помощью сценариев или программного обеспечения и принять меры.
Вы можете написать напрямую в /media/user/data_rw или использовать службу регистрации systemd для захвата ваших журналов.
Большая часть этого ответа возможна благодаря следующим ресурсам:
https://spin.atomicobject.com/2015/03/10/protecting-ubuntu-root-filesystem/
/questions/10486/kak-sdelat-mount-bind-postoyannyim/10496#10496