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