Включить сжатие памяти для повышения скорости отклика системы synology
На момент подготовки статьи, дедупликация данных не являлась встроенной функцией NAS-серверов Synology. Желая включить эту недокументированную опцию, вы действуете на свой страх и риск. Ни Synology, ни тем более HWP не несут ответственности за последствия, связанные с использованием инструкций, данных в этой статье.
Что потребуется:
- NAS Synology с DSM 6.1 или выше
- Раздел с файловой системой BTRF
- Возможность установки Docker из центра пакетов Synology
Пока вы делаете бэкапы перед тем, как приступить, немного теории, совсем чуть-чуть и общими словами.
Процедура тестирования
Самый явный вариант тестирования – виртуальная машина. После загрузки DiskStation Manager запускаем Virtual Machine Manager, здесь у меня уже установлена операционная система Windows 7.
Первые тесты провожу без использования кэша, чтобы в этом убедиться, запускаем «Диспетчер хранения» и переходим во вкладку «Кэш SSD». Видим надпись «В системе отсутствует кэш SSD».
Заходим в виртуалку и запускаем утилиту CrystalDiskMark для тестирования накопителя.
Подробная видеоинструкция по созданию бэкапов в NAS Synology
Результаты тестирования
Мы записали в тестовую папку 397 Гб образов виртуальных машин, создав 6 копий одинаковых данных и положили туда же обычную папку с инсталляционными файлами различных программ и игр. До начала дедупликации на томе было 1.69 Гб свободных данных и 397 Гб тестовых образов (на скриншоте ниже видно, что файлы занимают 381 Гб, так как используется сжатие на уровне файловой системы Btrfs).
Файловая дедупликация обрадовала своей скоростью - уже через 5 часов на диске было 1.9 Тб свободного места, а занятое пространство сократилось до 175 Гб.
Блочную дедупликацию на том же объеме провести не удалось - за сутки работы программы из 785 000 экстентов обработаны было всего 1200, расчеты на коленках показали, что тест на таком объеме будет идти два года, и возможно более быстрый процессор решил бы нашу задачу. На тестовом объеме в 1 Гб, удалось добиться той же точной дедупликации, что и в файловом методе. Естественно, в реальной жизни эффективность может быть другой, как выше, так и ниже. Что неприятно, так это невозможность прервать работу Duperemove; какие-то экстенты она отрабатывает за считанные секунды, а на какие-то тратит часы. И пока программа обрабатывает экстент, остановить или перезапустить контейнер не получится. В нашей тестовой машине использовался 2-ядерный процессор Celeron J3355, и возможно на топовых NAS-ах Synology с Xeon-ами, блочная дедупликация больших объемов данных будет проходить за считанные дни или часы.
Файловая дедупликация
Один из более быстрых вариантов - файловая дедупликация. В отличии от блочной, она работает целиком с файлами, и если находит два одинаковых - один как бы удаляет, указывая файловой системе, что его содержимое можно взять по другому адресу. Для пользователя этот процесс никак не заметен - у вас по-прежнему будут доступны все одинаковые файлы, только места они будут занимать как один оригинал. Это гораздо менее ресурсоемкий процесс, но и не такой эффективный, как блочная дедупликация, но при наличии первой, вторая не требуется. Давайте вернемся в наш контейнер и запустим файловую дедупликацию. Открываем контейнер и заходим в терминал, как показано ранее.
Устанавливаем программу fdupes, которая составляет список дублирующихся файлов
Теперь запускаем поиск и дедупликацию в нашей папке, как в примере выше
fdupes -r -S ./hwp_vmware | duperemove --fdupes
Аналогично, программа пройдет по всем файлам указанного каталога, создаст для них хэши и попросит программу duperemove сообщить файловой системе о наличии дубликатов и провести очистку.
Ну что, давайте протестируем как оно работает?
Максимальная скорость чтения/записи случайных блоков:
- 250 ГБ – 150 000/180 000 IOPS.
- 500 ГБ – 180 000/200 000 IOPS.
- 1 ТБ – 250 000/220 000 IOPS.
Объем блока — 4 килобайта.
Первый — пользователям macOS
Туда перетекают записи камер видеонаблюдения и файлы проектов. Они массивны, поскольку преимущественно это видео и фото в высоком качестве. Если бы не NAS, весь стол был бы завален флешками.
Необходимо не только бизнесу
В далеком 2007 году исследователи установили, что 43% компаний, которые столкнулись с крупными потерями данных не смогли удержаться на плаву. Большая часть таких бизнесов навсегда закрылась в течение двух лет после потери данных.
Когда пора поставить SSD-кэш
Кэш файлового хранилища повышает производительность при определенных рабочих нагрузках, связанных с высокой интенсивностью чтения и записи. К ним относятся работа с базами данных или виртуальными машинами. На скорость выполнения задач с последовательным чтением и записью влияния практически не оказывает. Поэтому потоковая трансляция видео или музыки быстрее не станет.
Если проще — прирост заметнее при работе с большим числом небольших файлов. Хотя применяю NAS преимущественно как домашнюю медиатеку, кэш мне необходим. Задачи никогда не сводятся к одной. Необходимость открыть и отредактировать текст или поработать над фрагментом проекта с телефона все равно возникает. Если добавить сюда запуск почтового сервера или сайта непосредственно с сетевого хранилища, то станет заметно, что без кэша система «подтормаживает».
ИТ-специалисту причина очевидна, но многие пользователи станут искать ее в роутере или менять мобильный девайс. Что еще неприятнее — с большей вероятностью скорость станет падать на задачах, связанных с работой или учебой. Рекомендовал бы поставить SSD-кэш сразу после приобретения файлового хранилища. В любом случае добавить твердотельный диск, если почувствовали «тормоза» при запуске файлов в локальной сети.
Какое оборудование необходимо в домашней локальной сети, которую используют не только для отдыха, но и для работы? Поделитесь своими мнениями в комментариях.
Компания 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-массиве, ну не прелесть ли?
С третьего пункта, пожалуй, и стоит начать.
Температурный диапазон:
Для дома и малого офиса спецификации более чем хороши, тем более с учетом довольно скромных цен.
Широкая распространенность устройств не менее важна, чем их качество, поскольку вероятность несовместимости «стандартного» оборудования с другими девайсами намного ниже, чем у «нестандартного». Сомневаюсь, что есть много пользователей, которые ни разу не слышали о Kingston. Если и не слышали, с большой вероятностью используют флешки и карты памяти бренда.
Кэш файлового хранилища относится к той же категории, что и флешка — является накопителем информации. Только применение более ответственное. А значит — не место для экспериментов.
NVMe — интерфейс, который уже сегодня можно считать одним из стандартов индустрии. Создан для повышения скорости работы твердотельных накопителей. Применяется не только в домашних и офисных компьютерах, но и в дата-центрах.
Какие SSD выбирать?
Постарайтесь для SSD-кэширования выбирать накопители на основе MLC или SLC, но никак не 3D NAND TLC. По возможности, выбирайте SSD бизнес-класса, а в обзорах обращайте внимание на распределение IOPS по времени, как в нашем обзоре NVME SSD. Имейте в виду, что ваш SSD обязательно должен быть в списке совместимости Synology, и тогда за дисковый массив можно не переживать.
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-нагрузке при заполнении кэша снижается амплитуда колебаний производительности. Давайте сравним средние значения в разных паттернах.
Docker - ключ к duperemove
Начиная с версии DSM 6.x, компания Synology значительно усложнила написание и подготовку стороннего софта для запуска из-под своей ОС, мотивируя так: "хотите ставить софт - используйте Docker или виртуализацию" (см. нашу статью про гипервизор Synology). В принципе, это правильный шаг, гарантирующий целостность операционки. Гипервизор Synology Virtual Machine Manager не даст нам прямого доступа к файловой системе, а вот контейнерная виртуализация - даст. Поэтому мы будем использовать пакет Docker, внутри которого создадим контейнер и загрузим туда программу duperemove.
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.
Как выбрать 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 ватта.
Заключение
Привычка постоянно дублировать данные избавляет от необходимости переделывать работу. Способствует душевному равновесию. Ведь копия всегда под рукой. NAS освобождает время для отдыха — не приходится рыться в коробке с флешками, чтобы найти нужный файл.
SDD имеет заметное преимущество перед HDD в скорости чтения данных. Достигается оно благодаря тому, что твердотельный накопитель лишен движущихся деталей. Информация хранится во флеш-памяти, которая потребляет меньше энергии, работает тихо и практически не вибрирует.
Установка Docker и образа Debian
Убедившись, что у вас на NAS-е файловая система Btrfs, открываем "Пуск - центр пакетов", листаем вниз и инсталлируем Docker.
Запускаем Docker и во вкладке "Реестр" выбираем образ debian:latest. Мы будем использовать именно этот образ, хотя точно так же должно работать и в Ubuntu и в Centos.
Переходим на вкладку "Образ", жмем "Запустить" - наш контейнер запущен. Останавливаем его, кликая на выключатель справа.
Выделив контейнер Debian1, жмем кнопку "Настройки". Нам надо предоставить контейнеру полный доступ к DSM, поэтому выбираем эту галочку, после чего настраиваем ограничение ресурсов. По умолчанию duperemove использует все ядра процессоров и может скушать всю память, доступную в системе. Сам процесс дедупликации очень ресурсоемкий и долгий, поэтому лучше ограничить ресурсы контейнеру, выделив не более половины ядер CPU и около половины используемого объема ОЗУ. Когда дедупликация закончится, все лишние данные из памяти будут удалены. Это вам не ZFS, тут хранить таблицы экстентов в памяти не нужно.
По умолчанию наш контейнер не видит файлы и директории, которые хранятся на NAS-е, и надо "пробросить" физические каталоги в его виртуальную среду. Жмем кнопку "дополнительные настройки", переходим в закладку "Том" и жмем кнопку "Добавить папку". Выбираем нужную нам папку, это может быть как корневая, так и любая вложенная, жмем "OK" и вводим путь внутри контейнера, куда будет смонтирована папка NAS-а, пусть это будет /tmp/hwp_vmware. Если нужно добавить несколько папок NAS-а, повторяем этот шаг несколько раз.
Вообще, как я говорил, дедупликация в Btrfs- очень тяжелый для системы процесс, поэтому имеет смысл проводить её выборочно, например только для папки с образами виртуальных машин или другими дублирующимися данными. Причем, лучше сделать несколько копий контейнера для разных папок и запускать, например, каждый из них отдельно по расписанию (как настроить запуск контейнеров по расписанию - ищите в гугле), а мы идем дальше.
Запускаем наш контейнер, нажав на выключатель справа. Нажимаем кнопку "Сведения", открывается новое окно. Нажимаем "Терминал", и чуть подождав, попадаем в интерфейс командной строки. У нас совершенно "голый" debian, в котором нет даже доступа по SSH, поэтому лучше и быстрее один раз ввести длинный URL с клавиатуры, чем пробрасывать порты внутрь контейнера и заходить из терминальной программы.
Заходим в папку, /tmp
Включаем права root и устанавливаем wget
su
apt-get update
apt-get install wget nano
Update: программа Duperemove была включена в тестовый репозиторий buster, поэтому подключаем его.
добавляем в конец
apt-get update
apt-get install duperemove
Все, теперь все что нужно - у нас есть, пришло время запустить дедупликацию!
duperemove -rdh --hashfile=hwp_hash /hwp_vmware
- -r - ходить по каталогам внутри (рекурсивно)
- -d - произвести дедупликацию
- -h - вывести отчет на человеческом языке
- --hashfile=hwp_hash - файл в котором будут храниться хэши на время дедупликации. Если его не указать, все хэши будут храниться в ОЗУ и это может привести к переполнению памяти и ошибке программы. По окончанию процесса, этот файл автоматически будет удален. На время процедуры он лежит в папке /tmp
- ./hwp_vmware - путь к смонтированному каталогу внутри контейнера, который ведет в каталог на NAS-е
Процесс дедупликации очень долгий - на процессорах серии Celeron он может занимать несколько дней или даже недель для папки объемом в 1 Тб. Сначала программа создаст набор хэшей для экстентов каждого файла внутри смонтированного каталога, а потом начнет удалять их из самих файлов. Если процесс прервать, придется начинать с самого начала. В случае если во время дедупликции сервер будет выключен (пропадет электричество или все повиснет) - после перезагрузки ничего не должно сломаться. Мы проверяли это 3 раза во время тестирования - данные были целы.
Третий ― функционал NAS
Утилита USB Copy для NAS Synology — универсальный инструмент бэкапа, доступный пользователям Windows PC. Если в основном меню программы нет, нужно установить из Центра пакетов.
Первое окно – это выбор режима работы, есть три варианта:
- Импорт только мультимедиа файлов – фото и видео на NAS.
- Импорт всех данных с USB накопителя на NAS.
- Экспорт информации с NAS на внешний накопитель, он нам и нужен в данном случае.
Задаем имя задачи, в качестве источника для экспорта выбираем папку, я выберу папку с файлами видеонаблюдения. А место назначения – это внешний диск. На котором создаю новую папку. Режимов копирования три: несколько версий, зеркальное отображение и инкрементный. Выбирайте подходящий именно вам, так как способ копирования у них сильно отличается.
Далее можно включить ротацию резервных копий, то есть задать принцип создания новых копий и удаления старых.
На следующем шаге можно включить возможность автоматического копирования при подключении накопителя, то есть вам не нужно будет использовать интерфейс DSM, достаточно только подключить накопитель через USB порт. Также можно задать расписание.
Ну и, конечно же, вы можете задать типы файлов, которые будут копироваться. Если именно вашего расширения не хватает, всегда можно добавить вручную.
А после нажатия «Применить», произойдет автоматическое копирование по вашим параметрам и автоматическое отключение накопителя, для безопасного извлечения.
Заключение
Если вы знакомы с контейнерами, то сможете настроить автоматический запуск дедупликации по расписанию, не дожидаясь, пока Synology введет поддержку этой функции в DSM. Как уже было сказано выше, имеет смысл сделать отдельные контейнеры для отдельных папок и запускать их по очереди. Я тестировал работу блочной дедупликации на чистом Linux-е без контейнеров, и там этот процесс занимал на точно таком же процессоре всего несколько часов. Видимо, Docker является слишком толстой прослойкой, поглощающей ресурсы CPU.
Дедупликация не работает на зашифрованных папках.
Да, конечно Btrfs - это не ZFS, где дедупликация происходит на лету во время записи данных на диск. Но если достичь в DSM той же производительности, что на Debian 9, то можно проводить этот процесс еженедельно или по ночам, получая тот же эффект экономии, который дает ZFS.
Тайбэй (Тайвань) – 10 марта 2014года- Synology ® сегодня официально объявила о выпуске DiskStation Manager (DSM) версии 5.0, обновленной операционной системы для моделей DiskStation и RackStation. «Разработанная с совершенно новым интерфейсом и добавленным множеством новых функций, DSM 5.0 создана, чтоб предопределить ожидание людей от систем хранения данных.» - сказал Алекс Ванг, исполнительный директор Synology Inc.
DSM 5.0 предлагает:
Обновленный пользовательский опыт: Для помощи пользователю в его работе интерфейс DSM 5.0 был тщательно переработан, с предоставлением понятного, простого и мгновенного доступа. Режим просмотра изображения с высоким разрешением доступен в устройствах с дисплеем Retina ® или поддерживающих формат Ultra HD. Служба QuickConnect поддерживается всеми мобильными приложениями и большинством пакетов от Synology Inc., обеспечивая доступ в любое время и месте, без сложных настроек маршрутизатора.
Оптимизированное ИТ управление и масштабируемое развертывание: Synology Inc. представляет гибкую и удобную для ИТ- администратора Систему Центрального Управления (CMS), позволяющую управлять сотнями NAS-серверов через единственный интерфейс. Масштабируемое кластерное решение по CIFS протоколу сделало возможным предприятиям быстро и легко расширять свой массив хранения данных до 1ПБ.
Универсальные облачные решения: Cloud Sync обеспечивает максимальную защиту данных пользователей при синхронизации NAS Synology с файлами, хранящимися на Dropbox, Google Drive ™ и Baidu Cloud. Двух полосная синхронизация между различными NAS серверами Synology, обеспечивая эффективное использование данных, а также автоматическое их резервирование, теперь доступна с внедренным в DSM 5.0 программным модулем Cloud Station Client.
Согласованное и эффективное резервное копирование: Synology Snapshot Manager – новое программный модуль, доступный для VMware ® vSphere ™ и Windows ® , обеспечивающий гарантию целостности данных путем согласования снимка с приложением. Технология резервного копирования на уровне блоков, интегрированная для нескольких версий резервных копий, значительно повышает эффективность хранения данных.
Всестороннее повышение производительности: Поддержка чтения и записи SSD кэша для уменьшения задержки ввода / вывода. Увеличение скорость чтения по ISCSI в 6 раз. Технология сжатия памяти, примененная в DSM, обеспечивает более быструю и плавную работу пользовательских приложений.
- 14-series: RS3614xs+, RS2414+, RS2414RP+, RS814+, RS814RP+, DS214+, DS214play, RS814, DS214, RS214, DS414, DS114, DS214se
- 13-series: RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+, DS413, DS413j, DS213+, DS213, DS213air, DS213j
- 12-series: RS3412xs, RS3412RPxs, RS812+, RS812RP+, RS2212+, RS2212RP+, RS812, RS212, DS3612xs, DS1812+, DS1512+, DS712+, DS412+, DS212+, DS212, DS212j, DS112+, DS112, DS112j
- 11-series: RS3411xs, RS3411RPxs, RS2211+, RS2211RP+, RS411, DS3611xs, DS2411+, DS1511+, DS411+II, DS411+, DS411, DS411j, DS411slim, DS211+, DS211, DS211j, DS111
- 10-series: RS810+, RS810RP+, DS1010+, DS410, DS410j, DS710+, DS210+, DS210j, DS110+, DS110j
Кратко о компании Synology
Synology создает NAS-серверы и системы IP-видеонаблюдения, которые меняют способ работы пользователей с информацией и видеонаблюдением в эру облачных технологий. Используя современные технологии, компания Synology стремится помочь пользователям централизовать хранение и резервное копирование данных, отправлять файлы в пути и внедрять профессиональные, надежные и доступные системы видеонаблюдения. Цель компании Synology — создавать продукты с инновационным функционалом и предоставлять лучший в своем классе сервис.
Цена потери файлов и данных в 2021 нередко выше стоимости ПК и телефона.
Поскольку работаю за компьютером, о необходимости делать резервные копии файлов помню всегда. Важность информация возросла, но далеко не все пользователи это осознали.
Два подхода к реализации кэша в NAS
Первый состоит в применении только для чтения. В памяти твердотельного накопителя станут сохраняться часто используемые данные. В итоге возрастет произвольная скорость чтения. Поскольку твердотельный диск не используется непосредственно для хранения информации, даже если он выйдет из строя, файлы останутся в целости.
Второй предполагает, что в процессе кэширования данные синхронно сохраняются во флеш-памяти твердотельного накопителя. Обеспечить сохранность данных позволит применение как минимум двух SSD (RAID 1). Но даже в таком случае сохраняется вероятность потерять данные в результате износа твердотельных дисков.
Чем чаще диск записывает данные, тем быстрее изнашивается. При выборе нужно обращать внимание на характеристики долговечности и износоустойчивости накопителя.
3 метода резервного копирования данных в NAS Synology
Второй ― для Windows
Пользователям Windows PC доступно копирование данных с компьютера в сетевое хранилище.
Для этого в «Центре пакетов» NAS ищем утилиту «Active Backup for Business» и устанавливаем ее.
При первом запуске понадобится ввести учетную запись Synology, вы ее создавали при первом запуске NAS хранилища.
Логинитесь, принимаете положение о конфиденциальности и попадаете на экран настройки программы. Тут можно заметить, что данное программное обеспечение может обеспечивать защиту как стационарных ПК и виртуальных машин, так и серверов.
Покажу на примере обычного ПК. Для этого переходим в раздел ПК и жмем «Добавить устройство». Нам предлагают скачать программу-клиент для компьютера. Есть две версии, первая для 32-разрядных ОС, вторая для 64-разрядных. Скачиваем нужную и устанавливаем.
После этого компьютер-клиент появится в соответствующем разделе.
Подготовка закончена и можно создавать задачу резервного копирования. Для начала задаем имя задачи и указываем место назначения резервных копий на нашем NAS. После чего нужно указать, что именно будет бэкапиться, я выбираю системный том, то есть диск C:. Очень важный функционал – «Сжатие и шифрование данных при передаче» включен по умолчанию, можно отключить, но не рекомендую этого делать, особенно в офисе.
Далее задаете расписание создания копий. Настроек много, сможете очень гибко управлять запуском, в том числе и вручную.
Также очень понятна и прозрачна политика хранения файлов, можно сохранять только последние копии, а самые старые удалять или всегда сохранять последнюю копию месяца, например.
Далее проверяете все заданные параметры и при нажатии кнопки «Применить» сразу запускаете создание резервной копии, если это удобно.
Выводы
Какие выводы можно сделать из нашего тестирования? Прежде всего, обратите внимание на то, насколько агрессивно Synology DSM записывает данные на SSD. Буквально считанные минуты под нагрузкой - и они копируются на SSD накопители, ускоряя и NFS подключения, и iSCSI LUN-ы. По синтетическим тестам, SSD работают даже быстрее ОЗУ, но на деле выходит совсем иначе: чем большое объём горячих данных в вашей инфраструктуре, тем больше памяти нужно установить в NAS, не важно, используются ли в нём жесткие диски, SSD или гибридные массивы.
Ну и наш пример с Redis-ом показывает, что если вы вступили на путь добра и решили вместо старой SAN-СХД установить современный умный NAS с виртуализацией, то используйте его возможности по-максимуму: совсем не обязательно стараться забить все отсеки хранилища твердотельными дисками - можно просто добавить поддержку NoSQL баз данных в ваш софт и на самой простой модели Synology серии Rackstation получить чудо-скорость, которую ещё очень много лет не дадут никакие SSD.
Включение кэша
Теперь нужно выключить виртуальную машину и создать кэш из SSD накопителей Кингстон
- выбираем кэш чтения и записи, так как установлены два диска;
- далее выбираем раздел на который подключим кэш и отмечаем оба накопителя;
- выбираем тип рейда, в данном случае рейд 1 — зеркало;
- и устанавливаем объем, от себя рекомендую ставить 80% от общего объема, так SSD прослужат дольше;
- соглашаемся, что все данные будут уничтожены и жмем OK.
Готово, кэш работает, чтобы его скорость ощутить в полной мере, я несколько раз перезагрузил виртуальную машину, по итогу в кэше записалось чуть более 5Гб.
Потеря данных в 2021 — риск лишиться работы и бизнеса
Ранее отсутствие практики копировать информацию могла нанести серьезный вред только предприятиям и организациям. Для большинства означала в основном потерю фотографий или необходимость переделать часть работы. Приятного мало, но не катастрофично.
Видеоверсия установки SSD кэша в Synology DS420+
Тесты с использованием кэша
После включения кэша на чтение и запись, проводим три аналогичных теста. Сначала с размером файла 256 мегабайт:
Показатели колоссальны, последовательное чтение выросло в 7,5 раз. Но нас больше интересует произвольные чтение и запись. Рост скорости с использованием кэша просто космический. Далее будет сравнение.
Далее в утилите тестирования выставляем размер файла 2Гб и имеем такие результаты:
Обратите внимание не только на скорость в МБ/сек, но и на количество операций ввода-вывода в секунду (IOPS) и тут рост не менее значительный.
И последний тест с размером файла 4Гб:
Флеш-накопителя не хватит
ПК и мобильные девайсы стали удобнее и проще в использовании. Неосторожного касания пальца достаточно для удаления файла. И неважно, насколько он был ценен.
Ранее USB-накопителя было достаточно для хранения важной информации. Тексты, электронные таблицы занимают не так уж много места. Графический контент, а также видео занимает сотни гигабайт. Флешками не обойтись.
Btrfs - ключ к блочной дедупликации
Если вы запишете на NAS в 10 папок 10 файлов windows.iso размером по 3 Гб, то вы займете 30 Гб свободного места. Обычная дедупликация способна выявить повторяющиеся файлы и показать вам, что их можно удалить, у Synology есть эта функция в пакете "анализатор хранения", но это - прошлый век. Блочная дедупликация сканирует каждый файл в поисках повторяющихся блоков (экстентов), и если находит в разных файлах идентичные блоки, то в одном из них она производит удаление дубля экстента, заменяя его ссылкой на такой же экстент в другом файле. Совсем грубо это выглядит так: допустим, есть 10 архивов, в каждом из которых лежит dx.dll, так вот из 9 архивов содержимое файла dx.dll будет удалено и заменено на ссылку, отправляющую к 10-му архиву, где этот файл сохранился. Конечно, на самом деле этот процесс куда более сложный, но смысл все равно остается тем же - ссылка на dx.dll, например, занимает 128 байт, а сам dx.dll - 300 мегабайт. Проведя дедупликацию, мы сэкономим 2700 мегабайт из 3000, и при этом все файлы останутся на месте, их можно копировать, открывать и удалять независимо друг от друга. При записи на другой носитель, например на компьютер, дедуплицированные данные снова займут 3000 мегабайт, так что экономим мы место только внутри NAS-а.
Современные NAS-ы Synology поддерживают файловую систему Btrfs, в которой вот такие "ссылки" на экстенты - есть основа всего, поэтому ядро операционной системы, умеющее работать с Btrfs поддерживает функцию дедупликации само по себе, без лишних инструментов. Но Btrfs сама не умеет проводить дедупликацию, как например ZFS, ни на лету, ни как-то иначе. Файловой системе нужно, чтобы кто-то просмотрел все файлы, нашел в них повторяющиеся блоки и указал, что их можно удалить, заменяя ссылками. Для этой цели существуют несколько программ, одна из которых - duperemove.
Поскольку поддержка Btrfs встроена в ядро операционных систем Synology DSM 6.x, то нам не важно, что в самой Synology DSM нет инструмента дедупликации, ведь все что нам нужно - это сообщить файловой системе, где лежат повторяющиеся блоки данных внутри файлов, а дальше Synology DSM все сделает сама.
Как вы уже поняли, раздел данных на вашем NAS-е должен иметь файловую систему Btrfs, а не EXT4.
Зачем в NAS нужен кэш
Нет считывающей головки, которая перемещается по диску в поисках нужных фрагментов информации. Более высокая скорость в сочетании с вышеперечисленными плюсами делает твердотельный накопитель удачным решением для кэширования данных в сетевом файловом хранилище, хотя основной массив информации хранится на жестких дисках.
SSD-кэш выступает в роли временного пространства для хранения данных, к которым часто обращаются устройства в домашней или офисной сети. Такие данные порой называют «горячими». Для пользователя будет выглядеть как заметно возросшая общая производительность локальной сети.
Скорость современных накопителей и устройств достаточно высока для того, чтобы в большинстве случаев пользователь не ощущал задержек. Речь о производительном оборудование, устаревшего и бюджетного не касаюсь. Многое зависит от выполняемой задачи.
Процедура установки SSD накопителей в NAS
Берем два SSD NVMe накопителя для ускорения на чтение и запись. Переворачиваем NAS и снимаем заглушки.
После чего устанавливаем диски в разъемы, инструменты не нужны, достаточно немного отогнуть пластиковый крепеж и зафиксировать диск.
Ставим заглушки на место и включаем NAS, чтобы протестировать скорость дисков с использованием кэша и без него.
Главные характеристики по информации Kingston:
- Габариты — 80 мм x 22 мм x 3,5 мм.
- Масса — 6,6 г (250 ГБ, 1 TБ), 6,8 г (500 ГБ).
- Уровень вибрации в процессе работы — от 7 до 800 Гц.
- MTBF — 2 000 000.
- Продолжительность ограниченной гарантии и бесплатной техноподдержки вендором ― 5 лет.
2. Кэширование в ОЗУ самого NAS-а
Даже если виртуалка под Windows или Linux занимает на диске сотни гигабайт, активно используются единицы или десятки гигабайт дискового пространства: логи и файлы баз данных, часто запрашиваемые файлы, в общем всё то, что не кэшируется в памяти самой гостевой операционной системы или приложения. Часто запрашиваемые блоки данных хранятся в ОЗУ самой Synology DSM, что мы многократно видели в синтетических тестах прямого файлового доступа. Механизм кэширования в ОЗУ лучше всего наблюдать на дисковых операциях случайного чтения.
На этой диаграмме - идеальный вариант доступа к тестовой области объёмом 16 ГБ. Почти вся она может поместиться в ОЗУ NAS-а, что и происходит в процессе теста. Обратите внимание: "раскачивается" NAS достаточно долго - около 10 минут, после чего выходит на максимальную производительность.
Когда кэш заполняется, скорость чтения вырастает в 3 раза, но всё равно остаётся небольшой по меркам того, что можно выжать из ОЗУ. Имеет ли смысл добавлять SSD для операций, использующих небольшую активную область раздела, способную уместиться в памяти СХД?
Сравнение результатов тестов
А теперь можно сравнить результаты тестов. Привожу пример в двух единицах измерения.
Вначале результаты тестов с размером файла 256 мегабайт:
И последний тест с файлом 4Гб. Результаты говорят сами за себя:
Тест 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-ами.
Тесты без использования кэша
Первый тест проводился с размером файла 256 мегабайт. Это показатели скорости 2,5-дюймового диска без использования кэша.
Далее выставляем размер файла 2Гб и запускаем новый тест. Итоговые показатели такие:
Далее тестируем с размером файла 4Гб. Показатели теста:
Читайте также: