Корень на squashfs и aufs
_SerEga_ 24 Августа, 2012 - 12:06
Собственно хочется перенести весь корень на squashfs+aufs. Сейчас так работают usr, opt и часть var. Начал разбираться с init в ядре собранном genkernel, судя по всему оно уже это поддерживает. Но доков по этому поводу не нашел, даже в man
loop=<...>, looptype=<...> TO BE DOCUMENTED
Вопрос в том, есть ли где нибудь доки или придется разбираться со скриптом?
»
- Для комментирования войдите или зарегистрируйтесь
Лучше, ИМХО, разобраться со
Лучше, ИМХО, разобраться со скриптом. Например, можно расковырять initramfs с systemrescuecd
Понятно, что лучше. Но
Понятно, что лучше. Но изобретать велосипед не хотелось (
Буду переделывать генкернеловский, там надо только научить его монтировать поверх блочное устройство, а не tmpfs и разобраться как правильно активировать и передать параметры.
Еще смущает:
aufs Enables support for AUFS2 (if available in the kernel).
Но нигде не нашел привязки ко второй версии(у меня третьей), а название модуля одинаковое
Я пару лет назад работал над
Я пару лет назад работал над практически идентичной задачей. Если интересно, могу поделиться наработками. Но не раньше сентября - я в отпуске сейчас.
Спасибо, это будет полезно.
Спасибо, это будет полезно.
Удалось загрузиться, теперь
Удалось загрузиться, теперь буду разбираться как корректно выключаться )
Доброго времени... Будте
Доброго времени... Будте добры, для несведущих, объясните для чего это нужно и какие преимущества можно получить на практике используя эту схему?
Как минимум два: 1. Ускорение
Как минимум два:
1. Ускорение запуска приложений за счёт уменьшения объёма данных, которые нужно считать с диска;
2. Возможность быстрого возвращения системы в первоначальное состояние (на момент создания squashfs образа).
По первому пункту:
squashfs образ, по своей сути архив, за счёт сжатия размер данных, которые необходимо считать с диска при запуске приложений раза в 2-2,5 меньше, по сравнению с не сжатыми данными, это при xz методе сжатия, если вы используете обычный диск с магнитными пластинами (HDD), а не SSD это существенно повысит отзывчивость системы. Кроме того поиск по файловой системе с помощью find будет происходить быстрее, т.к. при создании образа squashfs данные упорядочиваются. Отсюда следствие portage будет работать быстрее.
По второму пункту:
для внесения изменений в систему используется отдельный раздел, который каскадно монтируется с помощью aufs на запись, если после внесения каких-либо изменений вы хотите вернуться к первоначальному состояни вам будет достаточно удалить файлы с этого раздела и перезапустить систему.
Я делал из интереса. А так
Я делал из интереса.
А так заметно увеличилась скорость загрузки и первого запуска приложений, т.к. раньше все занимало 7Гб, а теперь 3Гб. Во вторых основная часть системы в readonly, т.е. полная зашита почти от любых деструктивных действий софтового характера. по сути диск squashfs - бэкап, на подобие stage4, только не требующий дополнительного места.
portage с squashfs+aufs+tmpfs вообще летает )
_SerEga_ написал(а): Я делал
А если надо будет обновить много пакетов, например, KDE-компоненты? получается перезаписывать образ надо будет?
Да, периодически надо делать
Да, периодически надо делать новый образ.
.
А поделиться наработками? :)
(лучше у Вики, здесь ссылку)
:wq
--
Live free or die
Для выкладывания пока
Для выкладывания пока сыровато и костыльно. Если будешь пробовать выложу сюда.
проблемы такие: 1) при выключение lvm пытается деактивировать свои диски, а там корень...
2) vlc не там ищет plugins.dat
3) мелочь не понятно:
надо как-то автоматизировать процесс, а то сейчас получается так: собираю ядро, потом модуль aufs, потом распаковываю генкерноловский initramfs пихаю туда исправленные скрипты, модуль и запаковываю. И допилить init скрипт: либо полностью избавившись от неиспользуемого функционала генкернела, либо реализовать возможность выбора как грузить.
Это не кажется шибко сложным, но сейчас нет времени этим заниматься.
ps Возможно в наработках eegorov эти проблемы решены.
по пункту 1 можешь посмотреть
по пункту 1 можешь просто подправить соответствующий сервис в /etc/init.d. Я lvm не использовал, поэтому с ним и проблем у меня не было. Была проблема с отмонтированием корневого squash-образа (поверх которого смонтирован aufs). Но она решилась исправлением, ЕМНИП, правкой /etc/init.d/localmount (просто подсмотрел, как это реализовано в systemrescuecd)
Насчет сервиса lvm думаю, о
Насчет сервиса lvm думаю, о том, что бы вообще убрать его. Т.к. диски lvm должны появляются до запуска lvm и выключаться должны после
проблемы с размонтированием корня нет, и судя по тому что выводиться на экран все монитруется в ro