Тестування серверних scsi raid-контролерів, КомпьютерПресс
сучасних серверах все більшого поширення знаходить технологія RAID (Redundant Array of Inexpensive Disks, надлишковий масив з недорогих дисків). У масивах RAID зазвичай використовується інтерфейс SCSI, доповнений кількома іншими лініями управління. Канонічними, тобто стандартизованими, рівнями RAID є 0, 1, 2, 3, 4, 5. Решта є комбінаціями (наприклад, 1 + 0) або поліпшеннями, довільно нумерованими розробниками. Про RAID-масивах і алгоритмах їх роботи написано багато, тому в табл. 1 наведена коротка інформація, що дозволяє судити про можливість застосування рівня в кожному конкретному випадку. Наприклад, для графічних додатків, що працюють з файлами великого розміру, найбільш придатний рівень 3, для банку та офісу - рівень 5, для випадків, коли на перший план висувається збереження даних за всяку ціну, - рівень 1.
Як же на практиці реалізуються RAID-системи? Основних функціональних частин дві: контролер і набір дисків. Вони з'єднані інтерфейсом. Контролер виконує функції зв'язку з сервером, генерації надлишкової інформації при записі і перевірці при читанні, розподілу інформації по дискам відповідно до алгоритму функціонування. Контролери бувають як зовнішні, що підключаються по інтерфейсу SCSI, так і внутрішні, виконані у вигляді плати розширення, яка встановлюється в сервер. Основою контролера є потужний RISC-процесор, наприклад Intel i960, який управляє розподілом даних по накопичувачів і розрахунками контрольних сум і кодів. У складі контролера зазвичай також є БІС управління каналом SCSI. Інтерфейс, яким з'єднуються накопичувачі і контролер, - це Ultra / Wide SCSI-3 (Ultra 160), доповнений деякими лініями управління. Фізично він представляє собою 96-контактні еврораз'еми, закріплені на друкованій платі, тобто щось подібне слотів розширення в комп'ютері; на такому роз'ємі є додаткові лінії управління розкручуванням двигуна і деякі інші. Для стикування накопичувачів з таким RAID-інтерфейсом використовуються пластикові корпусу, зовні яких встановлена відповідна частина 96-контактного роз'єму. Усередині передбачено простір для установки накопичувача і є шлейфи з роз'ємами, що з'єднують накопичувач з RAID-інтерфейсом. Один шлейф закінчується стандартним роз'ємом для під'єднання до SCSI-інтерфейсу диска. Інші йдуть до блоку джамперів, за допомогою якого встановлюється SCSI ID, до джамперу «розкрутка» і висновків світлодіода «активність». Таким чином, контролер може «по своєму розумінню» привласнювати SCSI ID всім встановленим накопичувачів; управляти запуском двигуна (при включенні двигуни включаються і розганяють пакет до потрібної швидкості обертання по черзі, щоб уникнути перевантаження блоку живлення). Встановлені в корпусу накопичувачі - звичайні, серійні і цілком придатні для застосування в якості простого SCSI-диска. В іншому випадку використовується стає стандартним для НЖМД, що встановлюються в RAID-масиви, 80-контактний роз'єм SCA-2 (Single Connector Attachment, підключення одним роз'ємом), в якому також є додаткові лінії для управління накопичувачами і подачі живлення +5 В і +12 В. Таке рішення більш вдало завдяки економії обсягу всередині RAID-конструктиву і тому в даний час знаходить широке поширення.
Сам конструктив масиву з інтерфейсної панеллю і направляючими для корпусів може встановлюватися або всередині корпусу сервера, або в окремому корпусі з власним блоком живлення і вентилятором. Основною функцією RAID-масиву є не підвищення ємності дискової підсистеми (як видно з його пристрою, таку ж ємність можна отримати і за менші гроші), а забезпечення безперебійної роботи дискової системи навіть у разі відмови одного з накопичувачів. Підвищення ступеня готовності досягається за допомогою гарячої заміни, тобто вилучення несправного диска і установки нового без виключення живлення. Оскільки при одному несправному накопичувачі дискова підсистема продовжує, хоча і повільніше (крім рівня 1), працювати (крім рівня 0), гаряча заміна забезпечує «прозоре для користувачів» відновлення. Однак швидкість передачі і швидкість доступу при одному непрацюючому диску помітно знижуються через те, що контролер повинен відновлювати дані з надлишкової інформації. З цього правила є виняток: RAID-системи рівнів 2, 3, 4 при виході з ладу накопичувача з надлишковою інформацією починають працювати швидше! Це закономірно, оскільки в такому випадку рівень на льоту змінюється на нульовий, який володіє чудовими швидкісними характеристиками. Якщо конструкцією контролера передбачений і персоналом встановлений запасний диск, то не треба навіть швидко мчати в магазин за новим диском в разі поломки. Контролер сам відключить вийшло з ладу пристрій і задіє замість нього резервне. Однак під час перенесення даних на «викликаний з резерву» диск швидкість передачі знижується, але тільки на цей час. Можливість же гарячої заміни забезпечує ремонт, «прозорий для обслуговуючого персоналу» - несправний диск можна замінити в будь-який момент. Подальше підвищення надійності забезпечується резервуванням блоків живлення з можливістю гарячої заміни. Створюється враження, що сервери і RAID-масиви можна збирати і розбирати не вимикаючи.
Внутрішні контролери, виконані у вигляді плат розширення, мають власний BIOS, необхідний для взаємодії з мережевою ОС і для конфігурації контролера. З точки зору ОС RAID-масив являє собою просто один або декілька дисків великого розміру. Більшість контролерів можуть підтримувати комбінацію декількох рівнів RAID одночасно.
Останнім часом в результаті розвитку інтерфейсу IDE (ATA) з'явилися RAID-масиви, в яких використовуються набагато дешевші і поширені накопичувачі з цим інтерфейсом. Зазвичай встановлюється чотири канали IDE, що дає можливість підключення до восьми накопичувачів. На відміну від інтерфейсу SCSI провідний і ведений диски не можуть працювати одночасно, але при певному конфігурації контролера (наприклад, при розбитті масиву на два томи, в одному з яких знаходяться всі диски Master, а в іншому - Slave) можна домогтися непоганий продуктивності.
Методика тестування
ля тестування RAID-масивів, що застосовуються в серверах, придатні в основному синтетичні тести, такі як IOmeter. Відмінність таких синтетичних тестів від тестів, які працюють з реальними додатками, полягає перш за все в тому, що вони дозволяють емулювати різні режими роботи з диском. Наприклад, синтетичний тест емулює запити заданого розміру на читання і запис в певних пропорціях, що дозволяє створювати різні типи «моделей доступу». У той же час синтетичні тести мало залежать (в ідеальних умов не залежать взагалі) від операційної системи і дозволяють акцентувати увагу саме на апаратній частині тестованого пристрою.
Тестовий пакет IOmeter, розроблений фірмою Intel, складається з контролера (Manager) і одного або декількох агентів (Worker). Контролер дозволяє змінювати конфігурацію тестів, а агенти виконують роботу відповідно до конфігурації. В даному випадку і контролер, і агент розташовувалися на одному комп'ютері.
Одним з головних достоїнств синтетичного тесту IOmeter є можливість створення необхідної «моделі доступу», характерною, наприклад, для файл-сервера або сервера баз даних. Змінними, складовими модель доступу, є розмір запиту на передачу даних, випадкове / послідовне читання або запис і розподіл операцій читання / запису в процентному співвідношенні. Ці три основні характеристики можуть бути об'єднані «в загальний відсоток» (Percentage of Access Specification), який разом з іншими параметрами складе сукупну модель доступу, яка підходить для будь-якого випадку.
Наприклад, якщо передбачається, що для якогось додатку характерні запити на послідовне читання розмірами 1024 байт і 8 Кбайт, але при цьому запити по 8 Кбайт відбуваються частіше, то, створюючи «модель доступу» цього додатка, можна визначити процентне співвідношення між запитами по 8 Кбайт і 1024 байт.
Утиліта IOmeter дозволяє вимірювати велику кількість всіляких характеристик, багато з яких або доповнюють один одного, або представляють собою різні варіанти тестування одних і тих же параметрів. На наш погляд, найбільший інтерес представляє кількість операцій введення / виводу (транзакцій) в секунду. Цей найбільш значимий параметр показує, скільки звернень було виконано за 1 секунду. Зрозуміло, кожне звернення включає кілька дій, виконаних послідовно: переміщення приводу, обертання диска, зчитування або запис блоку розміром від 0,5 до 64 Кбайт. Саме цю характеристику ми і вимірювали за допомогою утиліти IOmeter.
Розмістити фотографію сервераРазместіть фотографію сервера.
Сервер, який має спеціалізований корпус Intel SC5000 Pedestal, побудований на базі материнської плати Intel STL2 c двома процесорами Intel Pentium III 1000EB і частотою FSB 133 МГц. Обсяг встановленої оперативної пам'яті - 512 Мбайт SDRAM ECC. Материнська плата Intel STL2 побудована на наборі мікросхем ServerWorks ServerSet III LE. Плата має шість PCI-слотів, два з яких підключені до незалежної 64-розрядної шини PCI з тактовою частотою 66 МГц, що забезпечує збільшення пропускної здатності підсистеми вводу / виводу, а інші слоти є 32-бітними з тактовою частотою 33 МГц. Ще однією особливістю плати є наявність інтегрованого двоканального SCSI-контролера Adaptec AIC 7899 (один канал Ultra 160 і один канал Ultra Wide SCSI). Чіп AIC 8799 підтримує PCI-шину 64 біт 66 МГц (канал Ultra 160 з пропускною спроможністю 160 Мбайт / с) і шину 32 біт 33 МГц (канал Ultra Wide SCSI з пропускною спроможністю 80 Мбайт / с).
Серверний корпус Intel SC5000 Pedestal був обраний нами не випадково. Він дозволяє встановлювати два кошики для жорстких SCSI-дисків з можливістю гарячої заміни. У кожну корзину встановлюється до п'яти дисків, так що в цілому можна встановити десять SCSI-дисків. Хоча максимальна кількість жорстких дисків, що використовуються для тестування RAID-контролерів, не перевищувало п'яти, необхідність використання саме двох кошиків, була викликана тим, що всі диски в межах одного кошика могли підключатися тільки до одного каналу RAID-контролера. Таким чином, при тестуванні двохканальних RAID-контролерів використовувалося по одному кошику на кожен канал.
Розмістити фотографію кошика для установки дисків.
Виміри проводилися для кожного з контролерів при підключенні двох, трьох, чотирьох і п'яти SCSI-вінчестерів IBM DDYS-T09170. Для дослідження впливу кількості підключених накопичувачів на продуктивність використовувався режим RAID0. Виняток робився тільки для кількості вінчестерів, рівного п'яти. Ця конфігурація також встановлювалася в режим RAID5 для порівняння швидкості обміну з подальшим фізичним відключенням одного накопичувача з метою перевірки швидкості роботи в режимі відновлення даних по контрольних сумах. Для тестування двохканальних контролерів використовувалася другий кошик, при цьому вінчестери встановлювалися в обидва кошики за схемами 1 + 1, 1 + 2, 2 + 2 і 2 + 3.
Основні характеристики вінчестерів
При тестуванні диски, що об'єднуються в RAID-масив, мали файлову систему NTFS, а розмір Страйп для RAID-контролера встановлювався за замовчуванням і для всіх контролерів становив 64 Кбайт.
критерії якості
ля порівняння RAID-контролерів між собою необхідно вибрати основні параметри, що стосуються насамперед до швидкісними показниками масиву, утвореного різними контролерами і набором однакових дисків. З таких показників ми вибрали швидкість транзакцій (кількість операцій введення / виводу в секунду), час доступу (час виконання транзакції), завантаження процесора і швидкість лінійного читання диска. Перші три параметри вимірювалися за допомогою утиліти IOmeter, останній параметр - за допомогою утиліти WinBench 99. Для отримання показників якості кожного параметра використовувався метод зважування, при якому швидкість обміну і інші параметри, отримані для масиву з i-дисків, множилися на кількість дисків масиву і потім підсумовувалися.
Необхідність використання настільки заплутаного алгоритму викликана простим міркуванням. Кожен RAID-контролер тестувався з двома, трьома, чотирма і п'ятьма жорсткими дисками. При цьому можна припустити, що вплив самого RAID-контролера на продуктивність дискової підсистеми в більшій мірі проявляється при великій кількості дисків. Тільки в разі двох дисків продуктивність дискової підсистеми залежить в першу чергу від характеристик самих дисків. Саме це ми і підтвердили під час проведення випробувань: при двох встановлених дисках все RAID-контролери показали приблизно однакову продуктивність. Таким чином, було б логічно збільшувати «значимість» результату в міру зростання кількості встановлюваних дисків. У нашому випадку результат збільшується в геометричній пропорції. Тобто кількість транзакцій (операцій введення / виводу) в секунду для п'яти дисків в п'ять разів більше, ніж для одного диска. Саме тому для визначення середньозваженого результату параметри, отримані для масиву з i-дисків, множилися на кількість дисків масиву.
Для RAID-масиву з п'яти дисків рівня 5 процедура зважування не проводилася.
Потім отримані показники нормувалися на одиницю шляхом їх поділу на максимальний результат. Далі методом експертної оцінки кожному з показників присвоювався ваговий коефіцієнт в діапазоні від нуля (мінімальна значимість) до одиниці (максимальна значимість). Після цього показники якості множилися на свої вагові коефіцієнти і проводилося алгебраїчне підсумовування творів. Відзначимо, що такі характеристики, як час доступу і утилізації процесора, враховувалися в сумі зі знаком мінус, так як більшому значенню цих параметрів відповідає найгірший результат. Остаточні результати тестування наведені в табл. 3.
Крім виявлення найбільш продуктивного RAID-контролера, виявлявся оптимальний для покупки контролер. Для цього отриманий інтегральний показник якості ділився на середню роздрібну ціну контролера. Чим вище продуктивність контролера і менше ціна, тим більше відношення якість / ціна, і, отже, тим більш вигідним представляється покупка контролера.