Объяснение ARC и L2ARC

ZFS имеет две замечательные функции, которые резко увеличивают производительность операций чтения. Это ARC и L2ARC. ARC предназначена для замены кэша. ARC — это очень быстрый кэш, располагающийся в ОЗУ — памяти сервера.Объем доступной ARC памяти это обычна вся память сервера минус 1ГБ.

Например, Ваш ZFS сервер имеет с 12 ГБ ОЗу имеет 11ГБ выделенной под AR, что значит что ZFS сервер сможет закешировать до 11ГБ часто-используемых данных. То есть любые запросы к частоиспользуемым данных будут идти не на медленный жесткий диск, а прямо к в память. Это значительно повышает скорость доступа к часто-используемым данным.

Чем больше памяти в сервере тем больше Вы можете выделить ARC, в конце концов это вопрос стоимости. Вот тут нам помогу L2ARC — это адаптивный кэш второго уровня. В ZFS система L2ARC обычно называются кэширующими дисками (cache drivers).

Эти кэширующие диски физически представляют собой обычно MLC SSD диски.  Такие SSD диски медленнее чем RAM, но быстрее чем обычные жесткие диски. Многие люди сравнивают SSD диски с обычными дисками и получается что первые очень дороги, но если сравнить их с ОЗУ, то получается наоборот.

Когда кэширующие диски добавляются в ZFS пул, они начинают кэшировать часто-запрашиваемые данные, которые не вмещаются в ARC. Когда появляется запрос в системе, ZFS сначала пытается найти данные в ARC, если там нет, то в L2ARC, а если уж и там нет, то тогда обращается за данными к диску. То есть к дискам происходит обращение только если данных нет ни в ARC ни в L2ARC, что приводит к уменьшению количества запросов к медленным дискам.

Например, елси в ZFS проект добавить пару 160ГБ intel X25-M MLC SSD дисков и выделить 11гБ RAM для ARC, то наша система  сможет вместить до 331 ГБ часто-используемых данных. Такое смешаное решение занчительно повышает скорость доступа к данным, поскольку уменьшает частоту обращения к медленным дискам.

Запомните несколько вещей.

Кэширующие диски не зеркалируются, так как в этом нету необходимости, поскольку данные уже зазеркалированы на жестком диске. Кэширующие диски это всего лишь дешевая альтернатива RAM для кэширования частозапрашиваемых данных.

Еще надо помнить что все же надо использвоать SLC SSD диски для ZIL, елсидаже вы используете MLC SSD в качестве кэширующих дисков. SLC SSD диски, используемы для ZIL резко увеличивают скорость записи.  MLC SSD диски в качестве кэшируюищих увеличивают скорость чтения.

Если же вы решили использовать MLC SSD диски в качестве устройств для хранения данных вместо SATA и SAS дисков, то кэширующие диски вам не нужны.

Эффективность кэширования при виртуализации

Эффективность кэширования зависит от типа аднных, расположенных на массиве и как они используются. Если у Вас 9ТБ файлов и все они запрашиваются абсолютноа случайно, то кэширование не будет эффективным. Однако  если использовать кэширование для виртуальных машин, то кэширование будет очень эффективно.

Если вы хотите использовать сотни виртуальных машин, то для начала вам нужно сделать шаблон, по которому они будут создаваться. Если вы планируете хостить множество Linux/cPanel виртуальных машин, то вы должны сделать шаблон, проинсталировав CentOS и cPanel. Затем вы настраиваете чтобы сервер мог конфигурироваться через веб-браузер и выключаете машину. Шаблон готов. Все остальные сервера будут лишь копией изначального шаблога.  Технологи виртуализации будет хранить разницу между этими виртуальными машинами в специальном файле.

Когда решение виртуализации сделано таким способом, базовый шаблон будет закэширован в ARC. Это значит что доступ к основные файлы ОС и панели будут назодиться в RAM, и значит будут доступны на скорости работы памяти. L2ARC закэширует наиболее частоиспользуемые файлы пользователей, такие как файлы серверов и БД. Остальные же менее часто используемые файлы будут храниться на жестком диске, но даже и так они будут доступны достаточно быстро, если будут располагаться на RAID10.

———————————-

Это мой, надеюсь литературный, перевод статьи : http://www.zfsbuild.com/2010/04/15/explanation-of-arc-and-l2arc/#more-103.

Я старался передать смысл текста. Если Вам что то кажется неправильным — обратитесь к оригиналу.

Немного ссылок по теме:

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

Объяснение ARC и L2ARC: 5 комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA image
*