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-битной ОС и получение достаточного количества ОЗУ для создания ОЗУ объемом в несколько гигабайт для достижения того, на что вы рассчитываете.

Другие вопросы по тегам