Назад | Перейти на главную страницу

ZFS и кэш-устройства

Я собираюсь добавить SSD-диски в свои хранилища ZFS в качестве кеша. У кого-нибудь есть опыт в этом? Что, если кэш-устройство выйдет из строя, это повлияет на данные?

В основном существует три типа кеша ZFS, все они используются как для данных, так и для метаданных.

  • ARC (Adaptive Replacement Cache) - Кэш DRAM основной памяти для операций чтения и записи.
  • L2ARC (уровень 2 ARC) - безопасное чтение кеша: нет потери данных / прерывания обслуживания из-за отказа устройства. Обычно на основе SSD.
  • ZIL (ZFS Intent Log) - безопасно хранит записи в постоянном хранилище, которые также ожидают в ARC записи на диск. Данные редко должны находиться в этом кэше дольше 30 секунд, и данные никогда не читаются, кроме как после сбоя для воспроизведения любых незафиксированных записей пула. В любой из последних версий ZFS сбой устройства Zil не приведет к потере данных (все данные все еще в ARC), но сбой устройства + сбой или отключение питания могут привести к потере некоторых записей.

Сначала обновите свой ARC, купите кучу оперативной памяти. Обратите внимание, что L2ARC и Zil также имеют накладные расходы, выделенные из ARC.

L2Arc заполняется блоками кэширования для чтения по мере их удаления из ARC. ZFS по умолчанию кэширует только случайные операции ввода-вывода (небольшие чтения) в L2ARC и не используется для потоковой передачи рабочих нагрузок (если не указано). В принципе, вы можете использовать для этого любое устройство (включая быстрый 15k HD), но лучше всего он работает с SSD, который легко обрабатывает множество операций ввода-вывода в секунду при произвольном чтении.

ZIL ускоряет рабочие нагрузки, требующие синхронной записи (перед продолжением выполнения процессы ожидают подтверждения, что запись действительно была зафиксирована на диск). Zil выполняет ту же роль, что и кэш-память с батарейным питанием на высокопроизводительных RAID-контроллерах. Хотя задержка записи и потоковая запись IOPS - это то, что определяет хороший SSD Zil, Zil, прежде всего, никогда не должен терять данные в случае потери питания. Многие подходящие устройства имеют суперконденсатор для завершения любых отложенных операций без питания системы. Раньше рекомендовали твердотельные накопители SLC с высокой продолжительностью записи (Intel X25-E), но новые устройства используют ОЗУ с батареей / суперконденсатором для обратной записи в NAND в случае сбоя питания. ZIL не обязательно должны быть большими, но, используя лишь небольшую часть большого устройства (например, 8 ГБ из 300 ГБ твердотельного накопителя Intel 320 MLC), вы можете добиться гораздо более высокой эффективной стойкости при записи. Производители «Enterprise» всегда рекомендуют зеркальные ЗИЛы, мои рабочие нагрузки никогда не были так важны.

Что касается конкретных продуктов, STEC изготовила первые твердотельные накопители для проекта Sun Fishworks (как Logzilla, так и Readzilla) и имеет текущие устройства для ZIL (ZeusRAM 2500 долларов США / 8 ГБ) и L2ARC (Zeus IOPS $ 3 тыс. / 400 ГБ), которые настоятельно рекомендуются. Также стоит подумать о твердотельных накопителях на базе PCIe, например о ЗИЛе. DDRdrive x1 (2 тыс. Долл. США / 4 ГБ) или любой большой твердотельный накопитель PCIe для L2ARC. Другие менее производительные (читай: более дешевые) 2,5-дюймовые SSD-устройства также могут предложить значительный прирост производительности, особенно при использовании в совокупности для L2ARC.

http://web.archive.org/web/20100911224754/http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

(Веб-сайт Solaris Internals больше не работает, но у WebArchive есть копия)