Механизмы кэширования ARC и L2ARC в ZFS

У ZFS есть две интересные функции, которые значительно повышают производительность операций чтения. Речь идет о механизмах кэширования ARC и L2ARC. В этой статье рассмотрим их подробнее.

Статья является переводом и адаптацией англоязычной статьи из материалов проекта ZFS Build.


ARC

ARC, или кэш адаптивной замены, является очень быстрым кэшем, расположенным в оперативной памяти сервера (ОЗУ). Объем доступного на сервере ARC по умолчанию составляет всю оперативную память, минус 1 Гбайт.

Например, на ZFS-сервере с 12 Гбайт ОЗУ для ARC будет выделено до 11 Гбайт, что означает, что ZFS-сервер сможет кэшировать 11 Гбайт наиболее часто используемых данных. Любые запросы на чтение данных в кэше могут обслуживаться непосредственно из кэша ARC, а не с более медленных жестких дисков. Это обеспечивает заметное повышение производительности для данных, к которым обращаются чаще всего.

L2ARC

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

SSD-диски медленнее системной памяти, но все же намного быстрее, чем жесткие диски большого объема, которые используются для фактического хранения данных. Что еще более важно, SSD-диски намного дешевле, чем системная память. Большинство людей сравнивают стоимость SSD-дисков с ценой на жесткие диски, поэтому SSD-диски кажутся дорогими. Но по сравнению с системной памятью накопители SSD MLC на самом деле значительно дешевле.

Чтение из кэша

При чтении, данные, к которым идет наиболее частый доступ, помещаются в ARC, со временем он переполняется и данные из ARC вытесняются в L2ARC.

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

Накопители, выделяемые для L2ARC нет смысла объединять в RAID-массивы или иным образом резервируемые тома, поскольку с точки зрения ZFS отказ устройства L2ARC не является критичным. Вы просто добавляете каждое устройство в L2ARC по-отдельности.

Важно понимать, что ни ARC, ни L2ARC никак не влияют на производительность операций записи, в нагрузках, профиль которых связан с преимущественной записью, использование L2ARC может быть неоправданным.

Что следует помнить

Есть несколько аспектов, которые нужно помнить.

  • Диски L2ARC не зеркалируются. При добавлении дисков кэша нельзя настроить их как зеркальные, но в этом и нет необходимости, поскольку содержимое уже зеркально отражено на жестких дисках. Диски кэша являются просто недорогой альтернативой оперативной памяти для кэширования часто запрашиваемого контента.
  • В случае, если вы решите использовать накопители SSD вместо HDD для хранения данных, то диски кэша не нужны. Поскольку все накопители уже являются сверхбыстрыми SSD-дисками, использование дисков кэша не даст увеличения производительности.
  • Если вы планируете подключить большое количество накопителей SSD, рассмотрите использование нескольких контроллеров SAS. Если используется достаточное количество SSD-дисков, есть шанс перегрузить пропускную способность контроллера, что не позволит реализовать весь потенциал системы.

Эффективное кэширование в виртуальных средах

Вероятно, вы задаетесь вопросом, насколько эффективно двухуровневое кэширование для наиболее часто используемых данных в случае использования с виртуальными машинами? Повлияет ли кэш ARC и L2ARC на общую производительность?

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

Если вы планируете развернуть большое количество виртуальных машин, первым шагом создайте базовый шаблон, от которого будут порождаться тома виртуальных машин. Когда базовый шаблон готов, каждая дополнительная виртуальная машина должна создаваться на его основе. Технология виртуализации сохраняет изменения, специфичные для каждой виртуальной машины в разностном файле (например, QCOW2 с использованием backing file).

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

Настройка L2ARC в Linux

Для стабильной работы ZFS в Linux требуется ограничить параметры L2ARC, чтобы он не утилизировал больше памяти, чем требуется, иначе система может столкнуться с ситуацией нехватки памяти, что станет причиной нестабильной работы и зависаний системы. К сожалению, без данных настроек ZFS не в состоянии самостоятельно придерживаться разумного использования RAM в Linux.

По существу, необходимо определить несколько параметров для загружаемого модуля ZFS. Используйте для этого файл /etc/modprobe.d/zfs.conf, добавив в него несколько строк:

options zfs zfs_arc_min=536870912    # минимальный размер ARC в байтах
options zfs zfs_arc_max=20769803776  # максимальный размер ARC в байтах

В вышеуказанном примере для ZFS отводится не более чем 20GB RAM.

Так же, вы можете захотеть настроить некоторые параметры L2ARC. Приведем ряд полезных:

options zfs l2arc_noprefetch=0          # включить кэширование поточных данных (sequential io)

options zfs l2arc_write_max=26214400    # максимальная скорость записи в L2ARC

options zfs l2arc_write_boost=52428800  # boost скорости.

Данные параметры рекомендуется проверять на практике, поскольку их применимость значительно зависит от планируемого профиля нагрузки на систему. Для экспериментов с производительностью вы можете использовать изменение параметров без перезагрузки с помощью псевдофайловой системы sysfs:

echo 20769803776 > /sys/module/zfs/parameters/zfs_arc_max

Экстренная очистка ARC при переполнении RAM

Иногда вы можете столкнуться с ситуацией, когда объем свободной RAM приближается к 0, хотя вы все настроили правильно. Возможно, что какое-то из приложений утилизировало больше памяти, чем вы рассчитали или просто драйвер ZFS «вылез» за границу разрешенной квоты памяти. В этом случае вам поможет простой подход, который очищает все кэши:

echo 3 > /proc/sys/vm/drop_caches

Вы можете даже добавить скрипт, который проверяет объем доступной свободной RAM и при снижении его ниже определенного порога (например, 1GB) будет вызывать очистку кэшей и уведомлять вас по E-mail. Ежеминутный вызов такого скрипта мониторинга вполне может повысить качество вашего сна, свободного времени на выходных и праздниках.

Помните, что для ZFS RAM — это принципиально важный ресурс, который она жадно использует. Постарайтесь размещать приложения на других серверах, выделив для ZFS монопольную систему, которая занимается только обслуживанием файлового хранилища.

Механизмы кэширования ARC и L2ARC в ZFS: 90 комментариев

  1. Julieta

    An outstanding share! I’ve just forwarded this onto a coworker who has been conducting a little research on this.

    And he actually bought me dinner simply because I stumbled upon it for him…
    lol. So allow me to reword this…. Thank YOU for the meal!!

    But yeah, thanx for spending the time to discuss this issue here on your website.

  2. Retha

    I love what you guys are up too. This type of clever work and coverage!

    Keep up the superb works guys I’ve added you guys to
    my blogroll.

  3. http://163.30.42.16

    This design is steller! You most certainly know how to keep a reader entertained.

    Between your wit and your videos, I was almost moved to start my
    own blog (well, almost…HaHa!) Excellent job.

    I really enjoyed what you had to say, and more than that,
    how you presented it. Too cool!

    Also visit my web-site; http://163.30.42.16

  4. infonya disini

    hі!,I really like your writinjg ᴠery much! percentage we cоmmunicɑte
    more about ypur article on AOL? Ι require an expert on this space to solve my problem.
    May be that’s you! Taking a look ahead to look you.

    Also visit my webste — infonya disini

  5. http://www.jujumaow.com/space-uid-1841950.html

    I almost never leave a response, but i did some searching and wound up here Назначение и принцип
    работы ARC и L2ARC в ZFS | Блог NetPoint.
    And I actually do have a couple of questions for
    you if you do not mind. Is it simply me or does it give the impression like a few of these remarks appear
    like coming from brain dead folks? 😛 And,
    if you are posting at other sites, I would like to keep up with anything
    fresh you have to post. Could you list of all of all your community sites like your
    Facebook page, twitter feed, or linkedin profile?

    Feel free to visit my web blog; http://www.jujumaow.com/space-uid-1841950.html

  6. Mjoker123

    Saya telah telah berselancar online lebih dari 4 jam hari ini, namun saya tidak pernah menemukan artikel menarik
    seperti milik Anda. It’s cukup berharga bagi saya. Menurut
    pendapat saya , jika semua webmaster dan blogger membuat
    konten yang baik seperti yang Anda lakukan, net akan menjadi lebih
    berguna dari sebelumnya.

    my web-site Mjoker123

  7. mega888-app.com

    I have been browsing online more than 3 hours nowadays, yet I by
    no means discovered any interesting article like yours.
    It is pretty price sufficient for me. In my
    view, if all webmasters and bloggers made just right content material as you probably did,
    the web will probably be a lot more useful than ever before.

    Review my web page 3win8 test (mega888-app.com)

  8. ecs300.net

    We’re a bunch of volunteers and starting a new scheme in our
    community. Your site offered us with valuable information to
    work on. You’ve performed an impressive process and our whole group shall be thankful to you.

    Here is my web site: ecs300.net

  9. Marylou

    all the time i used to read smaller articles that as well clear
    their motive, and that is also happening with this piece of writing which
    I am reading at this time.

  10. apl Ntc33

    A person necessarily lend a hand to make significantly articles I would
    state. That is the very first time I frequented your web page and thus far?
    I surprised with the research you made to create this actual publish extraordinary.

    Fantastic job!

    my homepage apl Ntc33

  11. https://xe88-app.com/Rollex11/

    Hey would you mind letting me know which hosting company you’re
    using? I’ve loaded your blog in 3 different internet browsers
    and I must say this blog loads a lot quicker then most.
    Can you recommend a good internet hosting provider at a
    fair price? Thanks a lot, I appreciate it!

    Feel free to surf to my site :: rollex11 download android
    https://xe88-app.com/Rollex11/,

  12. Sherri

    Sweet blog! I found it while searching on Yahoo News.
    Do you have any suggestions on how to get listed in Yahoo News?

    I’ve been trying for a while but I never seem to get there!
    Many thanks

  13. Keto Lite Pills

    I’ve been browsing online more than three hours today, yet I never found any interesting article like yours.

    It’s pretty worth enough for me. In my view, if all web owners and bloggers made good content as you did, the net will be much more useful than ever
    before.

    Here is my site — Keto Lite Pills

  14. vintage t-shirts

    Ꮋello, i thіnk that i saw you visited my siite so i came t᧐
    “return the favor”.I’m trying to find things to improve my website!I suppose its ok to usе some of your ideas!!

  15. Dynamic Flex

    Good info and straight to the point. I am not sure if this is truly the best place to ask but do you people
    have any ideea where to get some professional writers?
    Thanks 🙂

    Have a look at my web blog Dynamic Flex

  16. LOCAL NEWS

    Howdy! I know this is somewhat off topic but I was wondering which blog
    platform are you using for this site? I’m getting fed up of WordPress because
    I’ve had issues with hackers and I’m looking
    at options for another platform. I would be fantastic
    if you could point me in the direction of a good platform.

  17. Solvolt Reviews

    Write more, thats all I have to say. Literally, it seems as though you relied on the
    video to make your point. You obviously know what youre talking
    about, why waste your intelligence on just posting videos to your blog when you could be giving
    us something enlightening to read?

    my website: Solvolt Reviews

  18. Herbivore Calm CBD

    Fantastic blog! Do you have any recommendations for aspiring writers?
    I’m planning to start my own website soon but I’m a
    little lost on everything. Would you recommend starting with a free
    platform like WordPress or go for a paid option? There
    are so many options out there that I’m completely confused ..
    Any suggestions? Thank you!

    Also visit my blog :: Herbivore Calm CBD

  19. Solvolt

    This is the right blog for anyone who wants to find out about this topic.
    You understand so much its almost tough to argue with
    you (not that I actually would want to…HaHa).

    You certainly put a new spin on a topic that has been discussed for years.
    Wonderful stuff, just excellent!

    My webpage … Solvolt

  20. Gaia's Choice CBD Isolate

    Fantastic website you have here but I was wondering if you knew
    of any community forums that cover the same topics discussed in this article?

    I’d really love to be a part of group where I
    can get advice from other knowledgeable individuals that share the same interest.
    If you have any recommendations, please
    let me know. Thanks a lot!

    Here is my web site; Gaia’s Choice CBD Isolate

  21. Alpha Extracts

    Hey very nice site!! Guy .. Excellent .. Amazing .. I’ll bookmark your blog and
    take the feeds additionally…I am satisfied to seek out a lot
    of useful info here in the post, we need
    work out more techniques in this regard, thanks for sharing.

    My site — Alpha Extracts

  22. Jefferey

    I feel this is among the most important info for me.
    And i’m glad reading your article. But should remark on few basic things, The website taste is great, the
    articles is really great : D. Just right process, cheers

    my website; Jefferey

  23. MaxBrute Male Enhancement

    Excellent items from you, man. I have consider
    your stuff previous to and you’re just extremely
    fantastic. I really like what you have got here, really like what you are stating and the way in which during which you are saying it.
    You are making it entertaining and you continue to take care of
    to keep it smart. I cant wait to learn much more from you.
    This is actually a great site.

    My webpage :: MaxBrute Male Enhancement

  24. Gaia's Choice CBD

    I do not even understand how I finished up right here, but I believed this put up used to be great.
    I don’t understand who you are but definitely you’re going to a famous blogger if you are not already 😉
    Cheers!

    Visit my web blog; Gaia’s Choice CBD

  25. Gaia's Choice CBD Tincture

    Hiya very nice website!! Man .. Beautiful .. Superb .. I
    will bookmark your blog and take the feeds additionally?
    I am satisfied to seek out so many useful information here within the submit, we
    need work out more techniques on this regard, thanks for sharing.
    . . . . .

    Here is my web blog :: Gaia’s Choice CBD Tincture

  26. http://forum.adm-tolka.ru/

    Hey I am so thrilled I found your webpage, I really found you by mistake, while I was looking on Askjeeve
    for something else, Nonetheless I am here now and would just like to say thanks a lot for a fantastic post and a all round
    entertaining blog (I also love the theme/design), I don’t have time to go through it all at the
    moment but I have saved it and also included your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the great job.

    Feel free to surf to my web page http://forum.adm-tolka.ru/

  27. SoloVolt Reviews

    Someone necessarily lend a hand to make seriously articles I would state.
    That is the very first time I frequented your web page
    and so far? I surprised with the research you made to make this actual post extraordinary.

    Wonderful activity!

    Feel free to visit my website — SoloVolt Reviews

  28. casinos in lower michigan

    Heya! I’m at work browsing your blog from my new iphone 3gs!

    Just wanted to say I love reading through your blog and look forward to all your posts!
    Carry on the excellent work!

  29. Herbivore CBD Review

    Hello, Neat post. There’s a problem with
    your site in web explorer, could check this… IE still is the market leader and
    a large component to people will pass over your excellent writing due to
    this problem.

    Here is my homepage :: Herbivore CBD Review

  30. Hotele

    As I web-site possessor I believe the content material here is rattling great , appreciate it for your efforts. You should keep it up forever! Best of luck. energylandia

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

Ваш адрес email не будет опубликован.