Прозрачное перемещение файлов между ФС
Возникла следующая идея: есть ноутбук, у него есть жесткий диск, SD картчка и tmpfs. Может быть есть способ перенести файл с одного носителя наа другой так, чтобы программы продолжили работать с ним уже на новом носителе. Что-то вроде unionfs с возможностью перемещать файлы между ветвями.
Это нужно ля того, чтобы в дороге можно было бы скинуть с жесткого диска нужные файлы на флешку или в память и остановить hdd. Корневую систему при этом придется разместить на флешке, но кардридер иногда нужен, а значит хотелось бы иметь возможность перенести корень на hdd и освободить флешку.
Трюк с корневой файловой системой можно сделать при помощи soft RAID mirror, монтировать только на чтение и отключить синхронизацию. А вот для переноса рабочих файлов этот метод не пойдет. Может кто-то знает подходящую технологию?
- Для комментирования войдите или зарегистрируйтесь
флэшка сдохнет быстро
флэшка сдохнет быстро
Смотря как её использовать. Я
Смотря как её использовать. Я как раз хочу на флешку запихать корневую ФС, которая почти не изменяется, только при обновлении мира. /tmp скинуть в tmpfs, /usr/portage и /var/tmp/portage однозначно остаются hdd. Т.е. обновляться можно только в режиме, когда hdd активен. Остаются var и home. Как поступить с var пока не знаю, частично в tmpfs (run), логи на время остановки винчестера можно вообще отключать. /var/www и файлы СУБД хотлось бы обрабатывать так же, как и home. А вопрос с home я бы как раз и хотел бы решить методом временного перемещения файлов либо на флешку, либо в оперативку по моей команде. Причем, исходя из того, как я обычно работаю с компьютером, мне понадобится переносить файлов совсем не много, либо меньше 30 мегабайт (пойдет в оперативку), либо ~300 мегабайт - редко изменяющихся массивы данных, редкое их переписывание не испортит флешку.
Т.е. я хочу от ноута режим "Закэшируй мне вот эти файлы, я с ними сейчас буду работать, отключи винчестер и ценой ограничения функционала до заранее мной указанного стань нечувствителен к любой тряске."
Которая по стандартной
Которая по стандартной технологии (где заявляется 10000 циклов, но в реальном режиме стоит рассчитывать на не более 10% от заявляемого) --- однозначно.
А вот которая типа SSD (где обещают до миллиона циклов), да с учётом режиме эксплуатации (в котором HDD смотрится не лучшим образом) --- вопрос.
:wq
--
Live free or die
вот любиш ты поязвить
тут реч шла не о замене винта на SSD а о внейней флэшке.
Пока ноут на гарантии - о
Пока ноут на гарантии - о внешней флешке. А потом можно будет и ssd напаять, в дополнение к жесткому диску, еслии технология себя оправдает. В том числе не хочу делать модификацию железа т.к. один hdd уже накрылся, починили по гарантии.
Но, повторюсь еще раз, на флешке будет в первую очередь корневая ФС в режиме ro. Обновление будет только с привлечением винчестера. Остальное я надеюсь помещать в оперативку. Пожтому нагрузки на запись почти не будет и флешка должна протянуть долго.
.
Прекрасная оговорка.
И с
ext2
, чтобы наверняка.:wq
--
Live free or die
Тогда такой вопрос к
Тогда такой вопрос к знатокам.
Что будет, если в unionfs объеденены 2 ФС и на более приоритетной появляется файл, который уже есть на менее приоритетной. Понятно, что новые приложения точно будут работать с новым файлом, а как отнесутся старые? Содержимое файла такое же, главное чтобы ФС не создала каждому процессу "свою" версию файла.
Есть ли способ залочить файловую систему. Т.е. я хочу провести транзакцию: скопировать файл с одной ФС на другую. И мне надо гарантировать, что по завершении копирования файлы бинарно одинаковы, даже если в исходный кто-то что-то начал писатьво время копирования. Доступ к файлу должен быть заморожен для всех приложений, кроме заданного. Мойдет и заморозка файловой системы в целом. flock в данном случае не прокатит - в unix он имеет чисто рекомендательный характер.