19.08.2016, 15:37:31
Войти Зарегистрироваться
Авторизация на сайте

Ваш логин:

Ваш пароль:

Забыли пароль?

Навигация
Новости
Архив новостей
Реклама
Календарь событий
Right Left

Практичні поради щодо створення RAID-масивів

  1. Від теорії до практики Їли говорити про домашніх комп'ютерах, то найбільш затребуваними і популярними...
  2. утиліта IOmeter
  3. Створення RAID-масиву на базі контролера GIGABYTE SATA2
  4. Створення RAID-масиву на базі контролера Marvell 9128
  5. Створення RAID-масиву на базі контролера, інтегрованого в ICH10R
  6. Порівняння продуктивності RAID-масивів
  7. Контролер GIGABYTE SATA2
  8. Контролер Marvell 9128
  9. контролер ICH10R

Від теорії до практики

Їли говорити про домашніх комп'ютерах, то найбільш затребуваними і популярними є RAID-масиви рівнів 0 і 1. Використання RAID-масивів з трьох і більше дисків в домашніх ПК - швидше виняток з правила. Пов'язано це з тим, що, з одного боку, вартість RAID-масивів зростає пропорційно кількості задіяних в ньому дисків, а з іншого - для домашніх комп'ютерів першочергове значення має ємність дискового масиву, а не його продуктивність і надійність.

Тому в подальшому ми розглянемо RAID-масиви рівнів 0 і 1 на основі тільки двох дисків. У завдання нашого дослідження буде входити порівняння продуктивності і функціональності RAID-масивів рівнів 0 і 1, створених на базі декількох інтегрованих RAID-контролерів, а також дослідження залежності швидкісних характеристик RAID-масиву від розміру Страйп.

Справа в тому, що хоча теоретично при використанні RAID-масиву рівня 0 швидкість читання і запису повинна зростати вдвічі, на практиці зростання швидкісних характеристик набагато менш скромне і для різних RAID-контролерів воно різне. Аналогічно і для RAID-масиву рівня 1: незважаючи на те що теоретично швидкість читання повинна збільшуватися вдвічі, на практиці не все так гладко.

Для нашого порівняльного тестування RAID-контролерів ми використовували материнську плату Gigabyte GA-EX58A-UD7. Ця плата заснована на чіпсеті Intel X58 Express з південним мостом ICH10R, що мають інтегрований RAID-контролер на шість портів SATA II, який підтримує організацію RAID-масивів рівнів 0, 1, 10 і 5 з функцією Intel Matrix RAID. Крім того, на платі Gigabyte GA-EX58A-UD7 інтегрований RAID-контролер GIGABYTE SATA2, на базі якого реалізовані два порти SATA II c можливістю організації RAID-масивів рівнів 0, 1 і JBOD.

Також на платі GA-EX58A-UD7 інтегрований SATA III-контролер Marvell 9128, на базі якого реалізовані два порти SATA III c можливістю організації RAID-масивів рівнів 0, 1 і JBOD.

Таким чином, на платі Gigabyte GA-EX58A-UD7 є три окремих RAID-контролера, на базі яких можна створити RAID-масиви рівнів 0 і 1 і порівняти їх один з одним. Нагадаємо, що стандарт SATA III сумісний зі стандартом SATA II, тому на базі контролера Marvell 9128, що підтримує диски з інтерфейсом SATA III, можна також створювати RAID-масиви з використанням дисків з інтерфейсом SATA II.

Стенд для тестування мав наступну конфігурацію:

  • процесор - Intel Core i7-965 Extreme Edition;
  • материнська плата - Gigabyte GA-EX58A-UD7;
  • версія BIOS - F2a;
  • жорсткі диски - два диска Western Digital WD1002FBYS, один диск Western Digital WD3200AAKS;
  • інтегровані RAID-контролери:
  • ICH10R,
  • GIGABYTE SATA2,
  • Marvell 9128;
  • пам'ять - DDR3-1066;
  • обсяг пам'яті - 3 Гбайт (три модулі по 1024 Мбайт);
  • режим роботи пам'яті - DDR3-1333, трьохканальний режим роботи;
  • відеокарта - Gigabyte GeForce GTS295;
  • блок живлення - Tagan 1300W.

Тестування проводилося під управлінням операційної системи Microsoft Windows 7 Ultimate (32-bit). Операційна система інстальована на диск Western Digital WD3200AAKS, який підключався до порту контролера SATA II, інтегрованого в південний міст ICH10R. RAID-масив збирався на двох дисках WD1002FBYS з інтерфейсом SATA II.

Для вимірювання швидкісних характеристик створюваних RAID-масивів ми використовували утиліту IOmeter, яка є галузевим стандартом для вимірювання продуктивності дискових систем.

утиліта IOmeter

Оскільки ми задумували цю статтю як своєрідне керівництво користувача по створенню та тестуванню RAID-масивів, логічно буде почати з опису утиліти IOmeter (Input / Output meter), яка, як ми вже зазначили, є своєрідним галузевим стандартом для вимірювання продуктивності дискових систем. Дана утиліта безкоштовна, і її можна завантажити з ресурсу http://www.iometer.org.

Утиліта IOmeter є синтетичним тестом і дозволяє працювати з неразбітие на логічні розділи жорсткими дисками, завдяки чому можна тестувати диски незалежно від файлової структури і звести до нуля вплив операційної системи.

При тестуванні можливе створення специфічної моделі доступу, або «патерну», яка дозволяє конкретизувати виконання жорстким диском специфічних операцій. У разі створення конкретної моделі доступу дозволяється змінювати наступні параметри:

  • розмір запиту на передачу даних;
  • випадкове / послідовний розподіл (в%);
  • розподіл операцій читання / запису (в%);
  • кількість окремих операцій введення-виведення, що працюють паралельно.

Утиліта IOmeter не вимагає інсталяції на комп'ютер і складається з двох частин: власне IOmeter і Dynamo.

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

Для того щоб почати роботу з програмою IOmeter, досить запустити файл IOmeter.exe. При цьому відкривається головне вікно програми IOmeter (рис. 1).

Мал. 1. Головне вікно програми IOmeter

Потрібно відзначити, що утиліта IOmeter дозволяє виробляти тестування не тільки локальних дискових систем (DAS), але і мережевих накопичувачів (NAS). Наприклад, з її допомогою можна протестувати продуктивність дискової підсистеми сервера (файл-сервера), використовуючи для цього декілька мережевих клієнтів. Тому частина закладок і інструментів у вікні утиліти IOmeter відноситься саме до мережевих налаштувань програми. Зрозуміло, що при тестуванні дисків і RAID-масивів ці можливості програми нам не будуть потрібні, а тому ми не станемо пояснювати призначення всіх вкладок і інструментів.

Отже, при запуску програми IOmeter в лівій частині головного вікна (у вікні Topology) буде відображатися деревоподібна структура всіх запущених генераторів навантаження (примірників Dynamo). Кожен запущений екземпляр генератора навантаження Dynamo називається менеджером (manager). Крім того, програма IOmeter є многопотоковой і кожен окремий запущений потік примірника генератора навантаження Dynamo називається Worker. Кількість запущених Worker'ов завжди відповідає кількості логічних ядер процесора.

У нашому прикладі використовується тільки один комп'ютер з чотирьохядерним процесором, що підтримує технологію Hyper-Threading, тому запускається лише один менеджер (один екземпляр Dynamo) і вісім (за кількістю логічних ядер процесора) Worker'ов.

Власне, для тестування дисків в даному вікні немає необхідності що-небудь міняти або додавати.

Якщо виділити мишею назву комп'ютера в структурі дерева запущених екземплярів Dynamo, то у вікні Target на вкладці Disk Target відобразяться всі диски, дискові масиви та інші накопичувачі (включаючи мережеві), встановлені в комп'ютері. Це ті накопичувачі, з якими програма IOmeter може працювати. Носії можуть бути позначені жовтим або блакитним кольором. Жовтим кольором відзначаються логічні розділи носіїв, а блакитним - фізичні пристрої без створених на них логічних розділів. Логічний розділ може бути перекреслений або не перекреслять. Справа в тому, що для роботи програми з логічним розділом його потрібно перш підготувати, створивши на ньому спеціальний файл, що дорівнює за розміром ємності всього логічного розділу. Якщо логічний розділ перекреслений, то це означає, що розділ ще не підготовлений для тестування (він буде підготовлений автоматично на першому етапі тестування), ну а якщо розділ не перекреслений, то це означає, що на логічному розділі вже створений файл, повністю готовий для тестування .

Відзначимо, що, незважаючи на підтримувану можливість роботи з логічними розділами, оптимально тестувати саме не биття на логічні розділи диски. Видалити логічний розділ диска можна дуже просто - через оснащення Disk Management. Для доступу до неї досить натиснути правою кнопкою миші на значку Computer на робочому столі і в меню вибрати пункт Manage. У вікні Computer Management в лівій частині необхідно вибрати пункт Storage, а в ньому - Disk Management. Після цього в правій частині вікна Computer Management відобразяться всі підключені диски. Клацнувши правою кнопкою по потрібному диску і вибравши в меню пункт Delete Volume ..., можна видалити логічний розділ на фізичному диску. Нагадаємо, що при видаленні з диска логічного розділу вся інформація на ньому видаляється без можливості відновлення.

Взагалі, за допомогою утиліти IOmeter тестувати можна тільки чисті диски або дискові масиви. Тобто не можна протестувати диск або дисковий масив, на якому встановлена ​​операційна система.

Отже, повернемося до опису утиліти IOmeter. У вікні Target на вкладці Disk Target необхідно вибрати той диск (або дисковий масив), який буде піддаватися тестуванню. Далі необхідно відкрити вкладку Access Specifications (рис. 2), на якій можна буде визначити сценарій тестування.

Мал. 2. Вкладка Access Specifications утиліти IOmeter

У вікні Global Access Specifications є список встановлених сценаріїв тестування, які можна привласнити менеджеру завантаження. Втім, ці сценарії нам не знадобляться, тому всі їх можна виділити і видалити (для цього передбачена кнопка Delete). Після цього натиснемо на кнопку New, щоб створити новий сценарій тестування. У вікні Edit Access Specification можна визначити сценарій завантаження диска або RAID-масиву.

Припустимо, ми хочемо з'ясувати залежність швидкості послідовного (лінійного) читання і записи від розміру блоку запиту на передачу даних. Для цього нам потрібно сформувати послідовність сценаріїв завантаження в режимі послідовного читання при різних розмірах блоку, а потім послідовність сценаріїв завантаження в режимі послідовного запису при різних розмірах блоку. Зазвичай розміри блоків вибираються у вигляді ряду, кожен член якого вдвічі більше попереднього, а перший член цього ряду дорівнює 512 байт. Тобто розміри блоків складають наступний ряд: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт, 1 Мбайт. Робити розмір блоку більше 1 Мбайт при послідовних операціях немає сенсу, оскільки при таких великих розмірах блоку даних швидкість послідовних операцій не змінюється.

Отже, сформуємо сценарій завантаження в режимі послідовного читання для блоку розміром 512 байт.

В поле Name вікна Edit Access Specification вводимо назву сценарію завантаження. Наприклад, Sequential_Read_512. Далі в поле Transfer Request Size задаємо розмір блоку даних 512 байт. Повзунок Percent Random / Sequential Distribution (процентне співвідношення між послідовними і вибірковими операціями) зрушуємо до упору вліво, щоб всі наші операції були тільки послідовними. Ну а повзунок Percent Read / Write Distribution, що задає процентне співвідношення між операціями читання і запису, зрушуємо до упору вправо, щоб всі наші операції були тільки читанням. Інші параметри у вікні Edit Access Specification міняти не потрібно (рис. 3).

Мал. 3. Вікно Edit Access Specification для створення сценарію завантаження послідовного читання
при розмірі блоку даних 512 байт

Натискаємо на кнопку Ok, і перший створений нами сценарій відобразиться у вікні Global Access Specifications на вкладці Access Specifications утиліти IOmeter.

Аналогічно потрібно створити сценарії і для інших блоків даних, однак, щоб полегшити собі роботу, простіше не створювати сценарій кожен раз заново, натискаючи для цього кнопку New, а, вибравши останній створений сценарій, натиснути кнопку Edit Copy (редагувати копію). Після цього знову відкриється вікно Edit Access Specification з настройками нашого останнього створеного сценарію. У ньому досить буде поміняти лише назва і розмір блоку. Проробивши аналогічну процедуру для всіх інших розмірів блоків, можна приступити до формування сценаріїв для послідовного запису, що робиться абсолютно аналогічно, за винятком того, що повзунок Percent Read / Write Distribution, що задає процентне співвідношення між операціями читання і запису, потрібно зрушити до упору вліво.

Аналогічно можна створити сценарії для вибіркової записи і читання.

Після того як всі сценарії будуть готові, їх потрібно присвоїти менеджеру завантаження, тобто вказати, з якими сценаріями буде працювати Dynamo.

Для цього ще раз перевіряємо, що в вікні Topology виділено назву комп'ютера (тобто менеджер навантаження на локальному ПК), а не окремий Worker. Це гарантує, що сценарії навантаження будуть присвоюватися відразу всім Worker'ам. Далі у вікні Global Access Specifications виділяємо все створені нами сценарії навантаження і натискаємо кнопку Add. Всі виділені сценарії навантаження додадуться в вікно Assigned Access Specification (рис. 4).

4)

Мал. 4. Присвоєння створених сценаріїв навантаження менеджеру навантаження

Після цього потрібно перейти до вкладки Test Setup (рис. 5), на якій можна задати час виконання кожного створеного нами сценарію. Для цього в групі Run Time задаємо час виконання сценарію навантаження. Цілком достатньо буде поставити час, що дорівнює 3 хв.

Мал. 5. Завдання часу виконання сценарію навантаження

Крім того, в поле Test Description необхідно вказати назву всього тесту. В принципі, дана вкладка має масу інших налаштувань, проте для наших завдань вони не потрібні.

Після того як всі необхідні настройки зроблені, рекомендується зберегти створений тест, натиснувши на панелі інструментів на кнопку із зображенням дискети. Тест зберігається з розширенням * .icf. Згодом можна буде скористатися створеним сценарієм навантаження, запустивши не файл IOmeter.exe, а збережений файл з розширенням * .icf.

Тепер можна приступити безпосередньо до тестування, натиснувши на кнопку із зображенням прапорця. Вам буде запропоновано вказати назву файлу з результатами тестування і вибрати його місце розташування. Результати тестування зберігаються в CSV-файлі, який потім легко експортувати в Excel і, встановивши фільтр по на одну колонку, вибрати потрібні дані з результатами тестування.

В ході тестування проміжні результати можна спостерігати на вкладці Result Display, а визначити, до якого сценарію навантаження вони відносяться, можна на вкладці Access Specifications. У вікні Assigned Access Specification виконуваний сценарій відображається зеленим, виконані сценарії - червоним, а ще не виконані сценарії - синім кольором.

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

Створення RAID-масиву на базі контролера GIGABYTE SATA2

Отже, ми починаємо створення RAID-масиву на базі двох дисків з використанням інтегрованого на платі RAID-контролера GIGABYTE SATA2. Звичайно, сама компанія Gigabyte не виробляє чіпів, а тому під чіпом GIGABYTE SATA2 ховається перемаркірований чіп іншої фірми. Як можна з'ясувати з INF-файлу драйвера, мова йде про контроллер серії JMicron JMB36x.

Доступ в меню настройки контролера можливий на етапі завантаження системи, для чого потрібно натиснути комбінацію клавіш Ctrl + G, коли з'явиться відповідний напис на екрані. Природно, перш в налаштуваннях BIOS потрібно визначити режим роботи двох SATA-портів, що відносяться до контролера GIGABYTE SATA2, як RAID (в іншому випадку доступ в меню конфігуратора RAID-масиву буде неможливий).

Меню настройки RAID-контролера GIGABYTE SATA2 досить просте. Як ми вже відзначали, контролер є двопортовим і дозволяє створювати RAID-масиви рівня 0 або 1. Через меню настройки контролера можна видалити або створити RAID-масив. При створенні RAID-масиву є можливість вказати його назву, вибрати рівень масиву (0 або 1), задати розмір Страйп для RAID 0 (128, 84, 32, 16, 8 або 4K), а також визначити розмір масиву.

Якщо масив створений, то будь-які зміни в ньому вже неможливі. Тобто не можна згодом для створеного масиву змінити, наприклад, його рівень або розмір Страйп. Для цього спочатку потрібно видалити масив (з втратою даних), а потім створити його заново. Власне, це властиво не тільки контролеру GIGABYTE SATA2. Неможливість зміни параметрів створених RAID-масивів - особливість всіх контролерів, яка випливає з самого принципу реалізації RAID-масиву.

Після того як масив на базі контролера GIGABYTE SATA2 створений, поточну інформацію про нього можна переглянути, використовуючи утиліту GIGABYTE RAID Configurer, яка встановлюється автоматично разом з драйвером.

Створення RAID-масиву на базі контролера Marvell 9128

Конфігурація RAID-контролера Marvell 9128 можливо тільки через настройки BIOS плати Gigabyte GA-EX58A-UD7. Взагалі, потрібно сказати, що меню конфігуратора контролера Marvell 9128 кілька сиро і може ввести в оману недосвідчених користувачів. Втім, про ці незначних недоробки ми розповімо трохи пізніше, а поки розглянемо основні функціональні можливості контролера Marvell 9128.

Отже, незважаючи на те що цей контролер підтримує роботу з дисками з інтерфейсом SATA III, він також повністю сумісний з дисками з інтерфейсом SATA II.

Контролер Marvell 9128 дозволяє создать RAID-масив рівнів 0 и 1 на базі двох дисків. Для масиву уровня 0 можна Задати розмір Страйп 32 або 64 Кбайт, а такоже вказаті имя масиву. Кроме того, є и така опція, як Gigabyte Rounding, яка має потребу в поясненні. Незважаючі на Назву, співзвучну з ім'ям компании-виробника, функція Gigabyte Rounding Ніякого відношення до неї НЕ має. Більш того, вона Ніяк НЕ пов'язана з RAID-масивом уровня 0, хоча в налаштування контролера ее можна візначіті самє для масиву цього уровня. Власне, це перша з тих недоробок конфігуратора контролера Marvell 9128, про які ми згадували. Функція Gigabyte Rounding визначена тільки для RAID-масиву рівня 1. Вона дозволяє використовувати для створення RAID-масиву рівня 1 два диска (наприклад, різних виробників або різні моделі), ємність яких трохи відрізняється один від одного. Функція Gigabyte Rounding якраз і задає різницю в розмірах двох дисків, які застосовуються для створення RAID-масиву рівня 1. У контролері Marvell 9128 функція Gigabyte Rounding дозволяє встановити різницю в розмірах дисків 1 або 10 Гбайт.

Ще одна недоробка конфігуратора контролера Marvell 9128 полягає в тому, що при створенні RAID-масиву рівня 1 у користувача є можливість вибору розміру Страйп (32 або 64 Кбайт). Однак поняття Страйп взагалі не визначено для RAID-масиву рівня 1.

Створення RAID-масиву на базі контролера, інтегрованого в ICH10R

RAID-контролер, інтегрований в південний міст ICH10R, є найпоширенішим. Як уже зазначалося, даний RAID-контролер 6-портовий і підтримує не тільки створення масивів RAID 0 і RAID 1, але також RAID 5 і RAID 10.

Доступ в меню настройки контролера можливий на етапі завантаження системи, для чого потрібно натиснути комбінацію клавіш Ctrl + I, коли з'явиться відповідний напис на екрані. Природно, перш в налаштуваннях BIOS слід визначити режим роботи цього контролера як RAID (в іншому випадку доступ в меню конфігуратора RAID-масиву буде неможливий).

Меню настройки RAID-контролера досить просте. Через меню настройки контролера можна видалити або створити RAID-масив. При створенні RAID-масиву можна вказати його назву, вибрати рівень масиву (0, 1, 5 або 10), задати розмір Страйп для RAID 0 (128, 84, 32, 16, 8 або 4K), а також визначити розмір масиву.

Порівняння продуктивності RAID-масивів

Для тестування RAID-масивів за допомогою утиліти IOmeter ми створили сценарії навантаження послідовного читання, послідовного запису, вибіркового читання і вибіркової записи. Розміри блоків даних в кожному сценарії навантаження становили наступну послідовність: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт, 1 Мбайт.

На кожному з RAID-контролерів створювався масив RAID 0 з усіма допустимими розмірами Страйп і масив RAID 1. Крім того, щоб мати можливість оцінити приріст продуктивності, одержуваний від використання RAID-масиву, ми також протестували на кожному з RAID-контролерів одиночний диск.

Отже, звернемося до результатів нашого тестування.

Контролер GIGABYTE SATA2

Перш за все розглянемо результати тестування RAID-масивів на базі контролера GIGABYTE SATA2 (рис. 6-13). В общем-то контролер виявився в буквальному сенсі загадковим, а його продуктивність просто розчарувала.

Мал. 6. Швидкість послідовних
і вибіркових операцій для диска
Western Digital WD1002FBYS
(контролер GIGABYTE SATA2)

Мал. 7. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 128 Кбайт
(контролер GIGABYTE SATA2)

Мал. 8. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 64 Кбайт
(контролер GIGABYTE SATA2)

Мал. 9. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 32 Кбайт
(контролер GIGABYTE SATA2)

Мал. 10. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 16 Кбайт
(контролер GIGABYTE SATA2)

Мал. 11. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 8 Кбайт
(контролер GIGABYTE SATA2)

Мал. 12. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 4 Кбайт
(контролер GIGABYTE SATA2)

Мал. 13. Швидкість послідовних
і вибіркових операцій
для RAID 1 (контролер GIGABYTE SATA2)

Якщо подивитися на швидкісні характеристики одного диска (без RAID-масиву), то максимальна швидкість послідовного читання складає 102 Мбайт / с, а максимальна швидкість послідовного запису - 107 Мбайт / с.

При створенні масиву RAID 0 з розміром Страйп 128 Кбайт максимальна швидкість послідовного читання і запису збільшується до 125 Мбайт / с, тобто зростає приблизно на 22%.

При розмірі Страйп 64, 32 або 16 Кбайт максимальна швидкість послідовного читання складає 130 Мбайт / с, а максимальна швидкість послідовного запису - 141 Мбайт / с. Тобто при зазначених розмірах Страйп максимальна швидкість послідовного читання зростає на 27%, а максимальна швидкість послідовного запису - на 31%.

Взагалі-то це замало для масиву рівня 0, і хотілося б, щоб максимальна швидкість послідовних операцій була вище.

При розмірі Страйп 8 Кбайт максимальна швидкість послідовних операцій (читання і запису) залишається приблизно такою ж, як і при розмірі Страйп 64, 32 або 16 Кбайт, однак з вибірковим читанням - явні проблеми. При збільшенні розміру блоку даних аж до 128 Кбайт швидкість вибіркового читання (як і повинно бути) зростає пропорційно розміру блоку даних. Однак при розмірі блоку даних понад 128 Кбайт швидкість вибіркового читання падає практично до нуля (приблизно до 0,1 Мбайт / с).

При розмірі Страйп 4 Кбайт падає не тільки швидкість вибіркового читання при розмірі блоку понад 128 Кбайт, але і швидкість послідовного читання при розмірі блоку більше 16 Кбайт.

Використання масиву RAID 1 на контролері GIGABYTE SATA2 практично не змінює (в порівнянні з одиночним диском) швидкість послідовного читання, однак максимальна швидкість послідовного запису зменшується до 75 Мбайт / с. Нагадаємо, що для масиву RAID 1 швидкість читання повинна зростати, а швидкість запису не повинна зменшуватися в порівнянні зі швидкістю читання і запису одиночного диска.

На підставі результатів тестування контролера GIGABYTE SATA2 можна зробити тільки один висновок. Використовувати даний контролер для створення масивів RAID 0 і RAID 1 має сенс тільки в тому випадку, коли всі інші RAID-контролери (Marvell 9128, ICH10R) вже задіяні. Хоча уявити собі подібну ситуацію досить складно.

Контролер Marvell 9128

Контролер Marvell 9128 продемонстрував набагато більш високі швидкісні характеристики в порівнянні з контролером GIGABYTE SATA2 (рис. 14-17). Власне, відмінності виявляються навіть при роботі контролера з одним диском. Якщо для контролера GIGABYTE SATA2 максимальна швидкість послідовного читання складає 102 Мбайт / с і досягається при розмірі блоку даних 128 Кбайт, то для контролера Marvell 9128 максимальна швидкість послідовного читання складає 107 Мбайт / с і досягається при розмірі блоку даних 16 Кбайт.

Мал. 14. Швидкість послідовних
і вибіркових операцій
для диска Western Digital WD1002FBYS
(контролер Marvell 9128)

Мал. 15. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 64 Кбайт
(контролер Marvell 9128)

Мал. 16. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 32 Кбайт
(контролер Marvell 9128)

Мал. 17. Швидкість послідовних
і вибіркових операцій
для RAID 1 (контролер Marvell 9128)

І для контролера GIGABYTE SATA2, і для контролера Marvell 9128 максимальна швидкість послідовного запису складає 107 Мбайт / с. Однак для GIGABYTE SATA2 максимальна швидкість послідовного запису забезпечується при розмірі блоку даних 64 Кбайт, а для Marvell 9128 - при 16 Кбайт. Як бачите, відмінності в швидкісних характеристиках цих контролерів при роботі з одним диском досить істотні.

При створенні масиву RAID 0 з розміром Страйп 64 і 32 Кбайт максимальна швидкість послідовного читання збільшується до 211 Мбайт / с, а послідовного запису - до 185 Мбайт / с. Тобто при зазначених розмірах Страйп максимальна швидкість послідовного читання зростає на 97%, а максимальна швидкість послідовного запису - на 73%.

Суттєвої різниці за швидкісними показниками масиву RAID 0 з розміром Страйп 32 і 64 Кбайт не спостерігається, однак застосування Страйп 32 Кбайт більш переважно, оскільки в цьому випадку швидкість послідовних операцій при розмірі блоку менше 128 Кбайт буде трохи вище.

При створенні масиву RAID 1 на контролері Marvell 9128 максимальна швидкість послідовних операцій практично не змінюється в порівнянні з одиночним диском. Так, якщо для одиночного диска максимальна швидкість послідовних операцій становить 107 Мбайт / с, то для RAID 1 вона дорівнює 105 Мбайт / с. Також зауважимо, що для RAID 1 швидкість вибіркового читання трохи погіршується.

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

контролер ICH10R

RAID-контролер, вбудований в ICH10R, виявився найпродуктивнішим зі всіх протестованих нами (рис. 18-25). При роботі з одиночним диском (без створення RAID-масиву) його продуктивність фактично така ж, як і продуктивність контролера Marvell 9128. Максимальна швидкість послідовного читання і запису становить 107 Мбайт і досягається при розмірі блоку даних 16 Кбайт.

Мал. 18. Швидкість послідовних
і вибіркових операцій
для диска Western Digital WD1002FBYS
(контролер ICH10R)

Мал. 19. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 128 Кбайт
(контролер ICH10R)

Мал. 20. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 64 Кбайт
(контролер ICH10R)

Мал. 21. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 32 Кбайт
(контролер ICH10R)

Мал. 22. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 16 Кбайт
(контролер ICH10R)

Мал. 23. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 8 Кбайт
(контролер ICH10R)

Мал. 24. Швидкість послідовних
і вибіркових операцій для RAID 0
c розміром Страйп 4 Кбайт
(контролер ICH10R)

Мал. 25. Швидкість послідовних
і вибіркових операцій
для RAID 1 (контролер ICH10R)

При створенні масиву RAID 1 на контролері ICH10R максимальна швидкість послідовних операцій становить 106 Мбайт / с, але досягається вона при розмірі блоку всього 8 Кбайт, в той час як для контролера Marvell 9128 максимальна швидкість послідовного читання в RAID 1 забезпечується при розмірі блоку 64 Кбайт, а максимальна швидкість послідовного запису - при розмірі блоку 128 Кбайт.

Якщо говорити про масиві RAID 0 на контролері ICH10R, то максимальна швидкість послідовного читання і запису не залежить від розміру Страйп і становить 212 Мбайт / с. Від розміру Страйп залежить лише розмір блоку даних, при якому досягається максимальне значення швидкості послідовного читання і запису. Як показують результати тестування, для RAID 0 на базі контролера ICH10R оптимально використовувати страйп розміром 64 Кбайт. В цьому випадку максимальне значення швидкості послідовного читання і запису досягається при розмірі блоку даних всього 16 Кбайт.

Отже, резюмуючи, ще раз підкреслимо, що RAID-контролер, вбудований в ICH10R, істотно перевершує по продуктивності всі інші інтегровані RAID-контролери. А враховуючи, що він володіє і більшою функціональністю, оптимально використовувати саме цей контролер і просто забути про існування всіх інших (якщо, звичайно, в системі не застосовуються диски SATA III).

джерело: КомпьютерПресс