Synology кэш ssd настройка
Большинство серверных программ, начиная от баз данных и заканчивая front-end с web-интерфейсом используют кэширование в ОЗУ, а значит могут вообще не зависеть от дисковой системы при любых нагрузках.
Современный корпоративный NAS - это не просто файлохранилка, но и вычислительный узел, на котором развёрнута контейнерная (Docker) и хост-виртуализация (гипервизор), а поскольку данные в такой системе хранятся на том же хосте, где и обрабатываются, запуская какое-либо приложение на гипервизоре Synology VMM, мы можем рассчитывать на определённые бонусы со стороны ОЗУ.
Во-первых, это кэширование в ОЗУ Diskstation/Rackstation всех файловых операций чтения виртуальной машины стандартным Linux-овским кэшем.
Во-вторых, это ускорение операций записи, которое достигается за счёт отсутствия прослойки между гипервизором и операционной системой. Например, при подключении хоста ESXi 6.x к NAS-у по протоколу NFS, все операции записи обязательно синхронизируются гипервизором VMware, что приводит к снижению скорости.
В-третьих, на Synology мы можем установить кэширующий сервер Redis, причем как в виртуальную машину, так и в саму DSM через community-пакеты или docker. С третьего пункта и начнём.
1.Самый действенный способ - использовать Redis
Если у вас уже есть готовая инфраструктура с серверами VMware vSphere, и вы приобретаете NAS только для хранения бэкапов или в качестве основной СХД, посмотрите на память: Synology RackStation RS18017xs+ имеет в базе 16 ГБ ОЗУ, которые можно расширить до 128 ГБ. Вся операционная система DSM (DiskStation Manager) редко требует более 2 ГБ ОЗУ, поэтому неиспользуемую память можно отдать под Redis. Это NoSQL сервер, который хранит данные в памяти, периодически сбрасывая свою базу на диск. При перезагрузке Redis восстанавливает базу с диска, загружая данные в ОЗУ, и даже при отключении электроэнергии, после перезагрузки вам доступны все данные с момента последней синхронизации. Внутрь Redis можно запихнуть не только строки, но и файлы, и если ваше приложение постоянно обращается к каталогу с десятками тысяч маленьких файликов (например при машинном обучении), то вы наверняка знаете, что в этом случае тормозит любая современная файловая система, а Redis - нет.
Redis можно установить через пакет Synology DSM, подключив репозиторий Synocommunity, но там лежит старая версия 3.0.5-5, поэтому лучше использовать Docker или виртуалку, запущенную на NAS-е. Устанавливаем пакет Synology Virtual Machine Manager и внутри разворачиваем 5-ю версию Redis-а на операционной системе Debian.
Давайте протестируем скорость доступа, используя встроенный бенчмарк Redis-а. Полтора миллиона транзакций в секунду в конвейерном режиме и пятьсот тысяч с настройками по умолчанию. Сам по себе Redis - однопоточный, так что вы можете клонировать виртуалку, чтобы задействовать более 1 ядра процессора NAS-а.
Пример с Redis наглядно демонстрирует, что сегодня рассматривать СХД только в качестве файлохранилки можно в двух случаях: когда речь идёт о домашнем 2-дисковом NAS-е или наоборот, когда мы говорим о мощной инфраструктуре банков или авиакомпаний. В остальном же - пожалуйста, вот вам централизованная кэширующая система: подключайтесь к ней и экономьте ресурсы ваших хостов. Вам даже не потребуется 10-гигабитное сетевое подключение: в типичных случаях использования, 1-гигабитной сети вполне достаточно для быстрой работы подключенных клиентов.
Ну и не забывайте, что Synology DSM может использовать защиту данных Redis-а снэпшотами на уровне файловой системы Btrfs. Конечно, использование Redis потребует от вас небольшую переработку приложения, что не всегда возможно, поэтому давайте посмотрим работу встроенного кэширования Synology DSM.
Тест Sysbench OLTP
Возьмём базу данных MariaDB в виртуалке с небольшим объёмом памяти, ну например 8 ГБ. Создадим таблицу в 50 миллионов записей с таким расчетом, чтобы её объём в 11.2 ГБ был больше ОЗУ, доступной для гостевой системы, но меньше ОЗУ NAS-а (16 ГБ) и заставим машину активно использовать диск в режиме транзакционной нагрузки, используя случайные запросы чтения. Проведём этот тест трижды: сначала виртуалка работает на хосте под VMware ESXi 6.7, подключенном по iSCSI, потом то же самое, но с NFS, а затем перенесём виртуалку в Synology Virtual Machine Manager, используя для миграции пакет Synology Active Backup for Business.
Тесты показывают, что сетевой трафик составляет 500-600 Мбит/с, но дисковая активность проявляется только в операциях записи, а значит Synology DSM одинаково хорошо кэширует и операции блочного доступа и операции файлового доступа, что не удивительно, поскольку iSCSI LUN-ы хранятся в виде файлов. Напомню, что наша тестовая RackStation RS18017xs+ имеет базовые 16 ГБ ОЗУ.
В данном случае SSD кэширование не даёт особых преимуществ из-за того, что часть виртуального диска, на котором лежит файл базы данных, легко умещается в ОЗУ NAS-а. Давайте создадим ситуацию, в которой объём базы данных сильно превышает свободную память Rackstation RS18017xs+. Увеличивать количество строк в тестовой таблице до миллиардов не получается: сильно начинает тормозить сама база данных, делая результаты не репрезентативными. Гораздо проще отнять лишнюю память у Synology DSM, для чего запустим в гипервизоре Synology VMM виртуальную машину с 12 ГБ ОЗУ, в результате под кэш останется всего около 2.5 ГБ.
И вот здесь SSD кэш сглаживает негативный эффект от нехватки памяти, хотя всё равно показатели чтения хуже, чем в предыдущем тесте. Нам нужно убедиться, что на скорость влияет именно отсутствие лишней памяти, а не гипервизор Synology VMM, для чего мы должны запустить тот же самый тест на самом NAS-е.
Переместив базу данных в гипервизор Synology VMM, нам пришлось добавить в RS18017xs+ ещё 16 ГБ памяти для того, чтобы сохранить возможность кэширования в ОЗУ NAS-а. Тесты показывают ту же производительность, что не удивительно, поскольку для всех файловых операций в СХД используется общий пул. То есть для практического использования базы данных можно вполне обойтись средствами Synology VMM, сократив количество серверов в вашей компании.
Углубляясь в настройки буферизации на уровне приложения и экспериментируя с параметром InnoDB Buffer Pool Size, я заметил, что при значениях от 1 ГБ до 6 ГБ, производительность существенно не меняется, так что выгоднее отдавать этот объём памяти NAS-у. Так поступают хостинг-провайдеры, предлагая в аренду виртуальные машины с небольшим объёмом памяти: база данных активно работает с дисковой подсистемой, в роли которой выступает СХД с SSD и большим объёмом памяти.
Причём, стоит отметить, что далеко не каждый SAN-массив имеет функцию кэширования в ОЗУ: буферизация LUN на уровне блоков - это редкая особенность, но у Synology сейчас даже iSCSI LUN-ы хранятся в виде файлов, поэтому помимо снапшотов по расписанию, DSM легко ориентируется в том, что нужно держать в памяти, а что - нет. Вот вам ещё один плюс NAS-ов перед SAN-ами.
Дополнительные платы адаптера M.2
1.Самый действенный способ - использовать Redis
Если у вас уже есть готовая инфраструктура с серверами VMware vSphere, и вы приобретаете NAS только для хранения бэкапов или в качестве основной СХД, посмотрите на память: Synology RackStation RS18017xs+ имеет в базе 16 ГБ ОЗУ, которые можно расширить до 128 ГБ. Вся операционная система DSM (DiskStation Manager) редко требует более 2 ГБ ОЗУ, поэтому неиспользуемую память можно отдать под Redis.
Это NoSQL сервер, который хранит данные в памяти, периодически сбрасывая свою базу на диск. При перезагрузке Redis восстанавливает базу с диска, загружая данные в ОЗУ, и даже при отключении электроэнергии, после перезагрузки вам доступны все данные с момента последней синхронизации. Внутрь Redis можно запихнуть не только строки, но и файлы, и если ваше приложение постоянно обращается к каталогу с десятками тысяч маленьких файликов (например при машинном обучении), то вы наверняка знаете, что в этом случае тормозит любая современная файловая система, а Redis - нет.
Пример с Redis наглядно демонстрирует, что сегодня рассматривать СХД только в качестве файлохранилки можно в двух случаях: когда речь идёт о домашнем 2-дисковом NAS-е или наоборот, когда мы говорим о мощной инфраструктуре банков или авиакомпаний.
Ну и не забывайте, что Synology DSM может использовать защиту данных Redis-а снэпшотами на уровне файловой системы Btrfs. Конечно, использование Redis потребует от вас небольшую переработку приложения, что не всегда возможно, поэтому давайте посмотрим работу встроенного кэширования Synology DSM.
Своевременные уведомления
Благодаря своевременным уведомлениям можно спланировать дальнейшие действия для обеспечения бесперебойной работы системы и увеличения срока ее службы.
Процедура установки SSD накопителей в NAS
Берем два SSD NVMe накопителя для ускорения на чтение и запись. Переворачиваем NAS и снимаем заглушки.
После чего устанавливаем диски в разъемы, инструменты не нужны, достаточно немного отогнуть пластиковый крепеж и зафиксировать диск.
Ставим заглушки на место и включаем NAS, чтобы протестировать скорость дисков с использованием кэша и без него.
Кэш только для чтения
Повышение производительности произвольного чтения при частом доступе к небольшим файлам и редком изменении их содержания.
Выводы
Какие выводы можно сделать из нашего тестирования? Прежде всего, обратите внимание на то, насколько агрессивно Synology DSM записывает данные на SSD. Буквально считанные минуты под нагрузкой - и они копируются на SSD накопители, ускоряя и NFS подключения, и iSCSI LUN-ы. По синтетическим тестам, SSD работают даже быстрее ОЗУ, но на деле выходит совсем иначе: чем большое объём горячих данных в вашей инфраструктуре, тем больше памяти нужно установить в NAS, не важно, используются ли в нём жесткие диски, SSD или гибридные массивы.
Ну и наш пример с Redis-ом показывает, что если вы вступили на путь добра и решили вместо старой SAN-СХД установить современный умный NAS с виртуализацией, то используйте его возможности по-максимуму: совсем не обязательно стараться забить все отсеки хранилища твердотельными дисками - можно просто добавить поддержку NoSQL баз данных в ваш софт и на самой простой модели Synology серии Rackstation получить чудо-скорость, которую ещё очень много лет не дадут никакие SSD.
SDD имеет заметное преимущество перед HDD в скорости чтения данных. Достигается оно благодаря тому, что твердотельный накопитель лишен движущихся деталей. Информация хранится во флеш-памяти, которая потребляет меньше энергии, работает тихо и практически не вибрирует.
Зачем в NAS нужен кэш
Нет считывающей головки, которая перемещается по диску в поисках нужных фрагментов информации. Более высокая скорость в сочетании с вышеперечисленными плюсами делает твердотельный накопитель удачным решением для кэширования данных в сетевом файловом хранилище, хотя основной массив информации хранится на жестких дисках.
SSD-кэш выступает в роли временного пространства для хранения данных, к которым часто обращаются устройства в домашней или офисной сети. Такие данные порой называют «горячими». Для пользователя будет выглядеть как заметно возросшая общая производительность локальной сети.
Скорость современных накопителей и устройств достаточно высока для того, чтобы в большинстве случаев пользователь не ощущал задержек. Речь о производительном оборудование, устаревшего и бюджетного не касаюсь. Многое зависит от выполняемой задачи.
Встроенные разъемы для твердотельных накопителей M.2
Гибкость интеграции SSD-кэша
Большинство устройств Synology NAS поддерживают установку SSD-кэша с помощью одного или нескольких интерфейсов, приведенных ниже:
Температурный диапазон:
Для дома и малого офиса спецификации более чем хороши, тем более с учетом довольно скромных цен.
Широкая распространенность устройств не менее важна, чем их качество, поскольку вероятность несовместимости «стандартного» оборудования с другими девайсами намного ниже, чем у «нестандартного». Сомневаюсь, что есть много пользователей, которые ни разу не слышали о Kingston. Если и не слышали, с большой вероятностью используют флешки и карты памяти бренда.
Кэш файлового хранилища относится к той же категории, что и флешка — является накопителем информации. Только применение более ответственное. А значит — не место для экспериментов.
NVMe — интерфейс, который уже сегодня можно считать одним из стандартов индустрии. Создан для повышения скорости работы твердотельных накопителей. Применяется не только в домашних и офисных компьютерах, но и в дата-центрах.
Встроенные разъемы для твердотельных накопителей M.2
Тесты без использования кэша
Первый тест проводился с размером файла 256 мегабайт. Это показатели скорости 2,5-дюймового диска без использования кэша.
Далее выставляем размер файла 2Гб и запускаем новый тест. Итоговые показатели такие:
Далее тестируем с размером файла 4Гб. Показатели теста:
Лотки для дисков
Оптимальное использование
Удобный мониторинг обеспечивает оптимальное использование каждого твердотельного накопителя.
Гибкость интеграции SSD-кэша
Большинство устройств Synology NAS поддерживают установку SSD-кэша с помощью одного или нескольких интерфейсов, приведенных ниже:
Главные характеристики по информации Kingston:
- Габариты — 80 мм x 22 мм x 3,5 мм.
- Масса — 6,6 г (250 ГБ, 1 TБ), 6,8 г (500 ГБ).
- Уровень вибрации в процессе работы — от 7 до 800 Гц.
- MTBF — 2 000 000.
- Продолжительность ограниченной гарантии и бесплатной техноподдержки вендором ― 5 лет.
Два режима SSD-кэша для вашего сценария использования
Вы хотите повысить производительность статического веб-сервера или файлового сервера, производительность приложений индексирования и баз данных или ускорить хранилище виртуальных машин? Выберите наиболее эффективный режим SSD-кэша для вашего приложения.
2. Кэширование в ОЗУ самого NAS-а
Даже если виртуалка под Windows или Linux занимает на диске сотни гигабайт, активно используются единицы или десятки гигабайт дискового пространства: логи и файлы баз данных, часто запрашиваемые файлы, в общем всё то, что не кэшируется в памяти самой гостевой операционной системы или приложения. Часто запрашиваемые блоки данных хранятся в ОЗУ самой Synology DSM, что мы многократно видели в синтетических тестах прямого файлового доступа. Механизм кэширования в ОЗУ лучше всего наблюдать на дисковых операциях случайного чтения.
На этой диаграмме - идеальный вариант доступа к тестовой области объёмом 16 ГБ. Почти вся она может поместиться в ОЗУ NAS-а, что и происходит в процессе теста. Обратите внимание: "раскачивается" NAS достаточно долго - около 10 минут, после чего выходит на максимальную производительность.
Когда кэш заполняется, скорость чтения вырастает в 3 раза, но всё равно остаётся небольшой по меркам того, что можно выжать из ОЗУ. Имеет ли смысл добавлять SSD для операций, использующих небольшую активную область раздела, способную уместиться в памяти СХД?
Максимальная скорость чтения/записи случайных блоков:
- 250 ГБ – 150 000/180 000 IOPS.
- 500 ГБ – 180 000/200 000 IOPS.
- 1 ТБ – 250 000/220 000 IOPS.
Объем блока — 4 килобайта.
Процедура тестирования
Самый явный вариант тестирования – виртуальная машина. После загрузки DiskStation Manager запускаем Virtual Machine Manager, здесь у меня уже установлена операционная система Windows 7.
Первые тесты провожу без использования кэша, чтобы в этом убедиться, запускаем «Диспетчер хранения» и переходим во вкладку «Кэш SSD». Видим надпись «В системе отсутствует кэш SSD».
Заходим в виртуалку и запускаем утилиту CrystalDiskMark для тестирования накопителя.
Как выбрать SSD для сетевого хранилища
Особенно важен для кэша показатель TBW. Он отражает совокупный объем данных, который может быть записан на диск в течение всего срока его эксплуатации. Исчисляется в терабайтах.
Рассмотрю на примере 250-гигабайтного Kingston A2000 NVMe PCIe SSD. TBW модели — 150. Означает, в течение пятилетнего гарантийного периода на диск может быть записано 150 терабайт информации.
Synology рекомендует заменить кэш еще до того, как предельное число будет достигнуто.
Для сравнения, TBW 1-терабайтной модели линейки равен 600, 500-гигабайтной — 350. Высокая скорость последовательного чтения/записи (до 2000/1100 МБ/с) и низкое энергопотребление (0,0032 Вт в режиме простоя), определило мой выбор A2000 NVMe в качестве кэша NAS. Дополнительно отмечу, предельное энергопотребление в процессе записи — 4,5 ватта.
Сравнение результатов тестов
А теперь можно сравнить результаты тестов. Привожу пример в двух единицах измерения.
Вначале результаты тестов с размером файла 256 мегабайт:
И последний тест с файлом 4Гб. Результаты говорят сами за себя:
Включение кэша
Теперь нужно выключить виртуальную машину и создать кэш из SSD накопителей Кингстон
- выбираем кэш чтения и записи, так как установлены два диска;
- далее выбираем раздел на который подключим кэш и отмечаем оба накопителя;
- выбираем тип рейда, в данном случае рейд 1 — зеркало;
- и устанавливаем объем, от себя рекомендую ставить 80% от общего объема, так SSD прослужат дольше;
- соглашаемся, что все данные будут уничтожены и жмем OK.
Готово, кэш работает, чтобы его скорость ощутить в полной мере, я несколько раз перезагрузил виртуальную машину, по итогу в кэше записалось чуть более 5Гб.
Лотки для дисков
Твердотельный накопитель Synology для приложений кэширования
Твердотельный накопитель Synology SAT5200 SATA корпоративного класса и твердотельный накопитель NVMe серии SNV3000 разработаны вместе с Synology NAS. Они обеспечивают проверенную совместимость и высокую надежность благодаря тщательной проверке и тестированию на совместимость. Используйте твердотельные накопители Synology с Synology NAS для применения высоконадежных интегрированных настроек системы хранения и получения обновлений и поддержки от Synology в течение длительного периода.
Модернизация инфраструктуры хранения данных с помощью твердотельных накопителей Synology
Видеоверсия установки SSD кэша в Synology DS420+
Кэш для чтения и записи
Повышение производительности чтения и записи при частом обращении к небольшим файлам, их изменении и создании.
Встроенная защита от потери данных
Данные в модулях SSD-кэша для чтения и записи защищены от потери данных с помощью конфигурации RAID. Пользователи могут выбрать настройку RAID 1, RAID 5 или RAID 6. В случае сбоя твердотельного накопителя и неисправности RAID операции ввода-вывода перенаправляются на жесткий диск, и все данные записываются обратно в источник, что обеспечивает их целостность, а также непрерывность работы.
Два подхода к реализации кэша в NAS
Первый состоит в применении только для чтения. В памяти твердотельного накопителя станут сохраняться часто используемые данные. В итоге возрастет произвольная скорость чтения. Поскольку твердотельный диск не используется непосредственно для хранения информации, даже если он выйдет из строя, файлы останутся в целости.
Второй предполагает, что в процессе кэширования данные синхронно сохраняются во флеш-памяти твердотельного накопителя. Обеспечить сохранность данных позволит применение как минимум двух SSD (RAID 1). Но даже в таком случае сохраняется вероятность потерять данные в результате износа твердотельных дисков.
Чем чаще диск записывает данные, тем быстрее изнашивается. При выборе нужно обращать внимание на характеристики долговечности и износоустойчивости накопителя.
Выводы
Какие выводы можно сделать из нашего тестирования? Прежде всего, обратите внимание на то, насколько агрессивно Synology DSM записывает данные на SSD. Буквально считанные минуты под нагрузкой - и они копируются на SSD накопители, ускоряя и NFS подключения, и iSCSI LUN-ы. По синтетическим тестам, SSD работают даже быстрее ОЗУ, но на деле выходит совсем иначе: чем большое объём горячих данных в вашей инфраструктуре, тем больше памяти нужно установить в NAS, не важно, используются ли в нём жесткие диски, SSD или гибридные массивы.
Ну и наш пример с Redis-ом показывает, что если вы вступили на путь добра и решили вместо старой SAN-СХД установить современный умный NAS с виртуализацией, то используйте его возможности по-максимуму: совсем не обязательно стараться забить все отсеки хранилища твердотельными дисками - можно просто добавить поддержку NoSQL баз данных в ваш софт и на самой простой модели Synology серии Rackstation получить чудо-скорость, которую ещё очень много лет не дадут никакие SSD.
Если вы читаете данный материал, то, скорее всего, уже являетесь обладателем NAS от Synology. Если же еще нет, то вам должно быть интересно посмотреть распаковку и обзор DS218 и двух дисков Seagate IronWolf 8 Tb.
Рассмотрю пошаговую процедуру замены жесткого диска в файловом хранилище на примере Synology DS218, с файловой системой Synology Hybrid RAID (SHR). У меня с диском все в порядке, его я вынимал для тестов и форматировал в файловую систему NTFS, чтобы подключить к компьютеру на Windows. Обязательно стоит посмотреть результаты тестов Seagate IronWolf 8 Tb.
Чтобы минимизировать вероятность выхода дисков из строя, всегда используйте специализированную серию, которая заточена под NAS-системы. Они способны работать 24/7 и обладают расширенным функционалом мониторинга работоспособности, таким, как IronWolf Health Management от Seagate.
После подключения нового диска, аналогичного объема уже имеющемуся, и включения устройства, вы услышите предупреждающий писк. Подключившись к файловому хранилищу, в «Панели управления» увидите предупреждение «Раздел неисправен или поврежден»:
Через «Основное меню» заходите в «Диспетчер хранения», там будет уведомление:
« Внимание. Один или несколько пулов ресурсов хранения/кэшей SSD повреждены. Замените диски, на которых произошел сбой, на исправные. »
В том же «Диспетчере хранения» переходите в «Пул ресурсов хранения» – «Действие» – «Восстановить»:
Выбираете диск, в моем случае он один, кликаете «Далее»:
Выходит предупреждение о том, что все данные на новом диске будут удалены. Соглашаетесь:
Подтверждаете настройки кнопкой «Применить»:
Запускается процедура восстановления RAID массива, а именно клонирование рабочего диска, на новый. Этап восстановления отображается в процентах:
При общем объеме дисков 8 Тб и занятому пространству 1 Тб, процедура заняла около 12 часов:
После чего в разделе «Обзор» появится статус – «Исправный»:
Случались ли проблемы с вашими HDD в NAS-устройствах и если да, то удалось ли спасти данные?
Компания Toshiba, крупный производитель флэш-накопителей и жёстких дисков, прогнозирует, что в 2019 году лишь 10% корпоративных данных будут храниться на SSD, хотя создаётся ощущение, что все производители СХД забыли про жёсткие диски и сконцентрировались на твердотельных накопителях. Однако, какие бы красивые IOPS-ы ни обещали нам пиарщики, что бы ни показывали синтетические тесты, реальная скорость типичной виртуальной машины зависит от того, как сконфигурирован ваш сервер и как работает само приложение. Большинство серверных программ, начиная от баз данных и заканчивая front-end с web-интерфейсом используют кэширование в ОЗУ, а значит могут вообще не зависеть от дисковой системы при любых нагрузках.
Современный корпоративный NAS - это не просто файлохранилка, но и вычислительный узел, на котором развёрнута контейнерная (Docker) и хост-виртуализация (гипервизор), а поскольку данные в такой системе хранятся на том же хосте, где и обрабатываются, запуская какое-либо приложение на гипервизоре Synology VMM, мы можем рассчитывать на определённые бонусы со стороны ОЗУ.
- Во-первых, это кэширование в ОЗУ Diskstation/Rackstation всех файловых операций чтения виртуальной машины стандартным Linux-овским кэшем.
- Во-вторых, это ускорение операций записи, которое достигается за счёт отсутствия прослойки между гипервизором и операционной системой. Например, при подключении хоста ESXi 6.x к NAS-у по протоколу NFS, все операции записи обязательно синхронизируются гипервизором VMware, что приводит к снижению скорости.
- В-третьих, на Synology мы можем установить кэширующий сервер Redis, причем как в виртуальную машину, так и в саму DSM через community-пакеты или docker. У нас будет энергонезависимый RAM-кэширующий сервер, чья база данных лежит на RAID-массиве, ну не прелесть ли?
С третьего пункта, пожалуй, и стоит начать.
Дополнительные платы адаптера M.2
Какие SSD выбирать?
Постарайтесь для SSD-кэширования выбирать накопители на основе MLC или SLC, но никак не 3D NAND TLC. По возможности, выбирайте SSD бизнес-класса, а в обзорах обращайте внимание на распределение IOPS по времени, как в нашем обзоре NVME SSD. Имейте в виду, что ваш SSD обязательно должен быть в списке совместимости Synology, и тогда за дисковый массив можно не переживать.
Когда пора поставить SSD-кэш
Кэш файлового хранилища повышает производительность при определенных рабочих нагрузках, связанных с высокой интенсивностью чтения и записи. К ним относятся работа с базами данных или виртуальными машинами. На скорость выполнения задач с последовательным чтением и записью влияния практически не оказывает. Поэтому потоковая трансляция видео или музыки быстрее не станет.
Если проще — прирост заметнее при работе с большим числом небольших файлов. Хотя применяю NAS преимущественно как домашнюю медиатеку, кэш мне необходим. Задачи никогда не сводятся к одной. Необходимость открыть и отредактировать текст или поработать над фрагментом проекта с телефона все равно возникает. Если добавить сюда запуск почтового сервера или сайта непосредственно с сетевого хранилища, то станет заметно, что без кэша система «подтормаживает».
ИТ-специалисту причина очевидна, но многие пользователи станут искать ее в роутере или менять мобильный девайс. Что еще неприятнее — с большей вероятностью скорость станет падать на задачах, связанных с работой или учебой. Рекомендовал бы поставить SSD-кэш сразу после приобретения файлового хранилища. В любом случае добавить твердотельный диск, если почувствовали «тормоза» при запуске файлов в локальной сети.
Какое оборудование необходимо в домашней локальной сети, которую используют не только для отдыха, но и для работы? Поделитесь своими мнениями в комментариях.
SSD-кэш, или флэш-кэширование, является простым и экономичным способом повышения производительности Synology NAS.
Небольшая модернизация, значительный прирост производительности
Относительно небольшой SSD-кэш может значительно повысить скорость записи и чтения данных крупных томов жестких дисков. В ходе внутренних тестов добавление SSD-кэша в массив хранения на базе только жестких дисков привело к увеличению количества операций ввода-вывода в секунду при произвольной записи и чтении более чем в 15 раз, а также к уменьшению средней задержки на величину до 93%.
Массив хранения с использованием только жестких дисков с SSD-кэшем
Массив хранения с использованием только жестких дисков без SSD-кэша
более высокие показатели операций ввода-вывода в секунду при произвольном чтении и записи
3. Тест Sysbench OLTP
Проведём этот тест трижды: сначала виртуалка работает на хосте под VMware ESXi 6.7, подключенном по iSCSI, потом то же самое, но с NFS, а затем перенесём виртуалку в Synology Virtual Machine Manager, используя для миграции пакет Synology Active Backup for Business .
Тесты показывают, что сетевой трафик составляет 500-600 Мбит/с, но дисковая активность проявляется только в операциях записи, а значит Synology DSM одинаково хорошо кэширует и операции блочного доступа и операции файлового доступа, что не удивительно, поскольку iSCSI LUN-ы хранятся в виде файлов.
В данном случае SSD кэширование не даёт особых преимуществ из-за того, что часть виртуального диска, на котором лежит файл базы данных, легко умещается в ОЗУ NAS-а. Давайте создадим ситуацию, в которой объём базы данных сильно превышает свободную память Rackstation RS18017xs+.
И вот здесь SSD кэш сглаживает негативный эффект от нехватки памяти, хотя всё равно показатели чтения хуже, чем в предыдущем тесте. Нам нужно убедиться, что на скорость влияет именно отсутствие лишней памяти, а не гипервизор Synology VMM, для чего мы должны запустить тот же самый тест на самом NAS-е.
Углубляясь в настройки буферизации на уровне приложения и экспериментируя с параметром InnoDB Buffer Pool Size, я заметил, что при значениях от 1 ГБ до 6 ГБ, производительность существенно не меняется, так что выгоднее отдавать этот объём памяти NAS-у.
3. SSD кэш в реализации Synology
SSD-кэш может работать в двух режимах: только чтение и чтение/запись. В первом случае вам достаточно и 1 твердотельного накопителя, а во втором случае - потребуется как минимум пара для объединения в «зеркало». Кэширующие SSD можно объединить и в более сложные массивы, в том числе RAID 5, главное чтобы для кэширования записи поддерживалась отказоустойчивость.
В текущей версии DiskStation Manager содержимое SSD кэша чтения не сохраняется после перезагрузки NAS-а. То есть, после ребута вас ждёт некий период прогрева, хотя DSM начинает пихать данные на SSD буквально с первых минут после запуска. Для кэша чтения/записи такой проблемы нет.
Повторим наш тест, для чего сначала будем использовать 1 SSD в режиме кэша чтения, а затем 2 SSD в режиме кэша чтения/записи, объединив их в зеркальный RAID 1.
Мы видим, что SSD, мягко говоря, работают-то побыстрее, и зеркальный массив дополнительно увеличивает производительность за счёт чтения с двух накопителей одновременно. Но помимо того, что кэш SSD работает быстрее, он ещё и заполняется быстрее, что хорошо видно на логарифмической диаграмме.
Получается, что NAS не нужно упрашивать сохранить данные в кэше: SSD выходят на максимальную скорость уже через 3-4 минуты, а ОЗУ - через 10-15 минут. Кроме того, SSD-кэш активнее освобождает данные и перестраивается между нагрузками, хотя на диаграммах этого не показать. Но, как говорится, только чтением жив не будешь, и очень интересно, как поведут себя кэши в паттернах VDI и SQL задач. Мы будем использовать 2 размера области теста: 16 ГБ, сопоставимую с объёмом ОЗУ и 96 ГБ, в три раза больше, чем есть памяти в NAS-е.
Там где добавляется запись, уже нужно грамотнее подходить к выбору самих SSD, учитывая, что скорее всего они будут постоянно заполнены данными, и их скорость будет отличаться от максимальной. Увеличим тестовую область в 6 раз:
Кстати, Synology DSM постоянно отслеживает здоровье SSD-шек и предупредит, когда накопитель лучше заменить. Для HDD производства Seagate есть расширенная диагностика через систему IronWolf Health Management (читайте подробнее в нашем обзоре), но это сравнительно новая технология, и насколько она полезна, покажет время. Изменим паттерн на SQL, и посмотрим на поведение массива.
Интересно, что в SQL-нагрузке при заполнении кэша снижается амплитуда колебаний производительности. Давайте сравним средние значения в разных паттернах.
1.Самый действенный способ - использовать Redis
Если у вас уже есть готовая инфраструктура с серверами VMware vSphere, и вы приобретаете NAS только для хранения бэкапов или в качестве основной СХД, посмотрите на память: Synology RackStation RS18017xs+ имеет в базе 16 ГБ ОЗУ, которые можно расширить до 128 ГБ. Вся операционная система DSM (DiskStation Manager) редко требует более 2 ГБ ОЗУ, поэтому неиспользуемую память можно отдать под Redis.
Это NoSQL сервер, который хранит данные в памяти, периодически сбрасывая свою базу на диск. При перезагрузке Redis восстанавливает базу с диска, загружая данные в ОЗУ, и даже при отключении электроэнергии, после перезагрузки вам доступны все данные с момента последней синхронизации. Внутрь Redis можно запихнуть не только строки, но и файлы, и если ваше приложение постоянно обращается к каталогу с десятками тысяч маленьких файликов (например при машинном обучении), то вы наверняка знаете, что в этом случае тормозит любая современная файловая система, а Redis - нет.
Пример с Redis наглядно демонстрирует, что сегодня рассматривать СХД только в качестве файлохранилки можно в двух случаях: когда речь идёт о домашнем 2-дисковом NAS-е или наоборот, когда мы говорим о мощной инфраструктуре банков или авиакомпаний.
Ну и не забывайте, что Synology DSM может использовать защиту данных Redis-а снэпшотами на уровне файловой системы Btrfs. Конечно, использование Redis потребует от вас небольшую переработку приложения, что не всегда возможно, поэтому давайте посмотрим работу встроенного кэширования Synology DSM.
Какие SSD выбирать?
Постарайтесь для SSD-кэширования выбирать накопители на основе MLC или SLC, но никак не 3D NAND TLC. По возможности, выбирайте SSD бизнес-класса, а в обзорах обращайте внимание на распределение IOPS по времени, как в нашем обзоре NVME SSD. Имейте ввиду, что ваш SSD обязательно должен быть в списке совместимости Synology, и тогда за дисковый массив можно не переживать.
Расширенная аналитика с помощью твердотельного накопителя Synology
Полная интеграция с Synology DiskStation Manager (DSM) позволяет получать аналитические данные о жизненном цикле каждого модуля SAT5200 на основе фактических рабочих нагрузок:
3. SSD кэш в реализации Synology
SSD кэш в реализации Synology SSD-кэш может работать в двух режимах: только чтение и чтение/запись. В первом случае вам достаточно и 1 твердотельного накопителя, а во втором случае - потребуется как минимум пара для объединения в «зеркало». Кэширующие SSD можно объединить и в более сложные массивы, в том числе RAID 5, главное чтобы для кэширования записи поддерживалась отказоустойчивость.
Повторим наш тест, для чего сначала будем использовать 1 SSD в режиме кэша чтения, а затем 2 SSD в режиме кэша чтения/записи, объединив их в зеркальный RAID 1.
Мы видим, что SSD, мягко говоря, работают-то побыстрее, и зеркальный массив дополнительно увеличивает производительность за счёт чтения с двух накопителей одновременно. Но помимо того, что кэш SSD работает быстрее, он ещё и заполняется быстрее, что хорошо видно на логарифмической диаграмме.
Получается, что NAS не нужно упрашивать сохранить данные в кэше: SSD выходят на максимальную скорость уже через 3-4 минуты, а ОЗУ - через 10-15 минут. Кроме того, SSD-кэш активнее освобождает данные и перестраивается между нагрузками, хотя на диаграммах этого не показать.
Кстати, Synology DSM постоянно отслеживает здоровье SSD-шек и предупредит, когда накопитель лучше заменить. Для HDD производства Seagate есть расширенная диагностика через систему IronWolf Health Management (читайте подробнее в нашем обзоре ), но это сравнительно новая технология, и насколько она полезна, покажет время. Изменим паттерн на SQL, и посмотрим на поведение массива.
2. Кэширование в ОЗУ самого NAS-а
Даже если виртуалка под Windows или Linux занимает на диске сотни гигабайт, активно используются единицы или десятки гигабайт дискового пространства: логи и файлы баз данных, часто запрашиваемые файлы, в общем всё то, что не кэшируется в памяти самой гостевой операционной системы или приложения. Часто запрашиваемые блоки данных хранятся в ОЗУ самой Synology DSM, что мы многократно видели в синтетических тестах прямого файлового доступа.
Эффективность кэширования в ОЗУ На этой диаграмме - идеальный вариант доступа к тестовой области объёмом 16 ГБ.
Тесты с использованием кэша
После включения кэша на чтение и запись, проводим три аналогичных теста. Сначала с размером файла 256 мегабайт:
Показатели колоссальны, последовательное чтение выросло в 7,5 раз. Но нас больше интересует произвольные чтение и запись. Рост скорости с использованием кэша просто космический. Далее будет сравнение.
Далее в утилите тестирования выставляем размер файла 2Гб и имеем такие результаты:
Обратите внимание не только на скорость в МБ/сек, но и на количество операций ввода-вывода в секунду (IOPS) и тут рост не менее значительный.
И последний тест с размером файла 4Гб:
Читайте также: