Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Технологиите за подобряване на производителността, базирани на използването на SSD и широко използвани в системите за съхранение, отдавна са измислени. На първо място, това е използването на SSD като място за съхранение, което е 100% ефективно, но скъпо. Поради това се използват технологии за умора и кеширане, при които SSD се използват само за най-популярните („горещи“) данни. Подреждането е добро за сценарии на дългосрочно (дни-седмици) използване на „горещи“ данни. Кеширането, напротив, е за краткосрочна (минути-часове) употреба. И двете опции са внедрени в системата за съхранение QSAN XCubeSAN. В тази статия ще разгледаме изпълнението на втория алгоритъм - SSD кеширане.

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Същността на технологията за SSD кеширане е използването на SSD като междинен кеш между твърдите дискове и RAM паметта на контролера. Производителността на SSD, разбира се, е по-ниска от производителността на собствения кеш на контролера, но обемът е с порядък по-висок. Следователно получаваме определен компромис между скорост и обем.

Индикации за използване на SSD кеш за четене:

  • Преобладаването на операциите за четене над операциите за запис (най-често характерни за бази данни и уеб приложения);
  • Наличието на пречка под формата на производителност на масива на твърдия диск;
  • Количеството необходими данни е по-малко от размера на кеша на SSD.

Индикациите за използване на SSD кеш за четене+запис са същите, с изключение на характера на операциите – смесен тип (например файлов сървър).

Повечето доставчици на съхранение използват SSD кеш само за четене в своите продукти. Основната разлика QSAN Те предоставят възможност за използване на кеша и за писане. За да активирате функцията за SSD кеширане в QSAN системи за съхранение, трябва да закупите отделен лиценз (доставя се по електронен път).

SSD кешът в XCubeSAN е физически реализиран под формата на отделни SSD кеш пулове. В системата могат да бъдат до четири. Всеки пул, разбира се, използва свой собствен набор от SSD. И вече в свойствата на виртуалния диск определяме дали ще използва кеш пул и кой. Активирането и деактивирането на използването на кеша за томове може да се извърши онлайн без спиране на I/O. Можете също така да добавите горещо SSD към пула и да ги премахнете от там. Когато създавате SSD пул кеш, трябва да изберете в какъв режим ще работи: само за четене или четене+запис. От това зависи неговата физическа организация. Тъй като може да има няколко кеш пулове, тяхната функционалност може да бъде различна (т.е. системата може да има кеш пулове както за четене, така и за четене+запис едновременно).

Ако се използва кеш пул само за четене, той може да се състои от 1-8 SSD. Не е необходимо дисковете да са с еднакъв капацитет и от един и същи доставчик, тъй като те са комбинирани в NRAID+ структура. Всички SSD в пула са споделени. Системата независимо се опитва да паралелизира входящите заявки между всички SSD, за да постигне максимална производителност. Ако един от SSD дисковете се повреди, няма да се случи нищо лошо: в края на краищата кешът съдържа само копие на данните, съхранявани в масива от твърди дискове. Просто количеството наличен SSD кеш ще намалее (или ще стане нула, ако използвате оригиналния SSD кеш от едно устройство).

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Ако кешът се използва за операции за четене + запис, тогава броят на SSD дисковете в пула трябва да е кратен на две, тъй като съдържанието се отразява на двойки устройства (използва се структурата NRAID 1+). Дублирането на кеша е необходимо, защото може да съдържа данни, които все още не са записани на твърдите дискове. И в този случай отказът на SSD от кеш пула би довел до загуба на информация. В случай на NRAID 1+ повреда на SSD просто ще доведе до прехвърляне на кеша в състояние само за четене, като незаписаните данни се изхвърлят в масива на твърдия диск. След подмяна на дефектния SSD, кеш паметта ще се върне в първоначалния си работен режим. Между другото, за по-голяма сигурност можете да присвоите специални горещи резерви към кеш за четене + запис.

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Когато използвате функцията за SSD кеширане в XCubeSAN, има редица изисквания за количеството памет на контролерите за съхранение: колкото повече системна памет, толкова по-голям ще бъде наличен кеш пул.

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

За разлика от повечето производители на системи за съхранение, които предлагат само опция за включване/изключване на SSD кеша, QSAN предоставя повече опции. По-специално, можете да изберете режима на работа на кеша в зависимост от естеството на натоварването. Има три предварително зададени шаблона, които са най-близки по своята работа до съответните услуги: база данни, файлова система, уеб услуга. Освен това администраторът може да създаде свой собствен профил, като зададе необходимите стойности на параметрите:

  • Размер на блок (Cache Block Size) – 1/2/4 MB
  • Брой заявки за четене на блок, така че да бъде копиран в кеша (Праг за попълване при четене) – 1..4
  • Брой заявки за запис на блок, така че да бъде копиран в кеша (Праг за попълване при запис) – 0..4

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Профилите могат да се променят в движение, но, разбира се, със съдържанието на нулирането на кеша и новото му „загряване“.

Имайки предвид принципа на работа на SSD кеша, можем да подчертаем основните операции при работа с него:

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Четене на данни, когато не са в кеша

  1. Заявка от хоста пристига в контролера;
  2. Тъй като заявените не са в кеша на SSD, те се четат от твърдите дискове;
  3. Прочетените данни се изпращат на хоста. В същото време се прави проверка дали тези блокове са „горещи“;
  4. Ако да, тогава те се копират в SSD кеша за по-нататъшна употреба.

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Четене на данни, когато те присъстват в кеша

  1. Заявка от хоста пристига в контролера;
  2. Тъй като исканите данни са в SSD кеша, те се четат от там;
  3. Прочетените данни се изпращат на хоста.

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Записване на данни при използване на кеш за четене

  1. Заявка за запис от хоста пристига в контролера;
  2. Данните се записват на твърди дискове;
  3. На хоста се връща отговор, показващ успешен запис;
  4. В същото време се проверява дали блокът е „горещ“ (сравнява се параметърът Populate-on-Write Threshold). Ако да, то се копира в SSD кеша за по-късна употреба.

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Записване на данни при използване на кеш за четене+запис

  1. Заявка за запис от хоста пристига в контролера;
  2. Данните се записват в SSD кеша;
  3. На хоста се връща отговор, показващ успешен запис;
  4. Данните от SSD кеша се записват на твърди дискове във фонов режим;

Проверка в действие

изпитателен стенд

2 сървъра (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) са свързани чрез два порта чрез Fibre Channel 16G директно към системата за съхранение XCubeSAN XS5224D (16GB RAM/контролер).

Използвахме 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, комбинирани в RAID5 (15+1), за масива от данни и 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s като кеш

Създадени са 2 тома: по един за всеки сървър.

Тест 1. SSD кеш само за четене от 1-8 SSD

SSD кеш

  • I/O Тип: Персонализиране
  • Размер на кеш блок: 4MB
  • Праг за попълване при четене: 1
  • Праг за попълване при запис: 0

I/O модел

  • Инструмент: IOmeter V1.1.0
  • Работници: 1
  • Изключително (дълбочина на опашка): 128
  • Спецификации за достъп: 4KB, 100% четене, 100% произволно

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

На теория, колкото повече SSD дискове са в кеша, толкова по-висока е производителността. На практика това е потвърдено. Единственото значително увеличение на броя на SSD с малък брой томове не води до експлозивен ефект.

Тест 2. SSD кеш в режим на четене + запис с 2-8 SSD

SSD кеш

  • I/O Тип: Персонализиране
  • Размер на кеш блок: 4MB
  • Праг за попълване при четене: 1
  • Праг за попълване при запис: 1

I/O модел

  • Инструмент: IOmeter V1.1.0
  • Работници: 1
  • Изключително (дълбочина на опашка): 128
  • Спецификации за достъп: 4KB, 100% запис, 100% произволен

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

Същият резултат: експлозивен растеж на производителността и мащабиране с увеличаване на броя на SSD.

И в двата теста количеството работни данни беше по-малко от общия размер на кеша. Следователно с течение на времето всички блокове бяха копирани в кеша. И работата всъщност вече беше извършена със SSD, практически без да засяга твърдите дискове. Целта на тези тестове беше ясно да се демонстрира ефективността на загряването на кеша и мащабирането на неговата производителност в зависимост от броя на SSD.

Сега нека се върнем на земята и да проверим по-реалистична ситуация, когато количеството данни е по-голямо от размера на кеша. За да може тестът да премине за разумен период от време (периодът на „загряване“ на кеша се увеличава значително с увеличаване на размера на тома), ние ще ограничим размера на тома до 120 GB.

Тест 3. Емулация на база данни

SSD кеш

  • I/O Тип: База данни
  • Размер на кеш блок: 1MB
  • Праг за попълване при четене: 2
  • Праг за попълване при запис: 1

I/O модел

  • Инструмент: IOmeter V1.1.0
  • Работници: 1
  • Изключително (дълбочина на опашка): 128
  • Спецификации за достъп: 8KB, 67% четене, 100% произволно

Внедряване на SSD кеширане в QSAN XCubeSAN система за съхранение

присъда

Очевидното заключение, разбира се, е добрата ефективност на използването на SSD кеш за подобряване на производителността на всяка система за съхранение. Приложено към QSAN XCubeSAN Това твърдение важи напълно: функцията за SSD кеширане е реализирана перфектно. Това се отнася за поддръжка на режими за четене и четене + запис, гъвкави настройки за всеки сценарий на използване, както и цялостната производителност на системата като цяло. Следователно, за много разумна цена (цената на лиценза е сравнима с цената на 1-2 SSD диска), можете значително да увеличите общата производителност.

Източник: www.habr.com

Добавяне на нов коментар