LINUX.ORG.RU
ФорумTalks

[brainstorm]использование ramdisk в качестве /

 


0

0

Что есть:
Машина с 8Гб ддр2 оперы.

Идея:
При загрузку ОС до запуска init создавать ramdisk, распаковывать туда образ / и использользовать. Перед выключением ramdisk запаковывать и заменять предыдущий(что бы результаты работы не потерялись). На винте хранить загрузочный раздел с загрузчиком и образом корневой фс и раздел с /home.

Вопросы:
Чем можно распаковать\сжать образ корневой фс? Как создать рамдиск и распаковать туда образ корневой фс до запуска init?

★★★

Может просто синхронизировать просто раз час.

gamecoder
()

>Перед выключением ramdisk запаковывать и заменять предыдущий(что бы результаты работы не потерялись).

Внезапно, вырубили свет.

Hetor
()
Ответ на: комментарий от Hetor

Просто не сохранится текущий сеанс.

Axon ★★★★★
()

>При загрузку ОС до запуска init создавать ramdisk, распаковывать туда образ / и использользовать.
Ты не поверишь, но обычно всё так и загружается. initramfs же. Из него (опционально) переключается / на «реальный» и запускается «реальный» init. Осталось реализовать

Перед выключением ramdisk запаковывать и заменять предыдущий(что бы результаты работы не потерялись)


Чем можно распаковать\сжать образ корневой фс

Распаковывает ядро, сжимает mkinitramfs или что там в твоём любимом дистрибутиве.

x3al ★★★★★
()

а будет ли реальный профит? У тебя же изменяемые данные хранятся только в /var, /tmp, /home, всё остальное и так загружается в оперативную память при обращении

cuki ★★★★
()
Ответ на: комментарий от Hetor

Внезапно, задолго до этого линукс ушёл в s2disk.

x3al ★★★★★
()
Ответ на: комментарий от name_no

> aufs2

обновления долго накатывать на оригинальный / :(

Adjkru ★★★★★
()

Блин, ну кто так делает? Сначала надо сформулировать проблему. Потом проанализировать ее. Потом предложить варианты решения, рассмотрев их минусы и плюсы. А ваше предложение вообще не понятно кому, почему и для чего нужно.

Relan ★★★★★
()

Линукс и так закеширует в памяти (если её будет хватать) все обращения к диску, предложенная схема не имеет никаких преимуществ в производительности (а недостаток в том, что каждый раз при запуске читать несколько гигабайтов с диска - довольно затратная операция).

Legioner ★★★★★
()

Хм... А если слегка переформулировать задачу. Поставить максимум памяти, что сейчас возможно, а на жёстком диске оставить только раздел для с2диск и всегда им пользоваться.

Понятно, что не нужно, зато выглядит извращенней :)

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

А если сделать много разделов, то можно делать снапшоты!

Yareg ★★★
()
Ответ на: комментарий от Yareg

>Как можно переключить корень для всей системы?
В твоём дистрибутиве такое происходит при каждой загрузке. Почитай инит-скрипт в initrd, где-то в конце.
Но проще aufs.

x3al ★★★★★
()
Ответ на: комментарий от bengan

>Какая польза от squashfs на полноценных дисках ?
Читать с диска раза в 3 меньше. Даёт заметное ускорение.
Распаковка с более-менее современным процессором (даже на нетбуках) не влияет на производительность.

x3al ★★★★★
()
Ответ на: комментарий от x3al

Поставаь любую нормальную фс с компрессией и не надо будет нервничать после внезапного отключения например после кернелпаника :)

bengan
()
Ответ на: комментарий от bengan

Э? squashfs+aufs спасут от всех внезапностей. Впрочем, кернелпаник я давно не видел.
Кстати, в какой ФС с компрессией можно сделать размер блока в 128 Кбайт?

x3al ★★★★★
()
Ответ на: комментарий от x3al

>Э? squashfs+aufs спасут от всех внезапностей. Впрочем, кернелпаник я давно не видел.

Я давно что-то делал с squashfs - раньше там нельзя было напрямую делать запись на носитель с ней, так что любое непредвиденное отключение грозило потерей всех изменений, хотя кернелпаников я тоже очень давно не видел, вернее я их видел только на модулях которые сам писал :)

Кстати, в какой ФС с компрессией можно сделать размер блока в 128 Кбайт?


Я не знаю. Кстати - а это что дает ?

bengan
()
Ответ на: комментарий от bengan

>Я давно что-то делал с squashfs - раньше там нельзя было напрямую делать запись на носитель с ней, так что любое непредвиденное отключение грозило потерей всех изменений, хотя кернелпаников я тоже очень давно не видел, вернее я их видел только на модулях которые сам писал :)
И сейчас нельзя. aufs объединяет ≥2 директорий в одну, при этом можно указать в какую из них писать изменения. Естественно, ro директорией может быть squashfs.

Кстати - а это что дает

У меня raid, в любом случае лучше всего читается именно такими блоками. Даёт намного лучшее сжатие.

x3al ★★★★★
()
Ответ на: комментарий от x3al

>Естественно, ro директорией может быть squashfs.

У меня ro наверно только /etc остается - все остальное в постоянном движении :) Так что поэтому и спросил - какой смысл использовать squashfs на обычных дисках.

У меня raid, в любом случае лучше всего читается именно такими блоками. Даёт намного лучшее сжатие.


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

bengan
()
Ответ на: комментарий от bengan

Смысл в том что запись идёт не в слишком больших количествах. У меня гигабайт rw в /usr набрался недели за 2. Ну и можно время от времени пересоздавать ro-ветку.

x3al ★★★★★
()

brainstorm^2

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

const86 ★★★★★
()

зачем именно корневая? все что надо и так поднимется и ляжет в память

lester ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.