ZFS

Какво е RAID-Z?

Какво е RAID-Z?
Файловите системи са по-стари от самия UNIX. И откакто започнахме да дигитализираме живота си на касети, дискове и SSD дискове, една заплаха беше очевидна. Това е хардуерна повреда. Данните, съхранявани на дискове, често са по-скъпи от самите дискове и тези данни се нуждаят от цялата излишък, която можем да съберем.

RAID-Z е един от най-добрите инструменти, който ще гарантира, че данните ви живеят възможно най-без грешки дори на най-евтината колекция от дискове. Това е част от OpenZFS. Можете да разберете основите на OpenZFS в тази кратка статия, ако не сте чували за това преди. Това е файлова система с корпоративен клас с отворен код, достъпна за Linux, FreeBSD, Mac OS X, SmartOS, Illumos и други основни операционни системи.

Но първо ... какво е RAID?

RAID означава съкращение от масив от независими (евтини) дискове. Това се отнася до широко отрасловата практика за съхраняване на данни не само на един диск, но на множество дискове, така че дори когато има повреда на диска, данните могат да бъдат възстановени от други дискове. Начинът на разпространение на данните между дисковете е различен за различните видове съкращения, съответно те се наричат ​​RAID 0, RAID 1 и т.н. Тук няма да се занимаваме с тях. Бихме се съсредоточили върху RAIDZ, който е специфичен за OpenZFS.

RAID (а също и RAID-Z) не е същото като записване на копия на данни на резервен диск. Когато имате два или повече диска, настроени в RAID, данните се записват в тях едновременно и всички дискове са активни и онлайн. Това е причината RAID да се различава от архивите и по-важното защо RAID не е заместител на архивите. Ако целият ви сървър изгори, тогава всички онлайн дискове могат да отидат със сървъра, но архивирането ще ви спаси деня. По същия начин, ако има повреда на един диск и нещо не е архивирано, защото не можете да го правите всеки ден, тогава RAID може да ви помогне да извлечете тази информация.

Архивите периодично се правят като копия на съответните данни, а RAID е резервиране в реално време. Има няколко начина, по които данните се съхраняват в традиционните RAID системи, но тук няма да навлизаме в тях. Тук бихме се потопили дълбоко в RAIDZ, което е една от най-страхотните характеристики на OpenZFS.

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

За да се избегне това, винаги трябва да се опитвате да използвате OpenZFS без хардуерен RAID контролер.

RAID-Z1, RAID-Z2, RAID-Z3

ZFS съчетава задачите на диспечера на томовете и файловите системи. Това означава, че можете да посочите възлите на устройствата за вашите дискове, докато създавате нов пул и ZFS ще ги комбинира в един логически пул и след това можете да създадете набори от данни за различни приложения като / home, / usr и др.

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

Трите диска могат да се комбинират във виртуално устройство (vdev). Това е градивният елемент на zpool. Ако започвате само с 3 диска, имате 1 vdev във вашия zpool. Можете да имате 2 vdevs с 6 диска и т.н.

Да предположим, че имате 1 GB файл, който искате да съхраните в този пул. RAID-Z го разделя на две равни парчета от 512MB и след това извършва математическа операция между тях, която генерира трета част от 512MB (наречена паритетен блок). След това трите парчета се записват в три отделни vdev. Така файлът в крайна сметка отнема 1.Общо 5 GB пространство.

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

Вашите файлове използват 50% повече място от необходимото, но можете да издържите повреда на един диск на vdev. Това е RAID-Z1.

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

Вече можете да толерирате отказ на един диск в този нов vdev и един отказ на диск в по-стария. Но ако повече от един диск се провалят в рамките на един vdev, това не може да бъде възстановено. Целият ви басейн става безполезен дори по-здравите vdevs.

Това е наистина прекалено опростен модел. Файловете никога не се разделят точно на половини, но данните се третират като блокове с фиксирана дължина. Освен това можете да използвате повече от 3 диска (но 3 е минимумът) на vdev и RAID-Z1 ще гарантира, че всеки уникален блок от данни е написан така, че да може да се възстанови от повреда на всеки отделен диск в на vdev. За щастие не е нужно да се притеснявате за тези вътрешни подробности. Това е отговорността на ZFS. След като пулът е настроен, данните автоматично се разпространяват в него по най-оптималния начин.

Толерансът към повреди все още е ограничен до един отказ на диск на vdev. За да надминем това, трябва да преминем към RAID-Z2. RAID-Z2 работи по подобен начин, но създава два блока за паритет и два блока от данни от една информация. Това му позволява да издържа до 2 грешки на диска на vdev. Също така vdev трябва да има поне 4 диска, ако ще реализира настройка на RAID-Z2.

По същия начин RAID-Z3 изисква поне 5 диска на vdev и може да издържи повреда на 3 от тях. RAID-Z3 не е толкова ефективен, колкото RAID-Z2, което не е толкова ефективно по отношение на пространството, колкото RAID-Z1.

Заключение

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

Най-добрият начин да се противопоставите е използването на ефективна стратегия RAID-Z, която предлага надеждност, както и най-добрия взрив за парите ви. Уведомете ни, ако сметнете този урок за полезен или имате някакви въпроси по отношение на RAID-Z!

Топ 5 карти за залавяне на игри
Всички сме виждали и обичаме поточни игри в YouTube. PewDiePie, Jakesepticye и Markiplier са само някои от най-добрите геймъри, които са спечелили мил...
Как да разработите игра на Linux
Преди десетилетие не много потребители на Linux биха прогнозирали, че любимата им операционна система един ден ще бъде популярна игрална платформа за ...
Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...