The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Флешка вместо винта - буфера"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Флешка вместо винта - буфера"  
Сообщение от Призрак email(ok) on 16-Май-08, 13:27 
Во имя тишины и покоя, купил я девайс для подтыкания CompactFlash-ки в IDE слот и решил перенести шлюз на неё. Встаёт вопрос о минимизации количества перезаписей, и к тому же скорости. Памяти у меня достаточно. var и tmp разделы я сделаю на md-дисках, но всё равно, хотелось бы сделать так чтобы все изменения файловой системы так и оставались, например, в буфере soft-updates, и записывались на диск только при завершении работы либо переполнении этого буфера (я бы пожертвовал мегов пятьдесят памяти, должно хватить). Может быть, какое-то отношение к этому имеет волшебное слово async, знал бы я ещё что оно значит... Может быть, можно достичь этого через какую-нибудь UNIONFS, только потом чтобы изменения записывались... Какие есть варианты?..
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Флешка вместо винта - буфера"  
Сообщение от Аноним (??) on 16-Май-08, 13:54 
>[оверквотинг удален]
>IDE слот и решил перенести шлюз на неё. Встаёт вопрос о
>минимизации количества перезаписей, и к тому же скорости. Памяти у меня
>достаточно. var и tmp разделы я сделаю на md-дисках, но всё
>равно, хотелось бы сделать так чтобы все изменения файловой системы так
>и оставались, например, в буфере soft-updates, и записывались на диск только
>при завершении работы либо переполнении этого буфера (я бы пожертвовал мегов
>пятьдесят памяти, должно хватить). Может быть, какое-то отношение к этому имеет
>волшебное слово async, знал бы я ещё что оно значит... Может
>быть, можно достичь этого через какую-нибудь UNIONFS, только потом чтобы изменения
>записывались... Какие есть варианты?..

async - асинхронная запись. Данные сначала помещаются в буфер, потом постепенно записываются на диск. Если сделаете sync, то данные будут писаться сразу, но и вы рискуете получить тормозящую систему.

Я не знаю, как решить вашу задачу, но думается мне, что смотреть надо в сторону squashfs

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Флешка вместо винта - буфера"  
Сообщение от Призрак email(ok) on 16-Май-08, 14:24 
Спасибо ^_^

Я попробую разобраться с этими разными файловыми системами, но вспоминая ман по настройке ядра - можно ещё попытаться поискать, вдруг есть какие-нибудь параметры soft-updates, которые вкомпилируются в ядро... и там просто увеличить буфер...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Флешка вместо винта - буфера"  
Сообщение от Асен Тотин on 17-Май-08, 00:40 
Привет,

Личные впечатления от такой самодельной машины дома:

1. Ставьте нежурнальную FS (типа ext2). Журналирование тормозит заметно работу и flash не всегда справляется (возможны сбои FS там, где их нормально не было бы).

2. Количество перезаписей flash памяти не важно, она выдержит гораздо больше циклов, чем вам нужно; однато flash заметно медленнее диска, поэтому ограничьте количество работющих демонов и программ до минимума; так же, выключите автоматический update дистрибутива.

WWell,

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Флешка вместо винта - буфера"  
Сообщение от Призрак email(ok) on 17-Май-08, 14:30 
>[оверквотинг удален]
>1. Ставьте нежурнальную FS (типа ext2). Журналирование тормозит заметно работу и flash
>не всегда справляется (возможны сбои FS там, где их нормально не
>было бы).
>
>2. Количество перезаписей flash памяти не важно, она выдержит гораздо больше циклов,
>чем вам нужно; однато flash заметно медленнее диска, поэтому ограничьте количество
>работющих демонов и программ до минимума; так же, выключите автоматический update
>дистрибутива.
>
>WWell,

Спасибо за советы, так и сделаю!.. хотя я рассчитывал что будет возможность кэшировать считанные данные, и журнал фс с часто считываемыми местами будут сидеть в памяти...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Флешка вместо винта - буфера"  
Сообщение от Аноним (??) on 17-Май-08, 00:56 
> Какие есть варианты?..

Шлюз?! На шлюзе вообще ничего писать не надо - все ФС в R/O и точка. Если с какого-то ляда надо все-таки что-то писать - пиши на md и при shutdown'е копируй на флешку.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Флешка вместо винта - буфера"  
Сообщение от Призрак email(ok) on 17-Май-08, 14:33 
>> Какие есть варианты?..
>
>Шлюз?! На шлюзе вообще ничего писать не надо - все ФС в
>R/O и точка. Если с какого-то ляда надо все-таки что-то писать
>- пиши на md и при shutdown'е копируй на флешку.

Я тоже так подумал, но на всякий случай хотелось бы чтобы это происходило автоматически и по возможности ещё и с кэшированием считанного... Наверное, надо сделать так, а пока разбираться, что мне могут дать разные хитрые файловые системы...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Флешка вместо винта - буфера"  
Сообщение от Аноним (??) on 19-Май-08, 07:55 
>Я тоже так подумал, но на всякий случай хотелось бы чтобы это
>происходило автоматически и по возможности ещё и с кэшированием считанного... Наверное,
>надо сделать так, а пока разбираться, что мне могут дать разные
>хитрые файловые системы...

Ну самое простое - написать rc скрипт, который при загрузке будет копировать файлы с шлешки на md, при шутдауне (и/или по крону) - обратно. Копировать - чем удобно, cp/tar/pax (на флешке, кстати, их можно так и зранить в виде .tar/.tar.gz).
Файловые системы, мне кажется, особо много не дадут. Разве что unionfs поможет избежать копирования части файлов, а снапшоты (ufs/zfs) "заморозить" состояние ФС для копирования без остановки записи данных.

Если делать нечего, можно почитать man 4 syncer и посмотреть что получится, если покрутить указанные там sysctl. Если пишущие на диск процессы не будут вызывать fsync, надо думать, что получится то что вам надо, но это сложно гарантировать.

А в целом мне кажется что способ с tar - самый прямой.

Кстати, насчет async осторожнее - man mount на эту тему.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру