RAM диск и физический RAID
Мне нужно создать много временных файлов, к которым у меня должен быть быстрый доступ, поэтому я думаю об использовании RAM-диска. Проблема в том, что временные файлы могут быть довольно большими (1-4 ГБ), и в этом случае на диске будет все в порядке.
Есть ли способ создать смесь между RAM-диском и физическим HDD, чтобы HDD использовался в худшем случае (когда я встречаю большие временные файлы)?
---Редактировать---
Я не могу позволить себе более быстрые твердотельные накопители, и мне не нужно постоянное хранилище, и мне не нужны 100 ГБ временных данных. Для этого я использую свой домашний компьютер (система AMD 2 ГГц...). Я получил совет о UnionFS. Каков опыт с этим?
5 ответов
Используйте tmpfs и большой раздел подкачки или файл. Эта файловая система будет кешировать данные в памяти как можно дольше и записывать их на диск, если они не помещаются в ОЗУ.
Почему бы не попробовать использовать твердотельные накопители SSD? Вы можете получить те с емкостью 100 ГБ или более, и они намного быстрее, чем стандартные диски.
Я бы предпочел вариант RAID 0 (чередование) с аппаратным контроллером RAID. Я процитировал сервер кодирования видео, и чистые диски - это 15k SAS в RAID 0, и он просматривает видео, как ничто иное.
В зависимости от того, как долго вы собираетесь хранить эти временные файлы, вы можете использовать файловую систему, такую как XFS или ext4, которая поддерживает отложенное размещение. Такие файловые системы являются "достаточно умными", поэтому, если недолговечный файл удаляется до его размещения (все еще в кеше), он вообще никогда не размещается на диске и никакие данные не записываются.
Я попробовал это с XFS против ext3, и разница была удивительной, тестовая программа, которая создает много временных файлов и затем удаляет их через некоторое время, почти не выполняла ввод-вывод в XFS, но загружает в ext3.
Но я согласен с другими постерами, tmpfs тоже неплох (на самом деле может быть и лучше)
Вы спрашиваете, можете ли вы создать ramdrive для кэширования некоторых временных файлов и другого раздела дискового пространства для ваших больших временных файлов и автоматического смешивания и сопоставления между ними по мере необходимости? Это звучит немного сложнее для достижения. Возможно, в зависимости от бюджета вам будет лучше взглянуть на установку SSD-накопителя, который будет использоваться для временных файлов / подкачки, или на получение пары жестких дисков и чередование чтения / записи данных.
Я полагаю, что вы можете попробовать использовать программный RAID с двумя дисками, один физический раздел и один полностью в памяти, чтобы создать JBOD (просто набор дисков); Вы могли бы задавать вопросы с этим, хотя, поскольку один диск не является реальным. Это может привести к забавным показателям производительности, если это сработает. Это будет работать? Без понятия. Я не слышал о людях, делающих это, но этот подход я бы сначала изучил.
Лично я бы посмотрел на обновление ваших дисков до более быстрых дисков (например, 15000 об / мин) и использование RAID для их чередования, программный или аппаратный RAID (не на mobo) или использование маршрута SSD, поскольку они могут быть быстрыми, но сжечь ваш кошелек как Что ж. В противном случае вы могли бы посмотреть на работу 64-битной ОС и получение достаточного количества ОЗУ для создания ОЗУ объемом в несколько гигабайт для достижения того, на что вы рассчитываете.