Продължавайки с разглеждането на технологии за ускоряване на входно-изходните операции, приложими към СХД, започнати в , не можем да не се спрем на така популярна опция като тиринг (Auto Tiering). Въпреки че идеологията на работа на тази функция е доста близка при различните производители на системи за съхранение, ние ще разгледаме особеностите на реализирането на тиринга на примера на .

Въпреки разнообразието от данни, съхранявани на СХД, тези данни могат да бъдат разделени на няколко групи в зависимост от тяхната търсеност (честота на използване). За най-популярните („горещи“) данни е изключително важно да се организира максимално бърз достъп, докато обработката на по-малко търсените („студени“) данни може да се извършва с по-нисък приоритет.
За организирането на подобна схема се използва функционалността на тиринга. Масивът от данни в такъв случай не се състои от однотипни дискове, а от няколко групи устройства, образуващи различни нива (tier) на съхранение. С помощта на специален алгоритъм данните автоматично се прехвърлят между нивата с цел осигуряване на максимална крайна производителност.

СХД поддържат до три нива на съхранение:
- Tier 1: SSD, максимална производителност
- Tier 2: HDD SAS 10K/15K, висока производителност
- Tier 3: HDD NL-SAS 7.2K, максимален капацитет
Auto Tiering пулът може да съдържа както всички три нива, така и само две в различни комбинации. Вътре в всяко Tier устройствата се обединяват в познатите RAID групи. За максимална гъвкавост нивото на RAID в всяко Tier може да бъде различно. Т.е., например, нищо не пречи да се организира структура от вида 4x SSD RAID10 + 6x HDD 10K RAID5 + 12 HDD 7.2K RAID6
След създаването на томове (виртуални дискове) на пулът започва фоново събиране на статистика за всички операции на вход/изход. За целта пространството се нарязва на блокове с размер 1ГБ (така наречените sub LUN). При всяко запитване към такъв блок му се присвоява коефициент 1. След това, с времето, този коефициент намалява. След 24 часа, при липса на запитвания за вход/изход към този блок, той ще бъде равен на 0.5 и ще продължи да пада с всеки следващ час.
В определен момент на време (по подразбиране всеки ден в полунощ) се извършва ранжиране на събраните резултати по активността на sub LUN на база техните коефициенти. С оглед на това се взима решение за преместването на блоковете и в коя посока. След това всъщност се извършва релокация на данните между нивата.

В СХД Qsan управлението на процеса на тиринг е отлично реализирано чрез множество параметри, което позволява значително гъвкаво настройване на крайното представяне на масива.
За определяне на началното местоположение на данните и приоритетната посока на тяхното преместване се използват политики, които се задават отделно за всеки том:
- Auto Tiering – Политиката по подразбиране, при която изначалното разположение и посоката на преместване се определят автоматично, т.е. „горещите“ данни се стремят към най-горното ниво, а „студените“ данни се преместят надолу. Изначалното разположение се избира въз основа на наличното пространство на всяко от нивата. Но е нужно да се разбере, че системата преди всичко се стреми максимално да използва най-бързите носители. Затова, при наличие на свободно пространство, данните ще се разположат на горните нива. Тази политика е подходяща за повечето сценарии, когато не може да се прогнозира предварително търсенето на данните.
- Започнете с високо, а след това Auto Tiering – Разликата от предходния е само в изначалното разположение на данните (на най-бързото ниво)
- Максимално високо ниво – Данните винаги се стремят да заемат най-бързото ниво. Ако по време на работа те бъдат преместени надолу, при първа възможност те се връщат обратно. Тази политика е подходяща за данни, за които е необходим максимално бърз достъп.
- Минимално ниво – Данните винаги се стремят да заемат най-ниското ниво. Тази политика е отлична за рядко използвани данни (например архиви).
- Без преместване – Системата автоматично определя изначалното местоположение на данните и не извършва тяхното преместване. Въпреки това, статистиката продължава да се събира на случай, че по-късно се наложи тяхната релокация.
Следва да се отбележи, че въпреки че политиките се определят при създаването на всеки том, те могат многократно да се променят "на лету" в процеса на жизнения цикъл на системата.
Освен политиката за механизма за тиринг, се настройва и честотата и темпът на преместване на данни между различните нива. Може да зададете конкретно време за преместване: ежедневно или в определени дни от седмицата, както и да намалите интервала за събиране на статистики до няколко часа (минималната честота е 2 часа). Ако е необходимо да ограничите времето за изпълнение на операцията по преместване на данни, можете да зададете времеви рамки (прозорец за преместване). Освен това, се посочва и скоростта на релокация – 3 режима: бърз, среден, бавен.

В случай на необходимост от незабавна релокация на данни, имате възможност да я извършите в ръчен режим по всяко време по команда на администратора.
Ясно е, че колкото по-често и по-бързо се премества данните между нивата, толкова по-гъвкава ще бъде СХД в адаптацията си към текущите условия на експлоатация. Но същевременно е важно да се помни, че преместването представлява допълнителна натовареност (особено за дисковете), затова не е разумно да "гоните" данни без крайна необходимост. По-добре е да планирате преместването в периоди на минимални натоварвания. Ако обаче работата на СХД постоянно изисква висока производителност в режим 24/7, следва да се намали темпът на релокация до минимум.
Изобилието от настройки за тиринг безспорно ще зарадва напредналите потребители. Въпреки това, за тези, които се сблъскват за първи път с подобна технология, няма нищо страшно. Напълно можете да се доверите на настройките по подразбиране (политика Auto Tiering, преместване с максимална скорост веднъж дневно през нощта) и с натрупването на статистика да коригирате определени параметри за постигане на желаните резултати.
Сравнявайки тиринг с такава не по-малко популярна технология за увеличаване на производителността, като , следва да се помни за различните принципи на работа на техните алгоритми.
SSD кеширане
Auto Tiering
Скорост на настъпване на ефекта
Почти мигновено. Но забележим ефект само след "загряване" на кеша (минутите до часовете)
След събиране на статистика (от 2 часа, в идеалния случай – 24 часа) плюс време за преместване на данни
Продължителност на ефекта
Докато данните не бъдат изместени от нова порция (минутите до часовете)
Докато актуалността на данните е значима (24 часа и повече)
Показания за приложение
Моментално увеличение на производителността за кратък период (бази данни, виртуални среди)
Увеличаване на производителността за дълъг период (файлови, уеб и пощенски сървъри)
Една от особеностите на тиринга е, че той може да се използва не само за сценарии от типа „SSD + HDD“, но и за „бързи HDD + бавни HDD“ или дори за всичките три нива, което в случай на SSD кеширане е принципно невъзможно.
Тестване
За да проверим работата на алгоритмите за тиринг, проведохме прост тест. Създаден беше пул от два SSD слоя (RAID 1) + HDD 7.2K (RAID1), на който беше разположен том с политика за „минимално ниво“. Т.е. данните винаги трябва да се намират на бавните дискове.


Интерфейсът за управление ясно показва разположението на данните между слоевете
След запълването на тома с данни, сменихме политиката на разположение на Auto Tiering и стартирахме тест IOmeter.

След няколко часа тест, когато системата успя да натрупа статистика, започна процесът на релакация.

След приключване на преместването на данните, нашият тестов том напълно „препълзя“ на най-високото ниво (SSD).


Присъда
Auto Tiering е чудесна технология, позволяваща с минимални материални и времеви разходи да увеличи производителността на системата за съхранение чрез по-интензивно използване на високоскоростни носители. Отнася се до единственото вложение е лиценз, който се придобива веднъж завинаги без ограничение на обема/броя дискове/полки и др. Тази функционалност е снабдена с толкова богати настройки, че може да задоволи практически всяка бизнес задача. А визуализацията на процесите в интерфейса позволява ефективно управление на устройството.
Източник: habr.com
