Защо raid 5 е по-добър от 0. RAID нива - кратка теоретична информация

Защо raid 5 е по-добър от 0. RAID нива - кратка теоретична информация
Защо raid 5 е по-добър от 0. RAID нива - кратка теоретична информация

Ентусиастите имат едно неписано правило: твърдият диск Western Digital WD1500 Raptorе идеалният настолен модел, ако имате нужда от максимална производителност. Но не всички потребители могат да следват този път, тъй като харченето на $ 240 за твърд диск с капацитет от само 150 GB не е много привлекателно решение. Раптора остава ли най-добрият избор? Цената не се е променила от много месеци и днес за парите можете лесно да си купите чифт 400-GB дискове. Време ли е да сравним производителността на съвременните RAID масиви с Raptor?

Ентусиастите са запознати с твърдия диск Raptor, тъй като това е единственият 3,5" настолен твърд диск, който се върти с 10 000 RPM. Повечето твърди дискове в този сектор на пазара се въртят със 7200 RPM. тъй като сървърите се въртят по-бързо. Хард дискове WD Raptor 36 и 74 GBпредставен преди три години. Влиза на пазара преди около година Western Digital Raptor-X, което осигурява по-висока производителност, моделите се предлагат и с прозрачен капак, който ви позволява да погледнете вътрешността на твърдия диск.

Твърди дискове Western Digital Raptor надмина всички други 3,5" Serial ATA твърди дискове за настолни компютри след пускането си, въпреки че първоначално бяха позиционирани за евтини сървъри.

Скорост на шпиндела от 10 000 rpm предлага две значителни предимства. Първо, скоростта на пренос на данни се увеличава значително. Да, максималната скорост на последователно четене не е особено впечатляваща, но минималната скорост далеч надхвърля всички твърди дискове при 7200 rpm. В допълнение, твърд диск с 10 000 RPM има по-малко закъснение при въртене, което означава, че устройството отнема по-малко време за получаване на данни, след като главите за четене/запис са позиционирани.

Основният недостатък на WD Raptor е цената - около $240 за 150GB модел. Сред другите недостатъци отбелязваме по-високо (макар и не критично) ниво на шум и по-високо генериране на топлина. Ентусиастите обаче лесно ще се примирят с подобни недостатъци, ако този твърд диск даде по-висока производителност на подсистемата за съхранение.

Ако изчислите цената на съхранението на гигабайт данни, тогава Raptor вече няма да бъде толкова привлекателен. За $240 можете да получите чифт 400 GB твърди дискове и дори $300 за 750 GB Seagate Barracuda 7200.10 не е далеч. Ако погледнете евтиния сегмент, можете да получите чифт 160 GB 7200 RPM твърди дискове за $50 всеки, които ще осигурят същия капацитет като Raptor, но повече от половината от цената. Ето защо днес дори ентусиастите често се питат: струва ли си да вземете WD Raptor, не е ли по-добре да изберете конфигурация RAID 0 на два твърди диска 7200 rpm?

RAID 0 не намалява времето за достъп, но почти удвоява скоростта на последователно четене, като разделя данните на два твърди диска. Недостатъкът може да се счита за повишен риск от загуба на данни, тъй като ако един твърд диск се повреди, целият масив ще бъде загубен (въпреки че днес има опции Възстановяване на RAID информация). Много интегрирани контролери на дънни платки от висок клас поддържат RAID режими, които са лесни за настройка и инсталиране.

Бърз или интелигентен твърд диск?

производителност Капацитет Сигурност при съхранение на данни Цена
Един твърд диск (7200 rpm) добре Достатъчно до отлично достатъчно * Ниско към високо, $50 до $300
150 GB WD Raptor (10 000 rpm) Отлично достатъчно достатъчно * Висока: $240+
2x 160 GB (7200 rpm) Много добър до отличен Добър до отличен недостатъчно * Ниско към високо: От $50 на твърд диск
2x 150 GB WD Raptor (10 000 rpm) Отлично добре недостатъчно * Високо до много високо: от $240 на диск

* Трябва да се помни, че всеки твърд диск ще се повреди рано или късно. Технологията се основава на механични компоненти и техният живот е ограничен. Производителите определят средно време между откази (MTBF) за твърди дискове. Ако настроите масив RAID 0 на два твърди диска със 7200 оборота в минута, рискът от загуба на данни се удвоява, защото ако един твърд диск се повреди, ще загубите целия масив RAID 0. Затова редовно архивирайте важни данни и създавайте изображение на операционната система.

Днес можете да си купите 40-80 GB твърди дискове за почти стотинка, а ако нямате специални изискванияпо отношение на капацитета, тогава този обем ще бъде достатъчен дори днес. Препоръчваме обаче да вземете твърди дискове от $50 до $70, тъй като можете лесно да получите модели от 120GB до 200GB. В онлайн магазините вече започнаха да се появяват модели от 250 и 320 GB на цена под $100. За парите, които харчите за 10 000 RPM WD Raptor, можете лесно да получите от 800 GB до 1 TB място за съхранение на твърди дискове със 7 200 RPM.

Ако не се нуждаете от толкова голям капацитет, можете да се задоволите с твърди дискове от начално ниво със 7200 rpm. Два диска Western Digital WD1600AAJS струват $55 всеки и можете лесно да получите 320 GB място за съхранение в масив RAID 0. Похарчете половината пари и вземете два пъти голям капацитет. Колко оправдани са тези спестявания? Нека да го разберем.

7 200 или 10 000 оборота в минута? RAID 0 или Raptor?

Решихме да тестваме различни конфигурации на твърдия диск. Нашето тестване включва един WD Raptor WD1500ADFD, един WD4000KD, Raptor в масив RAID 0 и WD4000 в масив RAID 0. Решихме да използваме 400 GB 7200 RPM WD твърди дискове, тъй като два от тези твърди дискове са приблизително еквивалентна по цена на един Raptor. Нека да видим колко добре се представя "бюджетният" RAID в сравнение с един Raptor.

WD4000KD е оборудван с 16 MB кеш и има интерфейс Serial ATA/150. Основната разлика в сравнение с 10 000 RPM WD Raptor е производителността и капацитета. Raptor е със значително по-ниска цена на гигабайт, което е поне шест пъти по-високо от 400GB WD4000KD. Тестовете ще покажат колко силни са разликите в производителността. Към момента на публикуване цената на WD4000KD Caviar беше 130 долара.

Raptor е безспорният шампион по производителност на пазара за настолни компютри, но също така е и най-скъпият твърд диск. WD1500 Raptor използва Serial ATA/150 интерфейс, който все още е достатъчен. Гледайки резултатите от бенчмарка, никой друг твърд диск не може да победи Raptor, дори и с SATA интерфейс 300 MB/s. Като цяло скоростта на SATA интерфейса не трябва да влияе на решението за покупка. Към момента на публикуване цената на WD1500ADFD Raptor беше 240 долара.

Тази конфигурация трябва да приеме WD1500 Raptor. Ще победят ли два твърди диска WD4000KD в RAID 0 масив Raptor?

Този сценарий е най-скъпият в нашето тестване, тъй като изисква два твърди диска WD Raptor, но въпреки това е много интересен. Два 10 000 RPM Raptor твърди диска в RAID 0 масив трябва буквално да разкъсат всички.

RAID 0

производителност

На теория RAID 0 е идеално решение за повишаване на производителността, тъй като скоростта на серийния трансфер на данни се мащабира почти линейно с броя на твърдите дискове в масива. Файловете се разпределят блок по блок във всички твърди дискове, т.е. RAID контролерът записва данни почти едновременно на няколко твърди диска. Скоростта на трансфер на данни на RAID 0 се подобрява забележимо в почти всички сценарии, въпреки че времето за достъп не намалява. При реални тестове времето за достъп в RAID 0 масиви дори се увеличава, макар и съвсем леко, с около половин милисекунда.

Ако изградите RAID конфигурация на няколко твърди диска, контролерът на устройството може да се превърне в тясно място. Типичната PCI шина ви позволява да прехвърляте максимум 133 MB / s, което лесно се абсорбира от два модерни твърди диска. Контролерите Serial ATA, които са включени в чипсета, обикновено осигуряват по-висока честотна лента, така че не ограничават производителността на RAID масивите.

Имаме до 350 MB/s на четири 10 000 rpm WD Raptor твърди диска на Intel ICH7 и ICH8 южен мост чипсети. Отличен резултат, който е много близо до общата производителност на четири отделни твърди диска. В същото време чипсетът nVidia nForce 680 показа максимум 110 MB/s, уви. Изглежда, че не всеки интегриран RAID контролер е в състояние да осигури високопроизводителни RAID масиви, дори ако технически е възможно.

Сравнение на RAID режими

Трябва да се отбележи, че RAID 0 всъщност не разширява идеята за RAID масиви, което означава Redundant Arrays of Independent/Inexpensive Drives (излишен масив от евтини/независими устройства). Излишъкът означава съхраняване на данни на поне две места, така че да оцелеят дори ако един твърд диск се повреди. Това се случва например в случай на RAID 1 масив, в който всички данни са огледални на втори твърд диск. Ако някой от твърдите дискове "умре", тогава ще разберете за това само от съобщенията на RAID контролера. RAID 5 масивът е много по-сложен и предназначен за професионалния сектор. Работи като RAID 0 масив, разпространявайки данни във всички твърди дискове, но към данните се добавя информация за излишък. Следователно нетният капацитет на RAID 5 масив е равен на общия капацитет на всички твърди дискове с изключение на един. Информацията за излишък не се записва на един твърд диск (както в случая с RAID 3), а се разпределя между всички дискове, за да не се създава „тясно място“ при четене или запис на информация за излишък на един HDD. RAID 5 масив, съвсем разбираемо, изисква поне три твърди диска.

Рискове и странични ефекти

Основната опасност за RAID 0 масив е повредата на който и да е твърд диск, тъй като целият масив се губи. Ето защо колкото повече дискове има в RAID 0 масив, толкова по-голям е рискът от загуба на информация. Ако се използват три твърди диска, тогава вероятността от загуба на информация в сравнение с един диск се увеличава три пъти. Ето защо RAID 0 не може да се разглежда добър вариантза потребители, които се нуждаят от надеждна система и които не могат да си позволят нито минута престой.

Дори да закупите мощен и скъп отделен RAID контролер, пак ще сте зависими от хардуера. Два различни контролера могат да поддържат RAID 5, но конкретното изпълнение може да бъде много различно.



Intel Matrix RAID: Множество RAID масиви могат да бъдат създадени на един и същи набор от твърди дискове.

Ако RAID контролерът е достатъчно интелигентен, той може да позволи инсталирането на два или повече RAID масива на един комплект твърди дискове. Въпреки че всеки RAID контролер може да поддържа множество RAID масиви, това най-често изисква различни комплекти твърди дискове. Следователно южните мостове Intel ICH7-R и ICH8-R се оказаха много интересни: те поддържат функцията Intel Matrix RAID.

Типично изпълнение са два RAID масива на два твърди диска. Първата трета от капацитета на два твърди диска може да бъде разпределена към бърз RAID 0 масив за операционната система, а останалата част към RAID 1 масив за съхранение на важни данни. Ако един от твърдите дискове се повреди, операционната система ще бъде загубена, но важните данни, които са огледални на втория твърд диск, ще бъдат запазени благодарение на RAID 1. Между другото, след като инсталирате Windows, можете да създадете изображение на операционната система и го съхранявайте в надежден масив RAID 1. След това, ако твърдият диск се повреди, операционната система може бързо да бъде възстановена.

Имайте предвид, че много RAID масиви изискват инсталиране на RAID драйвер (като Intel Matrix Storage Manager), което може да причини проблеми по време на зареждане и възстановяване на системата. Всеки диск за зареждане, който използвате за възстановяване, ще се нуждае от RAID драйвери. Така че запазете дискетата на драйвера за този случай.

Тестова конфигурация

Конфигурация за тестове на ниско ниво

Процесори 2x Intel Xeon (ядро Nocona), 3.6GHz, FSB800, 1MB L2 кеш
Платформа Asus NCL-DS (сокет 604), чипсет Intel E7520, BIOS 1005
памет Corsair CM72DD512AR-400 (DDR2-400 ECC, рег.), 2x 512MB, CL3-3-3-10 латентност
Системен твърд диск Western Digital Caviar WD1200JB, 120 GB, 7200 rpm, 8 MB кеш, UltraATA/100
Контролери за задвижване Контролер Intel 82801EB UltraATA/100 (ICH5)
Silicon Image Sil3124, PCI-X
Нет Интегриран Gigabit Ethernet контролер Broadcom BCM5721
видео карта Вграден ATi RageXL, 8 MB
Тестове и настройки
Тестове за ефективност c "t h2benchw 3.6
PCMark05 V1.01
I/O тестове IOMeter 2003.05.10
Бенчмарк на файловия сървър
уеб сървър-бенчмарк
база данни-бенчмарк
Бенчмарк на работна станция
Системен софтуер
операционна система Microsoft Windows сървър 2003 Enterprise Edition Service Pack 1
Платформен драйвер Intel Chipset Installation Utility 7.0.0.1025
Графичен драйвер Графичен драйвер за Windows по подразбиране

Конфигурация за SYSmark2004 SE

Системен хардуер
процесор Intel Core 2 Extreme X6800 (Conroe 65 nm, 2,93 GHz, 4 MB L2 кеш)
Дънна платка Gigabyte GA-965P-DQ6 2.0, чипсет: Intel 965P, BIOS: F9
Общ хардуер
памет 2x 1024MB DDR2-1111 (CL 4.0-4-4-12), Corsair CM2X1024-8888C4D XMS6403v1.1
видео карта HIS X1900XTX IceQ3, GPU: ATi Radeon X1900 XTX (650MHz), Памет: 512MB GDDR3 (1550MHz)
Твърд диск I 150 GB, 10 000 rpm, 8 MB кеш, SATA/150, Western Digital WD1500ADFD
Твърд диск II 400 GB, 7200 rpm, 16 MB кеш, SATA/300, Western Digital WD4000KD
DVD-ROM Gigabyte GO-D1600C (16x)
Софтуер
ATI драйвери Catalyst Suite 7.1
Intel драйвери за чипсет Помощна програма за инсталиране на софтуер 8.1.1.1010
Intel RAID драйвери Matrix Storage Manager 6.2.1.1002
DirectX 9.0c (4.09.0000.0904)
операционна система Windows XP, Build 2600 SP2
Тестове и настройки
SYSmark Версия 2004, второ издание, официално издание

Е, нека преминем към битката между настоящите твърди дискове WD Raptor от 150 GB и твърди дискове WD4000KD от 400 GB в масив RAID 0. Резултатът беше невероятен. Въпреки че WD Raptor остава без съмнение най-бързият Serial ATA настолен твърд диск, RAID 0 излиза на върха в повечето тестове извън времето за достъп и I/O производителността. Цената за съхраняване на гигабайт данни на Raptor е най-спорна, тъй като можете да закупите три пъти по-голям капацитет от 7200 rpm твърд диск на половината от цената. Тоест на цената на един гигабайт днес Raptor губи шест пъти. Въпреки това, ако се притеснявате за сигурността на данните, помислете два пъти, преди да изберете масив RAID 0 на два евтини твърди диска със 7200 rpm вместо WD Raptor.

През следващите месеци цената на 500GB твърди дискове ще падне под $100. Но изискванията за наличния обем за съхранение на видео ще се увеличат. с висока резолюция, музика и снимки. И накрая, плътността на плочите на твърдия диск продължава да се увеличава, така че скоро ще се появят модели с по-висока производителност 7200rpm. В бъдеще привлекателността на Raptor ще падне.

Смятаме, че Western Digital трябва да промени ценовата си политика моделна гама Raptor, защото увеличаването на производителността идва с цената на големи компромиси в капацитета на твърдия диск. И трябва да кажа, че подобни компромиси няма да изглеждат оправдани за всички. Бихме искали да видим актуализиран 300 GB твърд диск Raptor, който също може да бъде хибриден твърд диск с вградена флаш памет за Windows Vista.

Когато създавате файлов сървър или продуктивна работна станция, често трябва да се сблъскате с проблема с избора на конфигурация на дисковата подсистема. Съвременните дънни платки, дори бюджетните, предлагат тази възможност Създаване на RAIDмасиви от всички популярни нива, не забравяйте за софтуерната реализация на RAID. Коя от опциите ще бъде по-надеждна и по-продуктивна? Решихме да направим собствени тестове.

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

По правило в малкия и среден бизнес ролята на файловите сървъри, сървърите на ниво отдел и т.н. използва се обикновен компютър, сглобен от обикновени бюджетни компоненти. Целта на нашето тестване беше да проучим производителността на дисковата подсистема, сглобена с помощта на RAID контролера на чипсета, и да я сравним със софтуерни реализации на RAID масиви (OS инструменти). Причината за тестването беше липсата на широко достъпни обективни тестове на бюджетния RAID, както и голям брой"митове и легенди" по темата. Не избрахме специално желязо, а се възползвахме от това, което беше под ръка. И под ръка имаше няколко обикновени компютъра за следващо внедряване, единият от които беше използван като тестов стенд.

PC конфигурация:

  • Дънна платка: ASUS M4N68T-M SocketAM3
  • Процесор: CPU AMD ATHLON II X2 245 (ADX245O) 2.9GHz/ 2Mb/ 4000MHz Socket AM3
  • RAM: 2 x Kingston ValueRAM DDR-III DIMM 1Gb
  • Твърди дискове: HDD 320 Gb SATA-II 300 Western Digital Caviar Blue 7200rpm 16Mb
  • Операционна система: Windows Server 2008 SP2 (32-bit)
  • Файлова система: NTFS

Дисковата подсистема беше конфигурирана по следния начин: операционна система беше инсталирана на един диск, RAID масив беше сглобен от два или три други.

Методология на теста

Избрахме Intel NAS Performance Toolkit като тестов софтуер, този пакет е набор от тестове, който ви позволява да оцените производителността на дисковата подсистема при основните типични задачи. Всеки тест е проведен пет пъти, крайният резултат представлява средната стойност. Взехме изпълнението на сингъл харддиск.

Тествахме RAID0, RAID1 и RAID5 масиви, като RAID5 тествахме както в нормален режим, така и в авариен режим с едно премахнато устройство. Защо тествахме този масив само в авариен режим? Отговорът е прост: няма такъв режим за RAID0, ако някой от дисковете се повреди, масивът се унищожава и единственият останал RAID1 диск няма да се различава от единичен диск.

Бяха тествани както хардуерни, така и софтуерни реализации, като първоначално измерихме и средното натоварване на процесора, тъй като има мнение, че софтуерният RAID натоварва силно процесора. Ние обаче отказахме да включим това измерване в резултатите от теста, натоварването на процесора се оказа приблизително равно и възлиза на около 37-40% за единичен диск, RAID0, RAID1 и 40-45% за RAID5.

Файлови операции

Класическите операции за всяко устройство са операции за четене и запис. В Intel NASPT тези параметри се оценяват в четири теста: копиране на 247 MB ​​файл към и от устройството и 44 папки, съдържащи 2833 файла с общ размер 1,2 GB.

Четене/запис на файлове

Ако обърнем внимание на резултатите на референтния диск, ще видим, че скоростта на запис е почти два пъти (89%) по-висока от скоростта на четене. Това се дължи на особеностите на файловата система и този факт също трябва да се има предвид. RAID0 (ивичест масив), независимо от метода на внедряване, показа 70% по-висока производителност от един диск, докато параметрите на скоростта на RAID1 (огледало) са напълно идентични с него.

RAID5 заслужава отделна дискусия, скоростта на запис към него е неприемливо ниска, забавянето е до 70%, докато скоростта на четене не отстъпва на бързия RAID0. Може би това се дължи на липсата на изчислителни ресурси и несъвършенството на алгоритмите, тъй като по време на запис се изразходват допълнителни ресурси за изчисляване на контролната сума. Ако един от дисковете се повреди, скоростта на запис пада, спадът в хардуерното решение е по-слабо изразен (15%), отколкото в софтуерното решение (40%). В този случай скоростта на четене пада значително и съответства на скоростта на един диск.

Папки за четене/запис

Всеки, който се е опитал да копира разпръснати малки файлове, знае, че е по-добре да ги опаковате предварително в архив, това ще бъде много по-бързо. Нашите тестове само потвърждават това основно правило, четенето на много малки файлове и папки е почти 60% по-бавно, четенето на голям файл, скоростта на запис също е малко (10%) по-ниска.

RAID0 дава много по-малко предимство при записване (30-40%), а при четене разликата може да се пренебрегне. RAID1, както се и очакваше, не ни поднася изненади, вървейки едно към едно с един диск.

RAID5 на малки файлове показва много повече най-добър резултат, но все още продължава да отстъпва на един диск със средно 35%. Скоростта на четене не се различава от другите конфигурации, ние сме склонни да вярваме, че в този случай времето за произволен достъп на твърдия диск е ограничаващият фактор. Но при премахването на един диск от масива получихме много неочакван резултат, който ни принуди да го проверим отново няколко пъти, включително на друг модел твърди дискове (500 Gb Seagate/Maxtor Barracuda 7200.12/DiamondMax 23<3500418AS>7200rpm 16Mb). Факт е, че скоростта на запис на хардуерния масив е спаднала рязко (почти три пъти), а скоростта на запис на софтуерния RAID5, напротив, се е увеличила, може би това се дължи на алгоритъма на софтуерната реализация на масива . И все пак предпочитаме да оставим този „феномен“ без коментар.

Работа с приложения

Следните тестове отразяват производителността на дисковата подсистема при работа с различни приложения, предимно офисни. Първият тест (Създаване на съдържание) отразява използването на диска за съхранение и работа с данни, потребителят създава, отваря, записва документи, без да проявява особена активност. Най-мощният тест е Office Productivity, той симулира активна работа с документи, търсене на информация в Интернет (кешът на браузъра се нулира на устройството), общо 616 файла в 45 директории с обем 572 MB. Последният тест - работа с фотоалбум (основно гледане), е по-типичен за домашна употреба, включва 1,2 GB снимки (169 файла, 11 директории).

Работа с документи

Когато работите с единични файлове, RAID0 предсказуемо превъзхожда RAID1 и единичен твърд диск почти два пъти (тест за създаване на съдържание), но губи всичките си предимства по време на активна работа, в теста за продуктивност на Office RAID0, RAID1 и единичен диск показват същите резултати .

RAID5 е очевиден аутсайдер в тези тестове, производителността на масива върху единични файлове е изключително ниска, а хардуерната реализация показва много по-добър (но все още изключително нисък) резултат. С активно офис работарезултатите са много по-добри, но все пак по-ниски от тези на едно устройство и по-прости масиви.

Работа със снимки

В този режим всички масиви показаха приблизително еднакъв резултат, сравним с производителността на един диск. Въпреки че RAID5 показа малко по-нисък резултат, въпреки че в този случай изоставането едва ли ще бъде забелязано с "невъоръжено око".

Мултимедия

И накрая, мултимедийни тестове, които разделихме на две части: възпроизвеждане и запис. В първия случай HD видеото се възпроизвежда от устройството в един, два или четири потока едновременно. При втория се извършва запис и едновременен запис - възпроизвеждане на два файла. Този тест е приложим не само за видео, тъй като характеризира общите процеси на линеен запис / четене от дисков масив.

Възпроизвеждане

RAID0

Този тип дисков масив уверено води при работа с големи файлове и мултимедия. В повечето случаи ви позволява да постигнете значително предимство (около 70%) в сравнение с единичен диск, но има един съществен недостатък - изключително ниска устойчивост на грешки. Когато един диск се повреди, целият масив се унищожава. При работа с офис приложения и снимки няма особени предимства.

Къде може да се използва RAID0? На първо място, на работни станции, които по естеството на задачите си трябва да работят с големи файлове, например редактиране на видео. Ако се изисква толерантност към грешки, можете да използвате RAID10 или RAID0 + 1, които представляват ивичен масив от две огледала или огледало на ивични масиви, тези RAID нива комбинират параметрите на скоростта на RAID0 и надеждността на RAID1, недостатъците включват значителни режийни разходи - само половината от капацитета на входящите дискове се използва за съхранение в масив.

RAID1

"Огледалото" няма предимства в скоростта пред единичен диск, основната задача на този масив е да осигури устойчивост на грешки. Препоръчва се за използване при работа с офис файлове и малки файлове, т.е. върху онези задачи, при които разликата между по-бързите масиви не е толкова голяма. Не е лошо за работа с 1C:Enterprise 7.7 във файлов режим, който по естеството на работа с диск е нещо между Office Productivity и Dir копиране от / към NAS. За по-продуктивни задачи не се препоръчва, тук трябва да обърнете внимание на RAID10 и RAID0 + 1.

RAID5

Не бихме препоръчали използването на този тип масив в системи от нисък клас; при операции за запис RAID5 губи значително дори от един твърд диск. Единствената област, в която използването му ще бъде оправдано, е създаването на медийни сървъри за съхранение на мултимедийни данни, чийто основен режим е четенето. Тук на преден план излизат такива параметри като висока скорост на четене (на ниво RAID0) и по-ниски разходи за устойчивост на грешки (1/3 от капацитета на масива), което дава добра печалба при създаване на хранилища със значителен обем. Трябва обаче да се помни, че опитът за запис в масива води до рязко намаляване на производителността, така че качването на нови данни на такива медийни сървъри трябва да се извършва в часовете с най-малко натоварване.

Хардуер или софтуер?

Резултатите от теста не разкриха забележими предимства или недостатъци и за двете опции за внедряване, с изключение на RAID5, чиято хардуерна версия показа по-добри резултати в някои случаи. Следователно е необходимо да се изхожда от други характеристики. като съвместимост и преносимост.

Хардуерният RAID се реализира от южния мост на чипсета (или от отделен контролер) и изисква поддръжка от операционната система или зареждане на драйвери на етапа на инсталиране. Същият факт често прави невъзможно използването на редица дискови и системни помощни програми, които използват свои собствени зареждащи дискове, ако техният буутлоудър не поддържа RAID контролер, тогава софтуерът просто няма да види вашия масив.

Вторият недостатък е обвързването с конкретен производител, ако решите да смените платформата или изберете дънна платка с различен чипсет, ще трябва да копирате данните си на външен носител (което само по себе си може да бъде проблематично) и да сглобите отново масива. Основният проблем е, че ако дънната платка неочаквано се повреди, ще трябва да потърсите подобен модел, за да получите достъп до вашите данни.

Софтуерният RAID се поддържа на ниво OC, следователно до голяма степен е лишен от тези недостатъци, масивът се сглобява лесно и лесно се прехвърля между хардуерни платформи, в случай на хардуерен срив данните могат да бъдат лесно достъпни на друг компютър, който има съвместима версия на Windows (по-ниските издания не поддържат динамични дискове).

От недостатъците трябва да се отбележи, че е невъзможно да се инсталира Windows на томове RAID0 и RAID5, поради причината, че инсталирането на Windows на динамичен том е възможно само когато този том е преобразуван от основен том за зареждане или системен том. Можете да прочетете повече за динамичните обеми.

В интернет има много статии, описващи RAID. Например, този описва всичко много подробно. Но както обикновено, няма достатъчно време да прочетете всичко, така че ви трябва нещо кратко, за да разберете - необходимо ли е или не и какво е по-добре да използвате във връзка с работа с СУБД (InterBase, Firebird или нещо друго - това наистина няма значение). Пред очите ви - точно такъв материал.

В първото приближение RAID е комбинацията от дискове в един масив. SATA, SAS, SCSI, SSD - няма значение. Освен това почти всяка нормална дънна платка вече поддържа възможността за организиране на SATA RAID. Нека да прегледаме списъка какво представляват RAID и защо са. (Бих искал веднага да отбележа, че трябва да комбинирате идентични дискове в RAID. Комбиниране на дискове от различни производители, от еднакви, но различни видове, или различни размери - това е глезотия за човек, който седи на домашен компютър).

RAID 0 (Stripe)

Грубо казано, това е последователна комбинация от два (или повече) физически диска в един "физически" диск. Подходящ е само за организиране на огромни дискови пространства, например за тези, които работят с редактиране на видео. Няма смисъл да поддържате бази данни на такива дискове - всъщност дори базата ви данни да е с размер 50 гигабайта, защо сте купили два диска по 40 гигабайта, а не 1 х 80 гигабайта? Най-лошото е, че в RAID 0 всяка повреда на един от дисковете води до пълна неработоспособност на такъв RAID, тъй като данните се записват последователно на двата диска и съответно RAID 0 няма средства за възстановяване в случай на повреди .

Разбира се, RAID 0 осигурява повишаване на производителността поради стрипинг за четене/запис.

RAID 0 често се използва за съхраняване на временни файлове.

RAID 1 (огледален)

Дублиране на диска. Ако Shadow в IB/FB е дублиране на софтуер (вижте Operations Guide.pdf), тогава RAID 1 е дублиране на хардуер и нищо друго. Спасете се от използването на софтуерно дублиране посредством операционната система или софтуер на трета страна. Необходимо е или "желязо" RAID 1, или сянка.

В случай на повреда внимателно проверете кой диск е неуспешен. Най-често срещаният случай на загуба на данни в RAID 1 са неправилни действия по време на възстановяване (грешен диск е посочен като "цял").

Що се отнася до производителността - при запис печалбата е 0, при четене е възможно до 1,5 пъти, тъй като четенето може да се извършва "паралелно" (на свой ред от различни дискове). За бази данни ускорението е малко, докато при паралелен достъп до различни (!) Части (файлове) на диска ускорението ще бъде абсолютно точно.

RAID 1+0

Под RAID 1+0 те имат предвид варианта на RAID 10, когато два RAID 1s се комбинират в RAID 0. Вариантът, когато два RAID 0s се комбинират в RAID 1, се нарича RAID 0+1, а "отвън" е същият RAID 10 .

RAID 2-3-4

Тези RAID са редки, тъй като използват кодове на Хеминг или блокиране на байтове + контролни суми и т.н., но общото обобщение е, че тези RAID осигуряват само надеждност, с 0 печалби в производителността, а понякога дори нейното влошаване.

RAID 5

Необходими са поне 3 диска. Данните за паритет се разпределят между всички устройства в масива

Обикновено се казва, че "RAID5 използва независим дисков достъп, така че заявките към различни дискове да могат да се изпълняват паралелно". Трябва да се има предвид, че говорим, разбира се, за паралелни I / O заявки. Ако такива заявки се изпращат последователно (в SuperServer), тогава, разбира се, няма да получите ефекта на паралелизиране на достъпа на RAID 5. Разбира се, RAID5 ще даде тласък на производителността, ако масивът ще работи с операционната система и други приложения (например ще съдържа виртуална памет, TEMP и т.н.).

Като цяло RAID 5 беше най-често използваният дисков масив за работа с СУБД. Сега такъв масив може да се организира и на SATA дискове и ще излезе много по-евтино, отколкото на SCSI. Можете да видите цените и контролерите в статиите
Освен това трябва да обърнете внимание на обема на закупените дискове - например в една от споменатите статии RAID5 е сглобен от 4 диска с обем 34 гигабайта, докато обемът на "диска" е 103 гигабайта.

Тестване на пет SATA RAID контролера - http://www.thg.ru/storage/20051102/index.html.

Adaptec SATA RAID 21610SA в RAID 5 - http://www.ixbt.com/storage/adaptec21610raid5.shtml.

Защо RAID 5 е лош - https://geektimes.ru/post/78311/

внимание!Когато купуват дискове за RAID5, обикновено вземат 3 диска минимум (по-скоро заради цената). Ако внезапно някой от дисковете се повреди след известно време, тогава може да възникне ситуация, когато не е възможно да закупите диск, подобен на използваните (вече не се произвеждат, временно изчерпани и т.н.). Следователно по-интересна идея изглежда е закупуването на 4 диска, организирането на RAID5 от три и свързването на 4-ия диск като резервен (за архивиране, други файлове и други нужди).

Размерът на RAID5 дисков масив се изчислява по формулата (n-1)*hddsize, където n е броят на дисковете в масива, а hddsize е размерът на един диск. Например за масив от 4 диска по 80 гигабайта общият обем ще бъде 240 гигабайта.

Отнася се за "непригодността" RAID5 за бази данни. Най-малкото може да се разглежда от гледна точка, че за да получите добра RAID5 производителност, трябва да използвате специализиран контролер, а не това, което е на дънната платка по подразбиране.

Член RAID-5 трябва да умре. И още за загубата на данни в RAID5.

Забележка.Към 05 септември 2005 г. цената на Hitachi 80Gb SATA устройство е $60.

RAID 10, 50

Освен това вече има комбинации от изброените опции. Например RAID 10 е RAID 0 + RAID 1. RAID 50 е RAID 5 + RAID 0.

Интересното е, че комбинацията от RAID 0 + 1 по отношение на надеждността е по-лоша от RAID5. В услугата за ремонт на бази данни има случай на повреда на един диск в система RAID0 (3 диска) + RAID1 (още 3 такива диска). В същото време RAID1 не можа да "вдигне" резервния диск. Основата беше повредена безвъзвратно.

RAID 0+1 изисква 4 диска, а RAID 5 изисква 3. Помислете за това.

RAID 6

За разлика от RAID 5, който използва паритет за защита на данните от единични грешки, RAID 6 използва същия паритет за защита срещу двойни грешки. Съответно процесорът е по-мощен отколкото в RAID 5 и не са необходими 3, а поне 5 диска (три диска с данни и 2 диска за паритет). Освен това броят на дисковете в raid6 няма същата гъвкавост като в raid 5 и трябва да бъде равен на просто число (5, 7, 11, 13 и т.н.)

Да кажем, че два диска се повредят едновременно, въпреки че този случай е много рядък.

Не видях данни за производителността на RAID 6 (не погледнах), но може да се окаже, че поради прекомерен контрол производителността може да бъде на ниво RAID 5.

Време за възстановяване

За всеки RAID масив, който остава здрав, когато едно устройство се повреди, има такова нещо като време за възстановяване. Разбира се, когато заменяте изтощен диск с нов, контролерът трябва да организира функционирането на новия диск в масива, а това отнема известно време.

По време на "връзката" на нов диск, например за RAID 5, контролерът може да разреши работа с масива. Но скоростта на масива в този случай ще бъде много ниска, най-малкото защото дори и при "линейно" запълване на нов диск с информация, записът върху него ще "разсейва" контролера и дисковите глави за операции по синхронизация с останалата част дисковете в масива.

Времето за възстановяване на работата на масива в нормален режим зависи пряко от обема на дисковете. Например Sun StorEdge 3510 FC Array с масив от 2 терабайта изключителен режимправи възстановяване в рамките на 4,5 часа (при цена на хардуера от около $40 000). Следователно, когато организирате масив и планирате преход при срив, първо трябва да помислите за времето за възстановяване. Ако вашата база данни и резервни копия заемат не повече от 50 гигабайта, а растежът на година е 1-2 гигабайта, тогава едва ли има смисъл да изграждате масив от 500 гигабайта дискове. 250 гигабайта ще са достатъчни и дори за raid5 ще са поне 500 гигабайта пространство, за да побере не само базата данни, но и филми. Но времето за възстановяване на дискове от 250 GB ще бъде около 2 пъти по-малко, отколкото за дискове от 500 GB.

Резюме

Оказва се, че най-смисленото е да се използва или RAID 1, или RAID 5. Но най-честата грешка, която почти всеки допуска, е използването на RAID "за всичко". Тоест, те инсталират RAID, трупат всичко върху него и ... получават надеждност в най-добрия случай, но не и подобрение на производителността.

Кешът за запис също често не е активиран, в резултат на което записът в raid е по-бавен, отколкото на обикновен единичен диск. Факт е, че за повечето контролери тази опция е деактивирана по подразбиране, т.к. смята се, че за активирането му е желателно да има поне батерия на raid контролера, както и наличието на UPS.

Текст
Старата статия hddspeed.htmLINK (и doc_calford_1.htmLINK) показва как можете да получите значително увеличение на производителността, като използвате множество физически дискове, дори за IDE. Съответно, ако организирате RAID, сложете база върху него и направете останалото (temp, OS, virtual machine) на други твърди дискове. В крайна сметка, все пак, самият RAID е един "диск", дори и да е по-надежден и по-бърз.
обявен за остарял. Всичко по-горе има право да съществува на RAID 5. Въпреки това, преди такова поставяне, трябва да разберете как можете да архивирате / възстановите операционната система и колко време ще отнеме, колко време ще отнеме възстановяването на " мъртъв" диск, има ли (ще има ли) под ръка диск за замяна на "мъртвия" и т.н., т.е. ще е необходимо да се знаят предварително отговорите на най-елементарните въпроси в случай на система провал.

Все пак ви съветвам да държите операционната система на отделно SATA устройство или, ако предпочитате, на две SATA устройства, свързани в RAID 1. Във всеки случай, когато поставяте операционната система на RAID, трябва да планирате действията си, ако дънната платка изведнъж спира да работи платка - понякога не е възможно да прехвърлите дисковете на raid масив към друга дънна платка (чипсет, raid контролер) поради несъвместимост на raid параметрите по подразбиране.

Базово разположение, сянка и резервно копие

Въпреки всички предимства на RAID, категорично не се препоръчва, например, да правите резервно копие на същото логическо устройство. Това не само има лош ефект върху производителността, но може да доведе и до проблеми с липсата на свободно място (при големи бази данни) - в крайна сметка, в зависимост от данните, архивният файл може да бъде еквивалентен на размера на базата данни, и дори повече. Създаването на резервно копие на същия физически диск все още е наред, въпреки че най-добрият вариант е да архивирате на отделен твърд диск.

Обяснението е много просто. Архивирането е четене на данни от файл на база данни и запис в архивен файл. Ако всичко това физически се случи на един и същ диск (дори RAID 0 или RAID 1), тогава производителността ще бъде по-лоша, отколкото ако четенето се извършва от един диск и записът на друг. Още по-голяма полза от такова разделяне има, когато архивирането се извършва, докато потребителите работят с базата данни.

Същото важи и за shadow - няма смисъл да поставяте shadow, например, на RAID 1, на същото място като основата, дори на различни логически дискове. При наличие на сянка сървърът записва страници с данни както във файла на базата данни, така и във файла сянка. Тоест вместо една операция за запис се изпълняват две. Чрез разделяне на основата и сянката на различни физически устройства, производителността на запис ще се определя от най-бавното устройство.

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

Въпросът за повишаване на производителността на дисковата подсистема е много сложен. Растежът на изчислителната мощност модерни процесоридоведе до факта, че има ясен дисбаланс между възможностите на твърдите дискове и нуждите на процесорите. В същото време нито скъпите SCSI дискове, да не говорим за IDE дисковете, могат да ви спасят. Въпреки това, ако възможностите на един диск не са достатъчни, тогава, може би, частично да се реши този проблемЩе позволят ли няколко диска? Разбира се, наличието на два или повече твърди диска на компютър или на сървър не променя нещата само по себе си - трябва да накарате тези дискове да работят заедно (паралелно) един с друг, така че това да ви позволи да увеличите производителността на дисковата подсистема при операции за запис/четене. Освен това, възможно ли е чрез използване на няколко твърди диска да се постигне увеличение не само на производителността, но и на надеждността на съхранението на данни, така че повредата на едно от устройствата да не доведе до загуба на информация? Именно този подход беше предложен през 1987 г. от американски изследователи Патерсън, Гибсън и Кац от Калифорнийския университет в Бъркли. В тяхната статия „Случай за излишни масиви от евтини дискове, RAID“ те описаха как можете да комбинирате няколко евтини твърди диска в едно логическо устройство по такъв начин, че резултатът да е увеличен капацитет и скорост на системата и отказ на отделни дискове не доведе до отказ на цялата система.

Изминаха 15 години от публикуването на статията, но технологията за изграждане на RAID масиви не е загубила своята актуалност днес. Единственото нещо, което се промени оттогава, е декодирането на акронима RAID. Факт е, че първоначално RAID масивите изобщо не бяха изградени на евтини дискове, така че думата Inexpensive (евтин) беше променена на Independent (независим), което беше по-вярно.

Нещо повече, сега технологията RAID стана широко разпространена. Така че, ако преди няколко години RAID масивите бяха използвани в скъпи корпоративни сървъри, използващи SCSI дискове, днес те са се превърнали във вид де факто стандарт дори за сървъри от начално ниво. В допълнение, пазарът на IDE RAID контролери също постепенно се разширява, тоест задачата за изграждане на RAID масиви на работни станции, използващи евтини IDE устройства, придобива значение. Например, някои производители на дънни платки (Abit, Gigabyte) вече са започнали да интегрират IDE RAID контролери в самите дънни платки.

И така, RAID е излишен масив от независими дискове (Redundant Arrays of Independent Discs), на който е поверена задачата да осигури устойчивост на грешки и да подобри производителността. Толерантността към грешки се постига чрез резервиране. Тоест част от капацитета на дисковото пространство се разпределя за сервизни цели, като става недостъпен за потребителя.

Увеличаването на производителността на дисковата подсистема се осигурява от едновременната работа на няколко диска и в този смисъл колкото повече дискове са в масива (до определен лимит), толкова по-добре.

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

При паралелен достъп дисковото пространство се разделя на блокове (ивици) за запис на данни. По същия начин информацията, която трябва да бъде записана на диска, се разделя на същите блокове. При запис отделни блокове се записват на различни дискове (фиг. 1), а няколко блока се записват на различни дискове едновременно, което води до увеличаване на производителността при операции за запис. Необходимата информация също се чете в отделни блокове едновременно от няколко диска (фиг. 2), което също допринася за увеличаване на производителността пропорционално на броя на дисковете в масива.

Трябва да се отбележи, че моделът на паралелен достъп се прилага само при условие, че размерът на заявката за запис на данни е по-голям от размера на самия блок. В противен случай е просто невъзможно да се реализира паралелен запис на няколко блока. Представете си ситуация, при която размерът на един блок е 8 KB, а размерът на заявката за запис на данни е 64 KB. В този случай изходната информация се нарязва на осем блока по 8 KB всеки. Ако има масив от четири диска, тогава четири блока, или 32 KB, могат да бъдат записани едновременно. Очевидно в разглеждания пример скоростите на запис и четене ще бъдат четири пъти по-високи, отколкото при използване на един диск. Тази ситуация обаче е идеална, тъй като размерът на заявката не винаги е кратно на размера на блока и броя на дисковете в масива.

Ако размерът на записваните данни е по-малък от размера на блока, тогава се прилага принципно различен модел на достъп - независим достъп. Освен това този модел може да бъде приложен и когато размерът на данните, които трябва да бъдат записани, е по-голям от размера на един блок. При независим достъп всички данни от конкретна заявка се записват на отделен диск, т.е. ситуацията е идентична с работата с един диск. Предимството на модела за паралелен достъп е, че ако няколко заявки за запис (четене) пристигнат едновременно, всички те ще бъдат изпълнени независимо, на отделни дискове (фиг. 3). Тази ситуация е типична например за сървъри.

В съответствие със различни видоведостъп, има различни видове RAID масиви, които обикновено се характеризират с RAID нива. Освен по вида на достъпа, нивата на RAID се различават по начина, по който се разполага и формира излишната информация. Излишната информация може да бъде поставена на специален диск или смесена между всички дискове. Има няколко начина за генериране на тази информация. Най-простият от тях е пълно дублиране (100 процента излишък) или дублиране. Освен това се използват кодове за коригиране на грешки, както и изчисляване на паритета.

RAID нива

В момента има няколко стандартизирани нива на RAID: от RAID 0 до RAID 5. Освен това се използват комбинации от тези нива, както и собствени нива (например RAID 6, RAID 7). Най-често срещаните са нива 0, 1, 3 и 5.

RAID 0

RAID ниво 0, строго погледнато, не е излишен масив и съответно не осигурява надеждно съхранение на данни. Въпреки това, това ниво е широко приложениев случаите, когато е необходимо да се осигури висока производителност на дисковата подсистема. Това ниво е особено популярно в работните станции. При създаването на RAID-масив от ниво 0 информацията се разделя на блокове, които се записват на отделни дискове (фиг. 4), т.е. създава се система с паралелен достъп (ако, разбира се, размерът на блока го позволява). С едновременен I/O от множество дискове, RAID 0 осигурява максимална скорост на трансфер на данни и максимална ефективностизползване на дисково пространство, тъй като не е необходимо място за съхраняване на контролни суми. Изпълнението на това ниво е много просто. RAID 0 се използва главно в области, където се изисква бързо прехвърляне на големи количества данни.

RAID 1 (огледален диск)

RAID ниво 1 е 100 процента излишен дисков масив. Тоест данните просто са напълно дублирани (огледални), поради което се постига много високо ниво на надеждност (както и цена). Имайте предвид, че изпълнението на ниво 1 не изисква предварително разделяне на дискове и данни на блокове. В най-простия случай два диска съдържат една и съща информация и са един логически диск (фиг. 5). Когато един диск откаже, друг изпълнява неговите функции (което е абсолютно прозрачно за потребителя). В допълнение, това ниво удвоява скоростта на четене на информация, тъй като тази операция може да се извърши едновременно от два диска. Тази схема за съхранение на информация се използва главно в случаите, когато разходите за сигурност на данните са много по-високи от разходите за внедряване на система за съхранение.

RAID 2

RAID ниво 2 е схема за резервиране на данни, използваща код на Hamming (вижте по-долу) за коригиране на грешки. Записваните данни се формират не на базата на блокова структура, както при RAID 0, а на базата на думи, като размерът на думата е равен на броя на дисковете за запис на данни в масива. Ако, например, масивът има четири диска за запис на данни, тогава размерът на думата е четири диска. Всеки отделен бит от дума се записва на отделен диск с масив. Например, ако масивът има четири диска за запис на данни, тогава последователност от четири бита, тоест дума, ще бъде записана в масива от дискове по такъв начин, че първият бит ще бъде на първия диск, вторият бит върху втория и т.н.

Освен това за всяка дума се изчислява код за коригиране на грешки (ECC), който се записва на специални дискове за съхраняване на контролна информация (фиг. 6). Техният брой е равен на броя на битовете в контролната дума, като всеки бит от контролната дума се записва на отделен диск. Броят на битовете в контролната дума и съответно необходимия брой дискове за съхраняване на контролна информация се изчислява по следната формула: където K е ширината на думата на думата с данни.

Естествено L, когато се изчислява по посочената формула, се закръглява до най-близкото цяло число. Въпреки това, за да не се забърквате с формули, можете да използвате друго мнемонично правило: битовата ширина на контролната дума се определя от броя битове, необходими за двоичното представяне на размера на думата. Ако, например, размерът на думата е четири (в двоична нотация, 100), тогава са необходими три бита, за да се запише това число в двоична форма, което означава, че размерът на контролната дума е три. Следователно, ако има четири диска за съхранение на данни, тогава ще са необходими още три диска за съхранение на контролни данни. По същия начин, ако има седем диска за данни (в двоична нотация 111), ще са необходими три диска за съхраняване на контролните думи. Ако осем диска са разпределени за данни (в двоична нотация 1000), тогава са необходими четири диска за контролна информация.

Кодът на Хеминг, който генерира контролната дума, се основава на използването на побитова операция XOR (известна също като несъответствие). Спомнете си това логическа операция XOR дава единица, ако операндите не съвпадат (0 и 1) и нула, ако съвпадат (0 и 0 или 1 и 1).

Самата контролна дума, получена от алгоритъма на Хеминг, е инверсия на резултата от побитовата операция XOR на числата на тези информационни битове на думата, чиито стойности са равни на 1. За илюстрация, разгледайте оригиналната дума 1101. В първата (001), третата (011) и четвъртата (100) цифрите на тази дума са единица. Следователно е необходимо да се извърши побитова операция XOR за тези битови числа:

Самата контролна дума (код на Хеминг) се получава чрез побитова инверсия на резултата, тоест тя е равна на 001.

Когато данните се прочетат, кодът на Хеминг се изчислява отново и се сравнява с оригиналния код. Побитовата операция XOR се използва за сравняване на два кода. Ако резултатът от сравнението във всички цифри е равен на нула, тогава отчитането е правилно, в противен случай стойността му е номерът на погрешно получената цифра от основния код. Нека, например, оригиналната дума е равна на 1100000. Тъй като единиците са на шеста (110) и седма (111) позиция, контролната дума е:

Ако думата 1100100 е фиксирана по време на четене, тогава контролната дума за нея е 101. Сравнявайки оригиналната контролна дума с получената (побитова операция XOR), имаме:

тоест грешка при четене на трета позиция.

Съответно, знаейки кой бит е грешен, лесно е да го коригирате в движение.

RAID 2 е едно от малкото нива, които позволяват не само коригиране на единични грешки в движение, но и откриване на двойни. В същото време то е най-излишното от всички нива с коригиращи кодове. Тази схема за съхранение на данни се използва рядко, защото не се справя добре с голямо число m заявки, трудно се организира и има малки предимства пред RAID 3.

RAID 3

RAID ниво 3 е устойчив на грешки паралелен I/O масив с едно допълнително устройство, което записва информация за паритет (Фигура 7). При запис потокът от данни се разделя на блокове на ниво байт (въпреки че е възможно на битово ниво) и се записва едновременно на всички дискове на масива, с изключение на контролната информация, разпределена за съхранение. За да се изчисли информацията за проверка (наричана също контролна сума), се използва операция XOR върху записваните блокове данни. Ако някой диск се повреди, данните на него могат да бъдат възстановени от контролните данни и данните, останали на здрави дискове.

Помислете за блокове от четири бита като илюстрация. Да предположим, че има четири диска за съхранение на данни и един диск за запис на контролни суми. Ако има последователност от битове 1101 0011 1100 1011, разделени на блокове от четири бита, тогава за да изчислите контролната сума, трябва да извършите операцията:

По този начин контролната сума, записана на диск 5, е 1001.

Ако един от дисковете, например третият, се повреди, блок 1100 ще бъде нечетим. Стойността му обаче може лесно да бъде възстановена от контролната сума и стойностите на останалите блокове, като се използва същата операция XOR:

Блок 3=Блок 1 Блок 2 Блок 4

Чекова сума.

В нашия пример получаваме:

Блок 3=1101001110111001= 1100.

RAID ниво 3 има много по-малко излишък от RAID 2. Чрез разделяне на данните на блокове, RAID 3 има висока производителност. При четене на информация дискът не се осъществява с контролни суми (при липса на повреда), което се случва всеки път, когато се извършва операция по запис. Тъй като почти всеки диск в масива е достъпен с всяка I/O операция, не е възможно да се обработват множество заявки едновременно. Това ниво е подходящо за приложения с големи файлове и ниска честота на достъп. В допълнение, предимствата на RAID 3 включват лек спад в производителността в случай на повреда и бързо възстановяване на информация.

RAID 4

RAID ниво 4 е устойчив на грешки масив от независими дискове с един диск с контролна сума (Фигура 8). RAID 4 е в много отношения подобен на RAID 3, но се различава от последния предимно по значително по-големия размер на блока на данните, които се записват (по-голям от размера на данните, които се записват). Това е основната разлика между RAID 3 и RAID 4. След запис на група блокове се изчислява контролна сума (точно както в случая на RAID 3), която се записва на специален диск. Поради по-големия размер на блока от RAID 3, могат да се извършват множество четения едновременно (схема за независим достъп).

RAID 4 подобрява производителността на прехвърляне на малки файлове (чрез паралелизиране на операцията за четене). Но тъй като записът трябва да изчисли контролната сума на разпределения диск, едновременното изпълнение на операции тук е невъзможно (има асиметрия на входните и изходните операции). Разглежданият слой не осигурява предимство в скоростта при прехвърляне на големи количества данни. Тази схема за съхранение е предназначена за приложения, при които данните първоначално са разделени на малки блокове, така че няма нужда да ги разделяте допълнително. RAID 4 е добро решение за файлови сървъри, които се четат предимно и рядко пишат. Тази схема за съхранение има ниска цена, но нейното изпълнение е доста сложно, както и възстановяването на данни в случай на повреда.

RAID 5

RAID ниво 5 е устойчив на грешки масив от независими дискове с разпределено съхранение на контролна сума (Фигура 9). Блокове от данни и контролни суми, които се изчисляват точно по същия начин, както в RAID 3, се записват циклично на всички дискове в масива, тоест няма специален диск за съхраняване на информация за контролната сума.

В случай на RAID 5 всички дискове в масива са с еднакъв размер, но общият капацитет на дисковата подсистема, наличен за запис, е намален точно с един диск. Например, ако пет диска са 10 GB, тогава действителният размер на масива е 40 GB, тъй като 10 GB са разпределени за информация за паритет.

RAID 5, подобно на RAID 4, има независима архитектура за достъп, тоест, за разлика от RAID 3, той осигурява голям размерлогически блокове за съхраняване на информация. Следователно, както в случая с RAID 4, такъв масив осигурява основната полза при обработка на множество заявки едновременно.

Основната разлика между RAID 5 и RAID 4 е как се поставят контролните суми.

Наличието на отделен (физически) диск, който съхранява информация за контролни суми, тук, както и в трите предишни нива, води до факта, че операциите за четене, които не изискват достъп до този диск, се извършват с висока скорост. Всяка операция за запис обаче променя информацията на контролен диск, така че RAID 2, RAID 3 и RAID 4 не позволяват паралелни записи. RAID 5 преодолява този недостатък, тъй като контролните суми се записват на всички дискове в масива, което позволява множество четения или записи да се извършват едновременно.

Практическа реализация

За практическата реализация на RAID масивите са необходими два компонента: същинският масив от твърди дискове и RAID контролерът. Контролерът изпълнява функциите за комуникация със сървъра (работна станция), генериране на излишна информация при запис и проверка при четене, разпределяне на информация между дискове в съответствие с алгоритъма на работа.

Структурно контролерите биват външни и вътрешни. Има и RAID контролери, интегрирани в дънната платка. Освен това контролерите се различават по поддържания дисков интерфейс. По този начин SCSI RAID контролерите са предназначени за използване в сървъри, докато IDE RAID контролерите са подходящи както за сървъри от начално ниво, така и за работни станции.

Отличителна характеристика на RAID контролерите е броят на поддържаните канали за свързване на твърди дискове. Въпреки че множество SCSI устройства могат да бъдат свързани към един и същ контролен канал, общата честотна лента на RAID масива ще бъде ограничена от честотната лента на един канал, която съответства на честотната лента на SCSI интерфейса. По този начин използването на множество канали може значително да подобри производителността на дисковата подсистема.

Когато използвате IDE RAID контролери, проблемът с многоканалите става още по-остър, тъй като два твърди диска, свързани към един канал (повече дискове не се поддържат от самия интерфейс), не могат да осигурят паралелна работа - IDE интерфейсът ви позволява достъп определен моментвреме само на един диск. Следователно IDE RAID контролерите трябва да бъдат поне двуканални. Има и четири- и дори осем-канални контролери.

Друга разлика между IDE RAID и SCSI RAID контролерите е броят нива, които поддържат. SCSI RAID контролерите поддържат всички основни нива и обикновено още няколко комбинирани и собствени нива. Наборът от нива, поддържани от IDE RAID контролерите, е много по-скромен. Обикновено това са нулево и първо ниво. Освен това има контролери, които поддържат пето ниво и комбинация от първо и нула: 0 + 1. Този подход е съвсем естествен, тъй като IDE RAID контролерите са проектирани предимно за работни станции, така че основният фокус е върху подобряването на безопасността на данните (ниво 1) или производителността с паралелен I/O (ниво 0). В този случай схемата на независими дискове не е необходима, тъй като потокът от заявки за запис / четене в работните станции е много по-нисък, отколкото, да речем, в сървърите.

Основната функция на RAID масива не е да увеличава капацитета на дисковата подсистема (както се вижда от неговия дизайн, същият капацитет може да се получи за по-малко пари), а да гарантира надеждността на съхранението на данни и да увеличи производителността. Освен това за сървърите има изискване за непрекъсната работа, дори при повреда на един от дисковете. Непрекъснатостта на работа се осигурява чрез гореща смяна, тоест премахване на неуспешно SCSI устройство и инсталиране на ново без изключване на захранването. Тъй като дисковата подсистема продължава да функционира (с изключение на ниво 0) с едно повредено устройство, горещата смяна осигурява възстановяване, което е прозрачно за потребителите. Въпреки това, скоростта на трансфер и скоростта на достъп с един неактивен диск е значително намалена поради факта, че контролерът трябва да възстанови данни от излишна информация. Вярно е, че има изключение от това правило - RAID системите от нива 2, 3, 4 започват да работят по-бързо, когато устройство с излишна информация се повреди! Това е естествено, тъй като в този случай нивото „в движение“ се променя на нула, което има отлични скоростни характеристики.

Досега тази статия беше за хардуерни решения. Но има и софтуер, предлаган например от Microsoft за Windows 2000 Server. В този случай обаче някои първоначални спестявания са напълно неутрализирани от допълнителното натоварване на централния процесор, който в допълнение към основната си работа е принуден да разпределя данни между дискове и да изчислява контролни суми. Такова решение може да се счита за приемливо само в случай на значителен излишък от изчислителна мощност и ниско натоварване на сървъра.


Сергей Пахомов

КомпютърПрес 3 „2002

Всички съвременни дънни платки са оборудвани с интегриран RAID контролер, а топ моделите имат дори няколко интегрирани RAID контролера. Доколко интегрираните RAID контролери са търсени от домашните потребители е отделен въпрос. Във всеки случай модерната дънна платка предоставя на потребителя възможността да създаде RAID масив от няколко диска. Въпреки това, не всеки домашен потребител знае как да създаде RAID масив, какво ниво на масив да избере и като цяло има слаба представа за предимствата и недостатъците на използването на RAID масиви.
В тази статия ще предоставим кратко ръководство за създаване на RAID масиви на домашни компютри и конкретен примерНека демонстрираме как можете независимо да тествате производителността на RAID масив.

История на създаването

Терминът „RAID масив“ се появява за първи път през 1987 г., когато американски изследователи Патерсън, Гибсън и Кац от Калифорнийския университет, Бъркли, в статията си „Случай за излишни масиви от евтини дискове, RAID“) описват как по този начин вие може да комбинира няколко евтини твърди диска в едно логическо устройство, така че резултатът да е увеличен капацитет и скорост на системата, а повредата на отделни устройства не води до повреда на цялата система.

Изминаха повече от 20 години от публикуването на тази статия, но технологията за изграждане на RAID масиви не е загубила своята актуалност днес. Единственото нещо, което се промени оттогава, е декодирането на акронима RAID. Факт е, че първоначално RAID масивите изобщо не бяха изградени на евтини дискове, така че думата Inexpensive (евтин) беше променена на Independent (независим), което беше по-вярно.

Принцип на действие

И така, RAID е излишен масив от независими дискове (Redundant Arrays of Independent Discs), на който е поверена задачата да осигури устойчивост на грешки и да подобри производителността. Толерантността към грешки се постига чрез резервиране. Тоест част от капацитета на дисковото пространство се разпределя за сервизни цели, като става недостъпен за потребителя.

Увеличаването на производителността на дисковата подсистема се осигурява от едновременната работа на няколко диска и в този смисъл колкото повече дискове са в масива (до определен лимит), толкова по-добре.

Устройствата в масив могат да се споделят чрез паралелен или независим достъп. При паралелен достъп дисковото пространство се разделя на блокове (ивици) за запис на данни. По същия начин информацията, която трябва да бъде записана на диска, се разделя на същите блокове. При запис отделни блокове се записват на различни дискове, а няколко блока се записват на различни дискове едновременно, което води до увеличаване на производителността при операции за запис. Необходимата информация също се чете в отделни блокове едновременно от няколко диска, което също допринася за увеличаване на производителността пропорционално на броя на дисковете в масива.

Трябва да се отбележи, че моделът на паралелен достъп се прилага само при условие, че размерът на заявката за запис на данни е по-голям от размера на самия блок. В противен случай е практически невъзможно да се напишат няколко блока паралелно. Представете си ситуация, при която размерът на един блок е 8 KB, а размерът на заявката за запис на данни е 64 KB. В този случай изходната информация се нарязва на осем блока по 8 KB всеки. Ако има масив от четири диска, тогава четири блока, или 32 KB, могат да бъдат записани едновременно. Очевидно в този пример скоростта на запис и скоростта на четене ще бъде четири пъти по-висока, отколкото при използване на един диск. Това е вярно само за идеална ситуация, но размерът на заявката не винаги е кратно на размера на блока и броя на дисковете в масива.

Ако размерът на записаните данни е по-малък от размера на блока, тогава се прилага коренно различен модел - независим достъп. Освен това този модел може да се използва и когато размерът на данните, които трябва да бъдат записани, е по-голям от размера на един блок. При независим достъп всички данни от конкретна заявка се записват на отделен диск, т.е. ситуацията е идентична с работата с един диск. Предимството на модела за независим достъп е, че ако множество заявки за запис (четене) пристигнат по едно и също време, всички те ще бъдат изпълнени на отделни дискове независимо една от друга. Тази ситуация е типична например за сървъри.

Според различните видове достъп има различни видове RAID масиви, които обикновено се наричат ​​RAID нива. Освен по вида на достъпа, нивата на RAID се различават по начина, по който се разполага и формира излишната информация. Излишната информация може да бъде поставена на специален диск или разпределена между всички дискове. Има много начини за генериране на тази информация. Най-простият от тях е пълно дублиране (100 процента излишък) или дублиране. Освен това се използват кодове за коригиране на грешки, както и изчисляване на паритета.

RAID нива

В момента има няколко нива на RAID, които могат да се считат за стандартизирани, те са RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 и RAID 6.

Използват се и различни комбинации от RAID нива, което ви позволява да комбинирате предимствата им. Това обикновено е комбинация от някакъв слой, устойчив на грешки, и нулево ниво, използвано за подобряване на производителността (RAID 1+0, RAID 0+1, RAID 50).

Имайте предвид, че всички съвременни RAID контролери поддържат функцията JBOD (Just a Bench Of Disks), която не е предназначена за създаване на масиви - тя предоставя възможност за свързване на отделни дискове към RAID контролера.

Трябва да се отбележи, че RAID контролерите, интегрирани в дънни платки за домашни компютри, не поддържат всички RAID нива. Двупортовите RAID контролери поддържат само нива 0 и 1, докато RAID контролерите с голям брой портове (например 6-портовият RAID контролер, интегриран в южния мост на чипсета ICH9R/ICH10R) също поддържат нива 10 и 5.

Освен това, ако говорим за дънни платки, базирани на чипсети Intel, те също изпълняват функцията Intel Matrix RAID, която ви позволява да създавате RAID матрици от няколко нива на няколко твърди диска едновременно, разпределяйки част от дисковото пространство за всеки от тях.

RAID 0

RAID ниво 0, строго погледнато, не е излишен масив и съответно не осигурява надеждно съхранение на данни. Въпреки това, това ниво се използва активно в случаите, когато е необходимо да се осигури висока производителност на дисковата подсистема. При създаването на масив от RAID ниво 0 информацията се разделя на блокове (понякога тези блокове се наричат ​​ивици), които се записват на отделни дискове, т.е. създава се система с паралелен достъп (ако, разбира се, размерът на блока го позволява ). С възможността за паралелен I/O от множество устройства, RAID 0 осигурява най-бързите скорости на трансфер на данни и най-ефективното използване на дисковото пространство, тъй като не е необходимо място за съхраняване на контролни суми. Изпълнението на това ниво е много просто. RAID 0 се използва главно в области, където се изисква бързо прехвърляне на големи количества данни.

RAID 1 (огледален диск)

RAID ниво 1 е масив от два диска със 100 процента излишък. Тоест данните просто са напълно дублирани (огледални), поради което се постига много високо ниво на надеждност (както и цена). Имайте предвид, че изпълнението на ниво 1 не изисква предварително разделяне на дискове и данни на блокове. В най-простия случай две устройства съдържат една и съща информация и са едно логическо устройство. Когато един диск откаже, друг изпълнява неговите функции (което е абсолютно прозрачно за потребителя). Възстановяването на масива е в ход просто копиране. В допълнение, това ниво удвоява скоростта на четене на информация, тъй като тази операция може да се извърши едновременно от два диска. Подобна схема за съхранение на информация се използва предимно в случаите, когато цената на сигурността на данните е много по-висока от цената за внедряване на система за съхранение.

RAID 5

RAID 5 е устойчив на грешки дисков масив с разпределено съхранение на контролна сума. При запис потокът от данни се разделя на блокове (ленти) на ниво байт и едновременно се записва на всички дискове в масива в цикличен ред.

Да предположим, че масивът съдържа ндискове и размера на лентата д. За всяка порция от n–1изчислява се контролна сума на ивици стр.

Ивица d1записан на първия диск, лента d2- на втория и така нататък до ивицата d n–1, което се записва на ( н–1)-ти диск. Следващ нконтролна сума за запис на диск p n, като процесът се повтаря циклично от първия диск, на който е записана лентата d n.

Процес на записване (n–1)ивици и тяхната контролна сума се произвежда едновременно за всички ндискове.

За изчисляване на контролната сума се използва побитова операция XOR върху записваните блокове данни. Да, ако има нтвърди дискове, д- блок данни (лента), тогава контролната сума се изчислява по следната формула:

p n = d 1 d2 ... d 1–1.

В случай на повреда на който и да е диск, данните върху него могат да бъдат възстановени от контролните данни и от данните, останали на здрави дискове.

Като илюстрация, помислете за блокове от четири бита. Да предположим, че има само пет диска за съхранение на данни и запис на контролни суми. Ако има последователност от битове 1101 0011 1100 1011, разделени на блокове от четири бита, тогава трябва да се изпълни следната побитова операция за изчисляване на контролната сума:

1101 0011 1100 1011 = 1001.

По този начин контролната сума, записана на диск 5, е 1001.

Ако един от дисковете, например четвъртият, не успее, тогава блокът d4= 1100 ще бъде нечетливо. Стойността му обаче може лесно да бъде възстановена от контролната сума и от стойностите на останалите блокове, като се използва същата операция XOR:

d4 = d1 d2d4стр. 5.

В нашия пример получаваме:

d4 = (1101) (0011) (1100) (1011) = 1001.

В случай на RAID 5 всички дискове в масива са с еднакъв размер, но общият капацитет на дисковата подсистема, наличен за запис, е намален точно с един диск. Например, ако пет диска са 100 GB, тогава действителният размер на масива е 400 GB, тъй като 100 GB са разпределени за информация за паритет.

RAID 5 може да бъде изграден на три или повече твърди диска. Тъй като броят на твърдите дискове в масива се увеличава, излишъкът намалява.

RAID 5 има независима архитектура за достъп, която позволява извършването на множество четения или записи едновременно.

RAID 10

RAID 10 е комбинация от нива 0 и 1. Минималното изискване за това ниво е четири диска. В RAID 10 масив от четири устройства те се комбинират по двойки в масиви от ниво 0 и двата масива се комбинират като логически устройства в масив от ниво 1. Възможен е и друг подход: първоначално дисковете се комбинират в огледално ниво 1 масиви и след това логически устройства, базирани на тези масиви - до масив от ниво 0.

Intel Matrix RAID

Разглежданите RAID масиви от нива 5 и 1 рядко се използват у дома, което се дължи главно на високата цена на такива решения. Най-често за домашни компютри се използва масив от ниво 0 на два диска. Както вече отбелязахме, RAID ниво 0 не осигурява сигурност на съхранението и следователно крайните потребители са изправени пред избор: да създадат бърз, но не надежден масив RAID ниво 0 или, удвоявайки цената на дисковото пространство, - RAID-a масив от ниво 1, който осигурява надеждност при съхранение на данни, но не осигурява значително увеличение на производителността.

За да разреши този труден проблем, Intel разработи Intel Matrix Storage Technology, която съчетава предимствата на Tier 0 и Tier 1 масиви само на два физически диска. И за да подчертаем, че в случая говорим не просто за RAID масив, а за масив, който съчетава както физически, така и логически дискове, в името на технологията се използва думата „матрица“ вместо думата „масив“. ”.

И така, какво представлява RAID матрица с два диска, базирана на Intel Matrix Storage Technology? Основната идея е, че ако една система има множество твърди дискове и дънна платка с чипсет на Intel, който поддържа Intel Matrix Storage Technology, е възможно дисковото пространство да се раздели на няколко части, всяка от които ще функционира като отделен RAID масив.

Помислете за прост пример за RAID масив от два 120 GB диска. Всеки от дисковете може да бъде разделен на два логически диска, например 40 и 80 GB всеки. След това две логически устройства с еднакъв размер (например 40 GB всеки) могат да бъдат комбинирани в матрица RAID ниво 1, а останалите логически устройства в матрица RAID ниво 0.

По принцип, като се използват два физически диска, също е възможно да се създадат само една или две RAID матрици от ниво 0, но е невъзможно да се получат само матрици от ниво 1. Тоест, ако системата има само два диска, тогава Технология на Intel Matrix Storage ви позволява да създавате следните видове RAID матрици:

  • една матрица от ниво 0;
  • две матрици от ниво 0;
  • матрица от ниво 0 и матрица от ниво 1.

Ако в системата са инсталирани три твърди диска, тогава могат да бъдат създадени следните типове RAID матрици:

  • една матрица от ниво 0;
  • една матрица от ниво 5;
  • две матрици от ниво 0;
  • две матрици от ниво 5;
  • матрица от ниво 0 и матрица от ниво 5.

Ако в системата са инсталирани четири твърди диска, тогава е възможно допълнително да се създаде RAID матрица от ниво 10, както и комбинации от ниво 10 и ниво 0 или 5.

От теория към практика

Ако говорим за домашни компютри, тогава най-популярните и популярни са 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, който има интегриран шестпортов SATA II RAID контролер, който поддържа RAID нива 0, 1, 10 и 5 с функцията Intel Matrix RAID. Освен това на платката Gigabyte GA-EX58A-UD7 е интегриран GIGABYTE SATA2 RAID контролер, на базата на който са реализирани два SATA II порта с възможност за организиране на RAID масиви от нива 0, 1 и JBOD.

Платката GA-EX58A-UD7 също така интегрира контролера Marvell 9128 SATA III, на базата на който са реализирани два SATA III порта с възможност за организиране на 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 GB (три модула по 1024 MB);
  • режим на работа на паметта - 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 е синтетичен тест и ви позволява да работите с твърди дискове, които не са разделени на логически дялове, така че можете да тествате устройства независимо от файловата структура и да намалите влиянието на операционната система до нула.

При тестване е възможно да се създаде конкретен модел за достъп или "модел", който ви позволява да укажете изпълнението харддискспецифични операции. В случай на създаване на конкретен модел на достъп е разрешено да се променят следните параметри:

  • размера на заявката за пренос на данни;
  • произволно/последователно разпределение (в %);
  • разпределение на операциите за четене/запис (в %);
  • броя на отделните I/O операции, изпълнявани паралелно.

Помощната програма IOmeter не изисква инсталиране на компютър и се състои от две части: самата IOmeter и Dynamo.

IOmeter е контролна част на програмата с графичен потребителски интерфейс, който ви позволява да правите всички необходими настройки. Dynamo е генератор на натоварване, който няма интерфейс. Всеки път, когато стартирате IOmeter.exe, генераторът на натоварване Dynamo.exe също се стартира автоматично.

За да започнете работа с програмата IOmeter, просто стартирайте файла IOmeter.exe. Това отваря главния прозорец на програмата IOmeter (фиг. 1).

Ориз. 1. Основният прозорец на програмата IOmeter

Трябва да се отбележи, че помощната програма IOmeter ви позволява да тествате не само локални дискови системи (DAS), но и мрежови устройства (NAS). Например, може да се използва за тестване на производителността на дисковата подсистема на сървъра (файлов сървър) с помощта на няколко мрежови клиента. Следователно някои от разделите и инструментите в прозореца на помощната програма IOmeter се отнасят конкретно до мрежовите настройки на програмата. Ясно е, че при тестване на дискове и RAID масиви няма да имаме нужда от тези функции на програмата и затова няма да обясняваме предназначението на всички раздели и инструменти.

Така че, когато стартирате програмата IOmeter, дървовидната структура на всички работещи генератори на натоварване (инстанции на Dynamo) ще се покаже от лявата страна на главния прозорец (в прозореца на топологията). Всеки работещ екземпляр на генератор на натоварване Dynamo се нарича мениджър. Освен това програмата IOmeter е многопоточна и всяка отделна нишка на екземпляр на Dynamo load generator се нарича Worker. Броят на работещите Workers винаги съответства на броя на ядрата на логическия процесор.

В нашия пример има само един компютър с четириядрен процесор, който поддържа технологията Hyper-Threading, така че се стартират само един мениджър (един екземпляр на Dynamo) и осем (по броя на ядрата на логическия процесор) Workers.

Всъщност, за да тествате дискове в този прозорец, не е необходимо да променяте или добавяте нищо.

Ако маркирате името на компютъра в дървовидната структура на стартираните копия на Dynamo с мишката, след това в прозореца мишенараздел дискова целще бъдат показани всички дискове, дискови масиви и други устройства (включително мрежови устройства), инсталирани в компютъра. Това са устройствата, с които програмата IOmeter може да работи. Медиите могат да бъдат маркирани в жълто или син цвят. Жълтото показва логически медийни дялове, а синьото показва физически устройства без логически дялове, създадени върху тях. Логическият дял може или не може да бъде зачеркнат. Факт е, че за да може програмата да работи с логически дял, той трябва първо да бъде подготвен чрез създаване на специален файл върху него, равен по размер на капацитета на целия логически дял. Ако логическият дял е зачеркнат, това означава, че дялът все още не е подготвен за тестване (ще бъде подготвен автоматично на първия етап от тестването), но ако дялът не е зачеркнат, това означава, че файл вече е създаден на логическия дял, напълно готов за тестване.

Имайте предвид, че въпреки поддържаната възможност за работа с логически дялове, оптимално е да тествате дискове, които не са разделени на логически дялове. Можете да изтриете логически дял на диск много просто - чрез модула Управление на дискове . Просто щракнете за достъп до него. Кликнете с десния бутонмишка върху иконата компютърна работния плот и в менюто, което се отваря, изберете елемента Управлявайте. В отворения прозорец компютърно управлениеот лявата страна изберете Съхранение, а в него - Управление на дискове. След това от дясната страна на прозореца компютърно управлениевсички свързани устройства ще бъдат показани. Като щракнете с десния бутон върху желания диск и изберете елемента от менюто, което се отваря Изтриване на том..., можете да изтриете логически дял на физически диск. Спомнете си, че когато изтриете логически дял от диск, цялата информация в него се изтрива без възможност за възстановяване.

Като цяло, като използвате помощната програма IOmeter, можете да тествате само празни дискове или дискови масиви. Тоест не можете да тествате диска или дисковия масив, на който е инсталирана операционната система.

И така, обратно към описанието на помощната програма IOmeter. В прозореца мишенараздел дискова целтрябва да изберете диска (или дисковия масив), който ще бъде тестван. След това трябва да отворите раздела Спецификации за достъп(фиг. 2), на който ще бъде възможно да се определи тестовият сценарий.

Ориз. 2. Влезте в раздела Спецификации на помощната програма IOmeter

В прозореца Спецификации за глобален достъпима списък с предварително дефинирани тестови скриптове, които могат да бъдат присвоени на мениджъра за изтегляне. Тези скриптове обаче няма да ни трябват, така че всички те могат да бъдат избрани и изтрити (има бутон за това). Изтрий). След това кликнете върху бутона Новза създаване на нов тестов скрипт. В отворения прозорец Редактиране на спецификацията за достъпможете да дефинирате сценарий за стартиране на диск или RAID.

Да предположим, че искаме да разберем зависимостта на скоростта на последователно (линейно) четене и запис от размера на блока за заявка за трансфер на данни. За да направим това, трябва да генерираме поредица от скриптове за зареждане в режим на последователно четене при различни размери на блокове и след това поредица от скриптове за зареждане в режим на последователно записване при различни размери на блокове. Обикновено размерите на блоковете се избират като серия, всеки член на която е два пъти по-голям от предишния, а първият член на тази серия е 512 байта. Това означава, че размерите на блоковете са както следва: 512 байта, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 KB, 1 MB. Няма смисъл да се прави размерът на блока по-голям от 1 MB за последователни операции, тъй като при такива големи размери на блокове с данни скоростта на последователните операции не се променя.

И така, нека създадем скрипт за зареждане на последователно четене за блок от 512 байта.

В полето Имепрозорец Редактиране на спецификацията за достъпвъведете името на скрипта за изтегляне. Например Sequential_Read_512. По-навътре в полето Размер на заявката за прехвърлянезадайте размера на блока данни на 512 байта. Плъзгач Процентно произволно/последователно разпределение(процентно съотношение между последователни и селективни операции) изместваме докрай наляво, така че всички наши операции да са само последователни. Е, плъзгачът , който указва процентното съотношение между операциите за четене и запис, изместваме докрай надясно, така че всички наши операции да са само за четене. Други опции в прозореца Редактиране на спецификацията за достъпняма нужда от промяна (фиг. 3).

Ориз. 3. Прозорец за редактиране на спецификация за достъп за създаване на скрипт за последователно зареждане на четене
с размер на блока данни от 512 байта

Кликнете върху бутона Добреи първият скрипт, който създадохме, ще бъде показан в прозореца Спецификации за глобален достъпраздел Спецификации за достъпПомощни програми за IOmeter.

По същия начин трябва да създадете скриптове за останалите блокове данни, но за да улесните работата си, е по-лесно да не създавате скрипт всеки път, като щракнете върху бутона Нов, и след като изберете последния създаден скрипт, натиснете бутона Редактиране на копие(редактиране на копие). След това прозорецът ще се отвори отново. Редактиране на спецификацията за достъпс настройките на нашия последно генериран скрипт. В него ще бъде достатъчно да промените само името и размера на блока. След като извършите подобна процедура за всички други размери на блокове, можете да започнете да генерирате скриптове за последователен запис, което се прави по абсолютно същия начин, с изключение на това, че плъзгачът Процентно разпределение на четене/запис, който указва процентното съотношение между операциите за четене и запис, трябва да бъде изместен докрай наляво.

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

След като всички скриптове са готови, те трябва да бъдат присвоени на мениджъра за зареждане, тоест да посочите с кои скриптове ще работи Динамо.

За да направите това, проверяваме още веднъж това в прозореца топологияимето на компютъра е осветено (т.е. мениджърът на натоварването на локалния компютър), а не отделен работник. Това гарантира, че сценариите за натоварване се присвояват на всички работници едновременно. Следващият в прозореца Спецификации за глобален достъпизберете всички сценарии на натоварване, които създадохме, и натиснете бутона Добавете. Всички избрани сценарии за натоварване ще бъдат добавени към прозореца (фиг. 4).

Ориз. 4. Присвояване на създадените сценарии за натоварване на мениджъра на натоварване

След това трябва да отидете в раздела Тестова настройка(фиг. 5), където можете да зададете времето за изпълнение на всеки създаден от нас скрипт. За това групата време за изпълнениезадайте времето за изпълнение на сценария за зареждане. Ще бъде достатъчно да зададете времето равно на 3 минути.

Ориз. 5. Задаване на времето за изпълнение на сценария за зареждане

Освен това в полето описание на тестатрябва да посочите името на целия тест. По принцип този раздел има много други настройки, но за нашите задачи те не са необходими.

След като направите всички необходими настройки, препоръчително е да запишете създадения тест, като щракнете върху бутона с изображение на дискета в лентата с инструменти. Тестът се записва с разширение *.icf. Впоследствие можете да използвате създадения скрипт за зареждане, като стартирате не файла IOmeter.exe, а записания файл с разширение *.icf.

Сега можете да продължите директно към тестването, като щракнете върху бутона с изображението на флага. Ще бъдете подканени да наименувате файла с резултатите от теста и да изберете местоположението му. Резултатите от теста се записват в CSV файл, който след това лесно се експортира в Excel и чрез задаване на филтър в първата колона се избират желаните данни с резултатите от теста.

По време на тестването междинните резултати могат да се наблюдават в раздела показване на резултатаи можете да определите към кой сценарий на натоварване принадлежат в раздела Спецификации за достъп. В прозореца Спецификация за присвоен достъпизпълняваният скрипт се показва в зелено, завършените скриптове в червено, а скриптовете, които все още не са изпълнени, в синьо.

И така, разгледахме основните техники за работа с помощната програма IOmeter, която ще е необходима за тестване на отделни дискове или RAID масиви. Обърнете внимание, че не сме говорили за всички функции на помощната програма IOmeter, но описанието на всички нейни функции е извън обхвата на тази статия.

Създаване на RAID масив на базата на GIGABYTE SATA2 контролер

И така, започваме да създаваме RAID масив от два диска, използвайки GIGABYTE SATA2 RAID контролера, интегриран на платката. Разбира се, самата Gigabyte не произвежда чипове и следователно под чипа GIGABYTE SATA2 е скрит премаркиран чип от друга компания. Както можете да видите от INF файла на драйвера, това е контролер от серия JMicron JMB36x.

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

Менюто за настройка на GIGABYTE SATA2 RAID контролера е доста лесно. Както вече отбелязахме, контролерът е двупортов и ви позволява да създавате 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 KB и можете също да посочите името на масива. Освен това има такава опция като Gigabyte Rounding, която се нуждае от обяснение. Въпреки името, съзвучно с името на производителя, функцията Gigabyte Rounding няма нищо общо с това. Освен това няма нищо общо с RAID ниво 0 масив, въпреки че може да се дефинира в настройките на контролера специално за масив от това ниво. Всъщност това е първият недостатък на конфигуратора на контролера Marvell 9128, който споменахме. Функцията Gigabyte Rounding е дефинирана само за RAID ниво 1. Тя ви позволява да използвате два диска (например различни производители или различни модели) с малко по-различен капацитет, за да създадете масив RAID ниво 1. Функцията Gigabyte Rounding просто задава разликата в размерите на два диска, използвани за създаване на масив RAID ниво 1. В контролера Marvell 9128 функцията Gigabyte Rounding ви позволява да зададете разликата в размерите на диска на 1 или 10 GB.

Друг недостатък на конфигуратора на контролера Marvell 9128 е, че при създаване на масив RAID ниво 1 потребителят има възможност да избере размера на лентата (32 или 64 KB). Концепцията за лента обаче изобщо не е дефинирана за RAID ниво 1 масив.

Създаване на RAID масив на базата на контролера, интегриран в ICH10R

RAID контролерът, интегриран в южния мост ICH10R, е най-често срещаният. Както вече беше отбелязано, този RAID контролер е 6-портов и поддържа не само създаването на RAID 0 и RAID 1 масиви, но и RAID 5 и RAID 10.

Достъпът до менюто с настройки на контролера е възможен на етапа на зареждане на системата, за което трябва да натиснете клавишната комбинация Ctrl + I, когато на екрана се появи съответният надпис. Естествено, първо трябва да определите режима на работа на този контролер като RAID в настройките на BIOS (в противен случай достъпът до менюто на конфигуратора на 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 KB, 1 MB.

На всеки от RAID контролерите бяха създадени масив RAID 0 с всички разрешени размери на ленти и масив RAID 1. Освен това, за да можем да оценим печалбата от производителността, получена от използването на RAID масив, тествахме и един диск на всеки от RAID контролерите.

И така, нека се обърнем към резултатите от нашето тестване.

Контролер GIGABYTE SATA2

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

Ориз. 6.Постоянна скорост
и селективни дискови операции
Western Digital WD1002FBYS

Ориз. 7.Постоянна скорост

с размер на лентата 128 KB
(GIGABYTE SATA2 контролер)

Ориз. 12. Последователна скорост
и селективни операции за RAID 0
с размер на лентата 4 KB
(GIGABYTE SATA2 контролер)

Ориз. 13. Скорост последователна
и селективни операции
за RAID 1 (GIGABYTE SATA2 контролер)

Разглеждайки производителността на едно устройство (без RAID), максималната скорост на последователно четене е 102 MB/s, а максималната скорост на последователен запис е 107 MB/s.

При създаване на масив RAID 0 с размер на лента от 128 KB, максималната скорост на последователно четене и запис се увеличава до 125 MB / s, тоест увеличение от около 22%.

С размер на лента от 64, 32 или 16 KB, максималната скорост на последователно четене е 130 MB/s, а максималната скорост на последователен запис е 141 MB/s. Тоест при посочените размери на лентите максималната скорост на последователно четене се увеличава с 27%, а максималната скорост на последователен запис - с 31%.

Всъщност това не е достатъчно за масив от ниво 0 и бих искал максималната скорост на последователните операции да е по-висока.

При размер на лента от 8 KB максималната скорост на последователни операции (четене и запис) остава приблизително същата като при размер на лента от 64, 32 или 16 KB, но има очевидни проблеми със селективното четене. Тъй като размерът на блока данни се увеличава до 128 KB, скоростта на селективно четене (както трябва да бъде) се увеличава пропорционално на размера на блока данни. Въпреки това, с размер на блока данни над 128 KB, скоростта на селективно четене пада почти до нула (до около 0,1 MB / s).

С размер на лентата от 4 KB, не само скоростта на селективно четене пада с размер на блока над 128 KB, но и скоростта на последователно четене с размер на блока над 16 KB.

Използването на RAID 1 масив на GIGABYTE SATA2 контролер прави малка разлика (в сравнение с едно устройство) в скоростта на последователно четене, но максималната скорост на последователен запис пада до 75 MB/s. Спомнете си, че за масив RAID 1 скоростта на четене трябва да се увеличи, а скоростта на запис не трябва да намалява в сравнение със скоростта на четене и запис на един диск.

Въз основа на резултатите от теста на контролера GIGABYTE SATA2 може да се направи само едно заключение. Използвайте даден контролерсъздаването на RAID 0 и RAID 1 масиви има смисъл само ако всички други RAID контролери (Marvell 9128, ICH10R) вече са активирани. Въпреки че е доста трудно да си представим такава ситуация.

Контролер Marvell 9128

Контролерът Marvell 9128 показа много по-бърза производителност в сравнение с контролера GIGABYTE SATA2 (Фигура 14-17). Всъщност разликите се появяват дори когато контролерът работи с един диск. Докато контролерът GIGABYTE SATA2 има максимална скорост на последователно четене от 102 MB/s и се постига с размер на блок данни от 128 KB, за контролера Marvell 9128 максималната скорост на последователно четене е 107 MB/s и се постига с блок данни размер 16 KB.

Когато създавате RAID 0 масив с размер на лентата 64 и 32 KB, максималната скорост на последователно четене се увеличава до 211 MB / s, а последователният запис - до 185 MB / s. Тоест при посочените размери на лентите максималната скорост на последователно четене се увеличава с 97%, а максималната скорост на последователен запис - със 73%.

Няма значителна разлика в скоростта между RAID 0 масиви с размер на лента от 32 и 64 KB, но използването на лента от 32 KB е по-предпочитано, тъй като в този случай скоростта на последователните операции с размер на блока по-малък от 128 KB ще бъде малко по-висок.

При създаване на RAID 1 масив на контролера Marvell 9128 максималната скорост на последователна работа е почти непроменена в сравнение с едно устройство. Така че, ако за един диск максималната скорост на последователна работа е 107 MB / s, тогава за RAID 1 е 105 MB / s. Също така имайте предвид, че за RAID 1 скоростта на селективно четене е леко влошена.

Като цяло трябва да се отбележи, че контролерът Marvell 9128 има добри скоростни характеристики и може да се използва както за създаване на RAID масиви, така и за свързване на единични дискове към него.

Контролер ICH10R

RAID контролерът, вграден в ICH10R, се оказа най-производителният, който някога сме тествали (Фигура 18-25). Когато се използва с единичен диск (без създаване на RAID масив), производителността му всъщност е същата като тази на контролера Marvell 9128. Максималната скорост на последователно четене и запис е 107 MB и се постига с размер на блока данни от 16 KB.

Ориз. 18. Последователна скорост
и селективни операции
за устройство Western Digital WD1002FBYS (контролер ICH10R)

Ако говорим за масива RAID 0 на контролера ICH10R, тогава максималната скорост на последователно четене и запис не зависи от размера на лентата и е 212 MB / s. От размера на лентата зависи само размерът на блока данни, при който се постига максималната стойност на скоростта на последователно четене и запис. Както показват резултатите от теста, за RAID 0, базиран на контролера ICH10R, е оптимално да се използва лента от 64 KB. В този случай максималната скорост на последователно четене и запис се постига с размер на блока данни от само 16 KB.

И така, в обобщение, още веднъж подчертаваме, че RAID контролерът, вграден в ICH10R, значително превъзхожда всички други интегрирани RAID контролери по отношение на производителността. И като се има предвид, че той също има повече функционалност, оптимално е да използвате този конкретен контролер и просто да забравите за съществуването на всички останали (освен ако, разбира се, в системата не се използват SATA III устройства).