Трохи про зберігання даних і досвіді 1cloud



Обсяг даних, що генеруються людством, з кожним роком збільшується, причому по експоненті. Цей факт сприяє розвитку нових інноваційних технологій, завдяки яким в сфері зберігання даних періодично відбуваються міні-революції.

Щоб встигнути за все зростаючими запитами локальних та інших сховищ, ємність жорстких дисків поступово збільшується. У нас були диски ємністю 320 МБ і 1ТБ, 4 ТБ і 6 ТБ. Тепер нам стали доступні жорсткі диски промислового класу об'ємом 8 ГБ, швидкість обертання яких досягає 7200 об/хв HDD такої ємності знаходять застосування і в хмарних технологіях і корпоративних ЦОД.

Зазначимо, що жорсткі диски мають володіти високими параметрами надійності, доступності та продуктивності. Можливо, коли ви читали специфікації різних дискових пристроїв, то зустрічали фразу «Робоча висота від -300 до +3 000 метрів».

Ця пов'язано з тим, що всім дискових накопичувачів для роботи потрібно повітря, а його тиск усередині диска залежить від висоти, на яких знаходиться пристрій – ця потреба закладена в його конструкції. Головки читання/запису повинні як би пливти над поверхнею гладких магнітних дисків, здійснюють 120 обертів за секунду.

книзі «Модернізація і ремонт ПК» Скотт Мюллер пише наступне:

«Уявіть собі цю голівку: при такому збільшенні її довжина складе близько 410 м, ширина — 325 м, а висота — 100 м (це приблизно розміри хмарочоса Sears, покладеного на бік). Переміщається вона зі швидкістю 9 187 км/с на відстані всього лише 5 мм над землею (тобто над диском) і зчитує біти даних, проміжки між якими рівні 2,16 див. Ці біти даних розташовані на доріжках, відстань між якими становить лише 29,9 див.

Швидкість переміщення цієї гіпотетичної головки навіть важко собі уявити, тому я наведу конкретний приклад. Діаметр Землі становить 12 742 км, тобто довжина близько земної орбіти, що проходить на відстані одного дюйма від поверхні, буде дорівнює приблизно 40 000 км.

Таким чином, розвиваючи швидкість 9 187 км/з, ця головка здійснить виток навколо Землі менше ніж за п'ять секунд. Крім того, за один виток навколо екватора головка зможе прочитати 231,33 Мбайт даних».
У такій ситуації властивості повітря, що відокремлює обертову поверхню і прочитує голівку, дуже важливі. З цієї причини розробники пристрою закладають певний діапазон висот, на яких HDD буде працювати без поломок.

Перевищення цих норм значно збільшує ймовірність виходу з ладу головки читання/запису – внаслідок вібрації вона може торкнутися поверхні диска. Якщо б у дискових накопичувачах не робилися спеціальні отвори, що забезпечують циркуляцію повітря, то верхні і нижні пластини диска довелося б обтяжувати, щоб компенсувати вплив зміни тиску.



Майже у всіх дискових накопичувачів є такі повітроводи

Однак з будь-якого правила є винятки – не всі дискові пристрої мають «дихальні отвори». Наприклад, в 2013 році компанія HGST (Hitachi), дочірня компанія Western Digital, змогла вмістити сім 3,5-дюймових дисків (6 ТБ) один HDD, використавши герметичну заповнену гелієм камеру.

Оскільки гелій в 7 разів легше повітря, то при його використанні зміна тиску не є проблемою. Щоб утримати газ усередині герметичної камери, використовувалася лазерне зварювання швів.

Гелієвий вінчестер на 7200 оборотів в хвилину приблизно на 4-5 градусів холодніше, ніж звичайний (оскільки теплопровідність гелію на порядок вище повітря), і споживає на 33% менше електроенергії. Завдяки цьому у дата-центрів з'являється можливість збільшити дискову щільність, що означає зниження операційних витрат і зменшення займаного пристроями простору, порівняно з класичними системами аналогічної ємності.



Трохи пізніше HGST випустила вінчестер на 10 ТБ, перевершивши характеристики свого конкурента Seagate (диск ємністю 8 ТБ). До 2017 року компанія планує повністю перейти на випуск дисків з гелієм, відмовившись від «повітряних» вінчестерів (про інших технологіях, які можуть перевернути наше уявлення про сховищах можна почитати тут і тут, тут).

Від проблем з перепадами тиску позбавлені і SSD-накопичувачі, які є немеханическим запам'ятовуючим пристроєм. З недавніх пір твердотільні накопичувачі, в основному з-за високої швидкості роботи, знаходять використання у дата-центрах. З'являються масиви, цілком побудовані на флеш-пам'яті, і гібридні масиви, комбінують в собі твердотільні накопичувачі і жорсткі диски.

Тут користувачу доводиться вибирати, що для нього важливіше. SSD запропонували запаморочливі швидкості і дуже високу вартість гігабайта. З іншого боку, многотерабайтные жорсткі диски набагато дешевші, але, володіючи швидкістю в 75-100 IOPS, не можуть справлятися з великим навантаженням.

Гібридні масиви – це якийсь компроміс. Додаючи флеш-пам'ять в розмірі 2-5% від загального обсягу пам'яті, можна збільшити кількість IOPS практично вдвічі, що знизить латентність системи до рівня 3-5 мс (без флеш-технологій вона становить більше 10 мс). Таким чином, заплативши всього на 10-20% більше, ви можете подвоїти продуктивність масиву.

Користувачі сервісу 1cloud тепер теж можуть підключати різні диски до одного віртуального сервера. Одночасне використання різних типів запам'ятовуючих пристроїв дозволяє зробити загальний інфраструктурне рішення більш гнучким, ефективним і оптимізованим за ціною.

Розробка нової функціональності зайняла не дуже багато часу і супроводжувалася стандартним процесом внесення змін: доопрацюванням інтерфейсу панелі управління і зовнішнього сайту. Щоб додати новий диск користувачеві потрібно всього лише зайти в панель управління віртуального сервера і, пройшовши по вкладках Налаштування -> Диски, додати необхідні пристрої.



Дисковий простір видається з масивів NetApp FAS6240 / FAS8040. На рівні vCloud Director організовані окремі Storage policy під кожен тип. Починаючи c vCloud Director версії 5.6 стало доступно (але тільки через API) зміна storage policy для конкретних дисків.

Для реалізації цього функціоналу нам довелося трохи пропатчити .net SDK від VMware через виявленої помилки, коли при додаванні додаткового диска SDK намагався створити ще одну шину з нульовим ідентифікатором.

Нижче представлений код, що ілюструє коректні налаштування для додавання віртуального диска:

VirtualDisk vDisk = new VirtualDisk(10240, BusType.SCSI, BusSubType.LSI_LOGIC_SAS);
vDisk.GetItemResource().Address = null;
vDisk.GetItemResource().AddressOnParent.Value = unit.ToString(); //unit number, треба вираховувати
vDisk.GetItemResource().Parent.Value = bus.ToString(); //це прив'язка нового диска до існуючої шині 

Незважаючи на зростаючу популярність SSD, повністю відмовлятися від HDD ще рано. Дуже розумно використовувати для різних типів завдань різні запам'ятовуючі пристрої.

Наприклад, активно використовувану базу даних варто перенести на SSD-накопичувач – це дозволить оптимізувати швидкість її роботи, а ось операційну систему логічно залишити на більш повільних SAS-дисках. Для зберігання резервних копій можна взагалі підключити ще більш повільний, але більший за обсягом SATA-диск.

P. S. Інші цікаві матеріали по темі:



Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.