Как установить ssd-кэш Planet

Обновлено: 21.11.2024

Dm-cache – это решение на уровне устройств для кэширования блоков данных с механических жестких дисков на твердотельные твердотельные накопители. Цель состоит в том, чтобы значительно увеличить пропускную способность и время задержки для часто используемых файлов.

Что должно произойти

В этом руководстве рассматриваются основные шаги по настройке dm-cache на компьютере с Ubuntu 13.04. Его легко транслировать в другие дистрибутивы, но пользователям нужно будет найти подходящее ядро ​​и изменить сценарии инициализации, чтобы они соответствовали их системе инициализации.

Одним из преимуществ dm-cache является то, что вам не нужно создавать новое блочное устройство для хранения вашей файловой системы. Вместо этого dm-cache размещается поверх вашей существующей файловой системы или вы создаете новую файловую систему. Я предполагаю, что у вас уже есть файловая система, и вы просто хотите добавить кеширование. Если нет, то создать файловую систему на блочном устройстве несложно.

Если вы не понимаете, о чем я только что сказал, это руководство определенно не для вас, и вы можете потерять свои данные. Ваша собака умрет. И твой дом сгорит. Не говорите, что я вас не предупреждал.

Как я использую dm-cache

Все мои тесты за последние несколько месяцев проводились с тестовыми данными и моей папкой $HOME/.cache для рабочего стола Unity. Все данные на томе dm-cache были данными, которые можно было легко заменить в случае аварии. Я предлагаю вам делать то же самое, пока dm-cache не заслужит ваше доверие. Как только я доверюсь dm-cache, план состоит в том, чтобы кэшировать всю мою файловую систему /home.

Мой SSD медленно умирал, и на данный момент кажется, что dm-cache выдержал аппаратный сбой блочного устройства с отказоустойчивостью, аналогичной отказоустойчивости стандартной файловой системы ext4. См. мою старую запись в блоге для бесцельной болтовни на эту тему.

Кроме того, я ежедневно делаю резервные копии всех важных данных. Полное резервное копирование выполняется на другой жесткий диск, а резервное копирование вне сайта выполняется с помощью obnam. Если у вас нет резервных копий и вы играете с этой новой технологией, вы сошли с ума. Сделайте резервную копию.

Обновите ядро

В ядре Linux версии 3.9 добавлена ​​поддержка dm-cache, поэтому вам потребуется ядро ​​Linux версии не ниже 3.9, чтобы это работало. Ubuntu 13.04 поставляется с ядром версии 3.8. Нам нужно обновить это. На момент написания этой статьи я без проблем использую дерзкую версию Ubuntu v3.10 на Ubuntu 13.04. Вы можете загрузить его с сайта ppa ядра Ubuntu.

Для системы x64 (а если вы используете x86, вау...) обновить ядро ​​так же просто, как:

Теперь перезагрузите систему и убедитесь, что вы используете новое ядро:

Настройка кэширующего SSD-устройства

Существует несколько способов настройки SSD. По сути, нам нужно создать два раздела для хранения метаданных SSD и областей кеша. Это можно сделать тремя способами:

  1. Создайте два традиционных раздела
  2. Используйте функцию dm-linear программы сопоставления устройств, чтобы разделить один раздел.
  3. Использовать LVM в качестве внешнего интерфейса для сопоставления устройств

Настройка SSD-кэша вручную

Пришло время впервые собрать устройство dm-cache и посмотреть, как оно работает. Прежде чем продолжить, убедитесь, что исходная файловая система отключена.

Узнайте фактический размер вашего SSD, используемого для кэширования блоков. Согласно этому сообщению списка рассылки, размер метаданных будет около 4 МБ + (16 байт * nr_blocks), где nr_blocks — количество блоков на томе устройства. Для этого урока я буду использовать размер блока кэша 256 КБ (262144 байта). Для простоты математики игнорируйте фрагмент, который вот-вот будет вырезан из метаданных всего раздела SSD, выделенного для кэширования. Определите размер:

Создайте устройство ssd-metadata dm и обнулите его, чтобы оно не было неверно истолковано dm-cache (это случилось со мной при повторном создании кешей):

Создайте устройство ssd-blocks dm, которое будет содержать фактические блоки данных, оно будет следовать за областью метаданных:

Определите и количество секторов вашей существующей файловой системы, в которую вы хотите добавить поддержку кэша:

Создайте фактическое устройство dm-cache с блоками кэша по 256 КБ (512 * 512):

Убедитесь, что устройство создано и работает:

Используйте его, смонтировав:

Установите сценарии инициализации для настройки SSD-кэша при загрузке

Сценарий upstart Ubuntu для настройки устройств сопоставления устройств каждый раз при загрузке и корректного отключения устройств сопоставления устройств в момент размонтирования тома с помощью inotify:

Установите эти файлы как root в каталоге /etc/init. Об остальном позаботится Upstart при следующей перезагрузке.

Реальное использование

Я создал резервную копию своих старых файлов, а затем скопировал их в файловую систему, кэшированную на ssd. Я создаю символические ссылки из моих более важных файловых систем на эту тестовую файловую систему. Опять же, цель - проверить это на данный момент. Позже я буду использовать dm-cache для кэширования всей файловой системы /home, и мне не понадобятся символические ссылки.

Мой каталог $HOME/.cache отлично подходит для тестирования.Такие вещи, как просмотр файлов (миниатюры и прочее), хранятся в файловой системе, кэшированной на ssd, и работают намного быстрее, чем раньше. Google Chrome также хранит свои кеши в $HOME/.cache, поэтому просмотр веб-страниц в кеше теперь выполняется быстрее.

Еще одна хорошая идея — дерево исходных текстов ядра Linux. Запуск git grep для файлов, кэшированных на твердотельном накопителе, выполняется значительно быстрее.

Сойти с ума. Дайте мне знать, какие еще умные вещи я могу кэшировать, прежде чем я рискну поместить всю свою файловую систему /home в том dm-cache.

Отключение кеша

Если вы когда-нибудь захотите вывести кеш из эксплуатации, вам потребуется запустить политику очистки. Политика очистки запишет все грязные кэшированные блоки обратно на базовое устройство. Вкратце это работает так:

Теоретически вы должны иметь возможность выполнять fsck на базовом устройстве (/dev/vg0/spindle), и на этом этапе все должно выглядеть нормально. Затем вы можете отключить сценарий инициализации и никогда больше не использовать кеш. В качестве альтернативы вы можете перенастроить его по своему усмотрению.

Выполните это с помощью dmsetup remove

Документация по ядру

Дальнейшие шаги

Мне нужно купить новый SSD, я нацелился на Samsung SSD 840 Pro, но жду выгодной сделки. В этот момент я могу перестать беспокоиться о смерти SSD, а затем попробовать dm-cache по всей моей файловой системе /home и посмотреть, с какими проблемами я могу столкнуться.

Позже я собираюсь изучить настройку параметров кеша, так как сейчас политики не подходят для моего желаемого варианта использования. Я не хочу, чтобы длинные последовательные операции выполнялись прямо на жестких дисках, я бы предпочел, чтобы они выполнялись на SSD до тех пор, пока их не нужно будет мигрировать. Кроме того, было бы неплохо, если бы происходил непрерывный перенос всех грязных данных с SSD на старые жесткие диски.

Эта статья призвана показать, насколько просто использовать SSD-кэш на жестком диске. Мы также включили статистику и графики за несколько дней использования одного из наших потоковых серверов.
Наша установка:

  • 1 SSD-диск Samsung 480G. Он будет использоваться для устройства кэширования с обратной записью!
  • 1 жесткий диск 1T

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

Эффективность кеша как минимум в 2-4 раза!

ШАГ 1) Установите lvm2

В разных дистрибутивах Linux различается только этот шаг. Мы включили три из них:
Ubuntu 16+:

CentOS 7:

Gentoo:

ШАГ 2) Добавьте два раздела в lvm2.

Мы собираемся использовать два раздела, а не все устройства целиком, потому что на одном из устройств мы установили нашу операционную систему. Вот схема диска: sda — это SSD, где установлена ​​операционная система, а sdb — это устройство хранения.

Добавьте разделы на устройства и создайте группу томов LVM.

ШАГ 3) Создайте логические устройства кеша и пула кеша.

Сначала создайте пул кеша, состоящий из устройства кеша — быстрого устройства, такого как SSD. Затем создайте логический том кеша — основным устройством является медленное, например жесткий диск, и подключите к нему устройство пула кеша, настроив режим кеша. Параметр «-l 100%FREE» использует доступное свободное место на устройстве.

Теперь отформатируйте устройство в файловой системе по вашему выбору и добавьте точку монтирования в файл /etc/fstab. Мы используем здесь ext4:

Смонтируйте устройство и еще немного информации:

Бонус — статистика кэша lvm после нескольких дней использования на веб-сервере потокового видео

И на 24 часа позже, чем приведенная выше команда (используется 93 % хранилища). Эффективность чтения (попадания/промахи при чтении) составляет 3,717, а коэффициент записи — 1,675. Количество грязных блоков выросло до 33 %, а количество операций ввода-вывода было довольно хорошим.

Потоковая передача HLS с максимальной скоростью 200 Мбит/с, вот графики. Вы можете ясно увидеть преимущество устройства кэширования. Кэширующее устройство выполняет в 3–5 раз больше операций чтения, чем медленное устройство, что снижает нагрузку на него при вводе-выводе, а средняя нагрузка действительно низкая.

СКРИНШОТ 1) Около 200 Мбит/с в пике и под нагрузкой 0,75.

Средний трафик и нагрузка за последние 7 дней

СКРИНШОТ 2) Быстрое (кэш) устройство sda6 считывает и записывает в 2–5 раз быстрее, чем медленное устройство sdb1 (жесткий диск).

Время операций ввода-вывода на диск и операций чтения/записи на диск за последние 7 дней (кеш lvm)

СКРИНШОТ 3) Около 200 Мбит/с в пике и при нагрузке менее 0,2 в 95%. Почти в половине случаев средняя загрузка сервера ниже 0,1.

Средний трафик и нагрузка только в часы пик

СКРИНШОТ 4) Быстрое (кэш) устройство sda6 считывает и записывает в 2–5 раз больше, чем медленное устройство sdb1 (жесткий диск).

Время операций ввода-вывода на диск и операций чтения/записи на диск только в часы пик (кеш lvm)

4 мысли о «Кэш-устройство SSD на жесткий диск с использованием LVM»

Здравствуйте, спасибо за отличный урок.

Я попробовал это на Raspberry Pi 4, используя раздел SSD c220 ГБ и отформатированный физический диск c7,1 ТБ. Я обнаружил, что производительность чтения, протестированная с помощью hdparm, медленнее с кешем, чем с одним только физическим диском (300 МБ/с против 100 МБ/с) — это несправедливый/плохой тест или моя конфигурация просто не очень хорошая идея (т.е. стоимость процессов кэширования превышает выгоду)? Есть ли лучший способ сравнить до и после?

У меня больше нет этой настройки, чтобы протестировать ее. Но лично я бы проверил его с помощью fio, а не hdparm, если бы он у меня был. Насколько я помню, это очень хорошо сказалось на прокси-сервере потоковой передачи, связанном с вводом-выводом и, следовательно, с нагрузкой на сервер. Без SSD-кэша ввод-вывод просто убивал его в пиковые часы, но по факту у нас было 10% топа, который хорошо помещается в SSD…
Можно попробовать и размер чанка уменьшить…

Оставить ответ Отменить ответ

Найти нас

Адрес
101010010100 Main Street
Earth, EA 101010101010100

Часы (в TimeBank)
1000000:00:0:00:00 по времени…

Об этом сайте

Высококвалифицированные гоминины населяли планету Земля давным-давно! И этим гомининам нужно поделиться некоторыми знаниями здесь.

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

  • 1994 год: [Уайатт Эрп] и [Надгробие] были вестернами, повествующими о знаменитой перестрелке в О.К. Коррал. Надгробие в Аризоне находится недалеко от Тусона, и перестрелку довольно часто воссоздают для туристов.
  • 1998: [Армагеддон] и [Столкновение с бездной] — два фильма-катастрофы, повествующие о большом камне, стремящемся уничтожить все живое на Земле. Я был в Масатлане, Мексика, чтобы увидеть последний, названный по-испански Impacto Profundo.
  • 1998: [A Bug's Life] и [Antz] были компьютерными анимационными историями о борьбе одного отдельного муравья в муравьиной колонии.
  • 2000: [Миссия на Марс] и [Красная планета] были научно-фантастическими фильмами о том, что может повлечь за собой пилотируемая миссия на соседнюю планету.
  • 2009: комедии [Пол Бларт: Полицейский из торгового центра] и [Наблюдай и доложи] о проблемах безопасности в торговом центре.

(Кажется, я изложил свою мысль всего несколькими примерами. Более полный список можно найти на [веб-сайте Сэма Гринспена 11 пунктов].)

Это отличается от фильмов-подражателей, которые пересняты или переосмыслены много лет спустя на основе предыдущих успехов оригинала. С тех пор, как в 2010 году я написал в своем блоге [VPLEX: Новейшее колесо EMC круглое], сравнивая продукт-подражатель EMC, появившийся на семь лет после IBM SAN Volume Controller (SVC), я заметил, что EMC не больше не будем так много говорить о VPLEX.

На этой неделе IBM объявила о [поддержке твердотельных накопителей XIV Gen3], а наши друзья из EMC объявили о [картах PCIe на основе твердотельных накопителей VFCache]. Ни то, ни другое не должно быть сюрпризом для тех, кто следит за ИТ-индустрией, поскольку в прошлом году IBM объявила о своем XIV Gen3 как «SSD-Ready» специально для этой цели, а EMC рекламирует свой «Project Lightning» с мая прошлого года.< /p>

У коллеги-блогера Чака Холлиса из EMC есть запись в блоге [VFCache действительно означает «Очень быстрый кэш»), в которой содержится дополнительная информация. Чак утверждает, что VFCache быстрее, чем популярные [карты Fusion-IO PCIe], доступные для серверов IBM. Я не видел спецификаций производительности, но обычно SSD в четыре-пять раз медленнее, чем кэш DRAM, используемый в XIV Gen3. Производительность твердотельного накопителя VFCache, вероятно, аналогична твердотельному накопителю, поддерживаемому в дисковых системах IBM XIV Gen3, DS8000, DS5000, SVC, серии N и Storwize V7000.

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

Решения отличаются тем, что IBM XIV Gen3 SSD является «на стороне хранилища» во внешнем устройстве хранения, а EMC VFCache — «на стороне сервера» в виде карты PCI Express [PCIe]. Кроме того, оба используют SSD в качестве дополнительного уровня кэша чтения перед вращающимся диском для повышения производительности. Ни один из них не является первым в отрасли, поскольку IBM предлагает твердотельные накопители на стороне сервера с 2007 года, а IBM и EMC предлагают твердотельные накопители на стороне хранилища во многих других своих внешних устройствах хранения. Использование SSD в качестве кэша чтения уже доступно в IBM серии N с картами [Performance Accelerator Module (PAM)].

IBM уже некоторое время предлагает синергию совместного кэширования между своими серверами и массивами хранения. Предшественниками современных серверов на базе POWER7 были серверы iSeries i5, в которых использовались платы ввода-вывода PCI-X с кэш-памятью для подключения приложений i5/OS к внешним дисковым и ленточным системам IBM. Чтобы конкурировать в этом пространстве, EMC создала свои собственные карты PCI-X для подключения собственных дисковых систем. В 2006 году IBM поступила правильно для наших клиентов и способствовала развитию конкуренции, заключив [историческое соглашение] с EMC о [лицензировании интерфейсов i5]. Сегодня VIOS в системах IBM POWER предоставляет гораздо более широкий выбор вариантов дисков для клиентов IBM i, включая системы хранения IBM SVC, Storwize V7000 и XIV.

EMC не первая компания, производящая карты PCIe на основе твердотельных накопителей. Прошлым летом мои друзья из Texas Memory Systems [TMS] раздали [карту RAMsan-70 PCIe] на афтепати в [День 2 IBM System Storage University].

Может ли небольшой SSD повысить производительность? Да! Клиент IBM, работающий с кластером [универсальной базы данных DB2] на восьми серверах System x, смог заменить EMC Symmetrix с 800 дисками, установив восемь карт SSD Fusion-IO в каждый сервер, всего 64 твердотельных диска, сэкономив деньги. и повышение производительности. В DB2 есть функция Data Partitioning Feature, которая имеет многосистемные конфигурации DB2 с использованием грид-подобной архитектуры, похожей на то, как спроектирована XIV. Большинство серверов IBM System x и BladeCenter поддерживают варианты внутреннего хранилища SSD, и многие из них предлагают слоты PCIe для карт SSD сторонних производителей. К сожалению, вы не можете сделать это с картой VFCache, так как вы можете иметь только одну карту VFCache на каждом сервере, данные не защищены и только для эфемерных данных, таких как журналы транзакций или другие временные данные. С несколькими платами Fusion-IO на сервере IBM вы можете настроить ранг RAID для SSD и использовать его для постоянного хранения, такого как базы данных DB2.

Вот мое сравнение:

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

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

Быстрый NAS на базе твердотельных накопителей находится в пределах вашей досягаемости

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

Что такое ускорение SSD-кэша?

Кэш SSD — это способ получить более быстрое хранилище, уменьшить задержку и улучшить всестороннюю производительность NAS и скорость доступа за счет хранения часто используемых данных на SSD. Это очень полезно для приложений, требовательных к IOPS, таких как базы данных (онлайн-обработка транзакций, почтовые серверы), виртуальные машины и инфраструктура виртуальных рабочих столов (VDI).

Преимущества SSD перед традиционными жесткими дисками

Более высокая производительность IOPS и время отклика

Нет головок дисков — меньше вероятность выхода из строя диска

Физически меньше и тише

Сниженное энергопотребление

QuTS hero или QTS?
Сделайте свой выбор на основе этой информации.

< td >Файловая система < /tr> < tr>
Герой QuTS QTS
ZFS Ext4
Кэш SSD Кэш чтения Чтение/запись кэша
Чтение кэша
Запись кэша
Встроенное сжатие Да
(сжатие LZ4, идеальное для файлов RAW и файлов документов)
Нет
Встроенная дедупликация Да
(Требуется не менее 16 ГБ ОЗУ )
Нет
HBS с QuDedup для удаленного резервного копирования Да Да
Защита от сбоев питания (аппаратная) Источник бесперебойного питания (ИБП) Источник бесперебойного питания (ИБП)
Защита от сбоя питания (программное обеспечение) ZIL
Copy-On-Write
(обслуживание продолжается после восстановления питания)
Нет
(Риск повреждения на уровне файловой системы при отключении питания и простое системы, необходимый для «Проверить файловую систему»)
Управление разрешениями Расширенные списки ACL (14 типов) Списки контроля доступа POSIX (3 типа) + определенные специальные разрешения
Расширение емкости Увеличение емкости RAID
Замените диски большей емкости
Подключите модули расширения/JBOD
Добавьте диск в группу RAID
Увеличьте емкость RAID
Замените диски большей емкости< br />Подключение корпусов расширения/JBOD
Безопасность данных Лучше
(самовосстановление и копирование при записи)
Стандартный
Общая производительность Требуется более производительный процессор и больше памяти Лучше
Рекомендуемая конфигурация SSD для приложений редактирования видео Использовать пулы SSD

QTS NAS поддерживает технологию Qtier, чтобы максимизировать преимущества SSD

Технология Qtier автоматически перемещает данные между твердотельными накопителями и жесткими дисками в зависимости от частоты их доступа, обеспечивая приоритет доступа к часто используемым «горячим» данным. Qtier IO-awareness резервирует пространство, подобное кешу, для повышения производительности IOPS, когда требуются временные приложения с высокой случайной скоростью чтения/записи.

*Qtier поддерживается только NAS на базе x86 (Intel или AMD) и 64-разрядным NAS на базе ARM с 2 ГБ ОЗУ и QTS 4.4.1 (или более поздней версии).

Емкость кэш-памяти QNAP NAS и требования к оперативной памяти

< td>≧ 16 ГБ
QTS NAS QuTS hero NAS
Емкость SSD-кэша Требования к оперативной памяти
512 ГБ ≧ 1 ГБ
1 ТБ ≧ 4 ГБ ≧ 32 ГБ
2 ТБ ≧ 8 ГБ ≧ 64 ГБ
4 ТБ ≧ 16 ГБ ≧ 128 ГБ
16 ТБ - ≧ 512 ГБ
30 ТБ - ≧ 1 ТБ
120 ТБ - ≧ 4 ТБ< /td>

* Объем кэш-памяти SSD зависит от размера оперативной памяти

Проверьте совместимость SSD-кэша

* Некоторые модели имеют специальные лотки, оптимизированные для кэширования SSD. Указанные лотки SSD оптимизированы для кэширования SSD.

* Примечание. Для моделей NAS с процессором ARM максимальный размер кэш-памяти SSD составляет 1 ТБ. В противном случае максимальный размер кэша SSD для QTS составляет 4 ТБ.

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

Добавьте SSD-кэш M.2 с картами расширения QM2 PCIe

Инновационные карты PCIe серии QM2 от QNAP позволяют устанавливать твердотельные накопители M.2* в NAS для кэширования SSD или пулов кэширования. Поскольку QM2 использует PCIe, они не занимают ни одного отсека для 3,5-дюймовых дисков, что позволяет максимально увеличить емкость хранилища и производительность.

Читайте также: