2

Существует ли избыточная RAID/ZFS-подобная файловая система, которая может оптимизировать размещение файлов на основе их шаблонов доступа? Моя цель - создать настольную систему, которая будет автоматически перемещать файлы между жестким диском, твердотельным накопителем и RAM-диском в зависимости от того, как и как часто к ним обращаются, чтобы контролировать износ с помощью произвольного выбора объема. Например, файлы, которые часто читаются (и открываются только для чтения), будут помещены на SSD; файлы, которые часто читаются, но открываются для доступа на чтение и запись, будут помещены на RAM-диск; файлы, к которым редко обращаются, переместятся на HD.

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

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

3 ответа3

3

ZFS уже выполняет такую оптимизацию автоматически. Просто добавьте SSD в качестве устройства кэширования в вашем пуле, и ваши файлы (фактически блоки данных) будут расположены, от менее активных до самых активных:

  • на штатных дисках
  • на твердотельных накопителях (L2ARC)
  • в оперативной памяти (ARC)

Алгоритм, используемый ZFS ARC (кэш адаптивной замены), основан как на наиболее часто используемых блоках, так и на самых последних.

http://blogs.oracle.com/brendan/entry/test

3

Вы должны взглянуть на Btrfs, особенно на балансировочные части. Он может включать в себя код, который либо точно, либо близок к тому, что вам нужно, и который вы можете использовать.

Система, как вы описываете, является почти кеш-подобной и, безусловно, может быть применена как дополнение к существующим файловым системам в некоторой степени. Некоторые вещи, на которые следует обратить внимание:

  • Дисковые контроллеры не распространяют записи немедленно, что означает, что быстрая запись одного и того же файла за короткий промежуток времени не приведет к тому, что базовое оборудование будет обновляться столько раз.
  • Твердотельные накопители не такие слабые, какими они были когда-то, и могут выжить так же сильно, как и жесткие, если не больше. Отсутствие движущихся частей замечательно!
  • Предложенный вами дизайн будет полезен только в том случае, если шаблоны доступа меняются не так часто, как в любом другом кеше. В последние годы асинхронный ввод-вывод ускорил воспринимаемое время взаимодействия с диском, но иногда это зависит от поддержки на уровне приложений. С другой стороны, патчирование ОС для предоставления копии файла в оперативной памяти приложениям, в то время как выполнение AIO для жесткого диска, может обеспечить такой уровень стойкости данных, который не даст вам система, работающая только в памяти (см. : memcached, и почему он настоятельно не рекомендуется использовать в качестве механизма сохранения)

Я понимаю, что конечная цель - быть максимально прозрачной для ОС / пользователя / приложений, представить только один том / диск / раздел и позаботиться обо всем на внутреннем уровне. Я не уверен, что настольный компьютер - лучшая цель для такой системы, потому что я сомневаюсь, что он будет таким же полезным, как если бы он был создан для серверов.

PS Это было в аппаратном обеспечении как гибридные диски в течение некоторого времени. Часть оперативной памяти не используется, но, с другой стороны, пользователи настольных компьютеров все равно не заметят этого. Еще одно предложение - это Combo Drive, а у Google Scholar есть и другие.

1

Возможно, вы захотите заглянуть в bcache: http://bcache.evilpiepirate.org/

Это выглядит многообещающе, но я еще не пробовал.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .