RAID

Архивиране срещу RAID

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

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

Относно RAID

RAID или излишен масив от евтини дискове е механизъм за съхраняване на данни между дисковете. Съществува широк „масив“ от RAID настройки, с които можете да се справите, но двата основни механизма, на които се основават всички, са следните:

1. Огледално:

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

2. Паритет:

Вторият подход е да разделите данните си на две части, като използвате двата блока от потребителски данни, можете да създадете трети блок „паритет“. Всичките три блока са с еднакъв размер и са разпределени между различни устройства. За да работи тази конфигурация, са необходими минимум три устройства. Ако някой от дисковете се провали, можете да пресъздадете блоковете, съхранени в този диск, като използвате другите два блока. Например, ако вторият потребителски блок е загубен, първият блок и блокът на паритета могат да се използват за изчисляване на втория потребителски блок. Ако се интересувате от това как работи, вижте това прекрасно обяснение.

Този метод може да бъде подобрен допълнително, за да има 2 или дори 3 блока за паритет. Но повече от 3 паритетни блока не се виждат в индустрията толкова често. Ако имате един блок за паритет, можете да преживеете една повреда на диска. Блок с два паритета означава, че можете да издържите два диска, които се провалят и т.н.

Той е по-ефективен по отношение на използването на съхранение, отколкото огледално. Ако имате един блок за паритет, имате нужда само от 50% повече физическо съхранение на действителни потребителски данни, които съхранявате. Това означава да съхранявате 1 GB данни, от които ще се нуждаете 1.5 GB място за съхранение (плюс има малко допълнителни разходи за метаданните). Това е по-ефективно от дори най-ефективната огледална схема, при която се нуждаете от поне 2 GB място за съхранение, за да отразявате 1 GB данни между два диска.

Недостатъкът е, че операциите за произволно записване ще бъдат забавени, благодарение на допълнителния бит на изчисление и операция на запис, свързани с паритетния блок. Също така надеждността не е толкова добра, колкото тази на n + 1 огледални дискове, където можете да се подготвите за произволен брой неуспешни дискове.

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

Последният вид RAID, който получава почетно споменаване, е RAID 0. Технически това не е RAID схема, тъй като тук не е налице излишък. Идеята на RAID 0 е просто да разпространявате данните си в множество устройства за съхранение без всякакви устойчивост срещу откази на диска. Предимството е, че получавате подобрения в производителността, като правите това. Ако записвате 1GB данни на един диск, процесът е бавен. Дискът може да извършва само ограничен брой операции за запис в секунда и вашата операционна система трябва да изчака да завърши тази операция, преди да се изпратят нови данни. Ако разпространите едни и същи 1 GB данни на два такива диска, можете да пишете (и четете) от двата едновременно и да спечелите доста подобрение на производителността.

Обратни прозорци

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

Tarsnap и Backblaze са любимите ми услуги за управлявано архивиране както за частни, така и за бизнес случаи. Можете също да включите Google Drive, iCloud или Dropbox в тази дефиниция на архивиране решение, но те са насочени повече към потребителския пазар, отколкото към предприятието. Основният принцип обаче е все същият. Когато влезете в нов iPhone или iPad, всички данни, вашите контакти, снимки, медийна библиотека и т.н. се синхронизират от вашия акаунт в iCloud безпроблемно и докато продължавате да използвате устройството си, по-новите данни се връщат безшумно в облака и вие не не трябва да се притеснявате за това.

Вашето решение за архивиране може да бъде толкова просто, колкото копирането на данни на външен твърд диск или използването на rsync (или zfs send, ако използвате OpenZFS) за периодично генериране на копие на цялата съответна информация. Това може да включва вашата папка "Документи", вашата база данни, вашето хранилище на източника или дори цялата ви коренова файлова система в плосък zip или tarball. Важните критерии, на които трябва да отговаря доброто решение за архивиране, са следните:

  1. Архивирането трябва да се случва често - ако архивирате данни всеки месец, вместо всяка седмица, рискувате да загубите до данни на стойност до месец, когато се случи бедствие.
  2. Архивите ви трябва да се върнат назад във времето - Резервното хранилище е ограничено. Понякога трябва да изхвърлите по-стари архиви. Колкото повече място за съхранение имате, толкова по-добри могат да бъдат архивите ви. Да предположим, че архивирате данните си седмично, но изхвърляйте резервни копия, по-стари от 2 седмици. Ако даден файл случайно бъде изтрит и това остане незабелязано в продължение на две седмици, няма да имате начин да го върнете обратно.
  3. Файловете ви всъщност трябва да бъдат възстановими - Ако никога не сте опитвали да възстановите данните си от архива, нямате резервно копие. Не трябва да се научавате как да възстановявате данни в критичния момент, когато сте претърпели загуба на данни. Планирайте предварително и знайте как да възстановите системата от последното известно добро архивиране.
  4. Архивирането ви трябва да бъде отделено от работещата система - Когато възникне бедствие и всичките ви файлове на производствения сървър бъдат криптирани, изтрити или повредени, трябва да се уверите, че същото не се случва и с архива ви. Един добър начин да се гарантира това е да се уверите, че резервното ви устройство не е „свързано“ с вашата производствена среда, т.е.д, изключете вашия USB твърд диск, демонтирайте вашата файлова система NFS, когато сте готови да архивирате. В крайна сметка, не давайте на привилегията на производствената система да презаписва или модифицира вашите архивни данни. Направете го само за четене.

Сега, когато знаем малко и за RAID, и за архивиране, нека подчертаем някои разлики между тях.

Файлове и блокове

RAID винаги се занимава с блокове данни, а не как файловата система представя тези данни на потребителя. Както софтуерният, така и хардуерният RAID се справят с данните като информационни блокове, размерът на блоковете може да варира от 128 KiB до 1 MiB.

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

Случаи на употреба

Архивите са за всеки. Подходът и степента могат да варират в зависимост от случая за лична употреба до предприятието, но всеки с цифров живот се нуждае от архивиране. RAID е по-скоро специфична за бизнеса / предприятието функция. Виждате RAID масиви в сървъри, устройства за съхранение като NAS и SAN, облачни хипервизори и т.н. Почти всяко място, което съхранява критични данни на живо, използва някаква форма на RAID. Дори сървърите, които изпълняват архивираните от вас облаци, вероятно използват RAID масиви. Това не са взаимно изключващи се технологии.

Това не означава, че не можете да използвате RAID за лична употреба, той просто има повече полезност в предприятията. Част от причината за това е, че в предприятието дисковете се удрят с IO операции 24/7. В производствена среда, като съхранение на база данни или услуга за стрийминг на видео или облачен хипервизор, устройството за съхранение на вашия сървър ще бъде под постоянно зловещо натоварване, данните непрекъснато се четат и записват на тези устройства и често от няколко приложения едновременно. При тези условия е много по-вероятно вашите устройства да се провалят. Наличието на RAID конфигурация означава, че ако устройство не успее, ще претърпите малък или никакъв престой. Повечето сървъри могат да продължат да работят дори след повреда на диска, така че да не губите нова информация и заявки, идващи всяка секунда.

Средният настолен компютър трудно може да пресъздаде същото стресиращо състояние, дори ако дискът умре, ако използвате решение за архивиране като Backblaze, можете да извлечете по-голямата част от изгубените си данни и загубата на работа за няколко часа е може би най-лошото нещо, което може да се случи. Дори това става рядкост благодарение на хоствани в облак решения като Adobe Creative Cloud, Office 365 и т.н.

RAID не е заместител на Backup

Ако има едно отнемане, което искате от тази статия, то трябва да бъде това. RAID НЕ е заместител на Backup. Винаги архивирайте данните си! Има много хора, които смятат, че ако имате RAID, това означава, че данните са безопасни на множество дискове и затова няма нужда да ги архивирате. Нищо не е по-далеч от истината. RAID има за цел да се справи с един конкретен проблем - дисковете се повредят или връщат грешни данни. Наличието на RAID няма да ви предпази от милион други заплахи като следните:

  1. Потребителски грешки и случайни изтривания
  2. Грешки в приложения или ОС, причиняващи широко разпространена повреда на данните
  3. Рансъмуер или друг злонамерен софтуер, криптиращ, изтриващ или повреждащ вашите данни
  4. Неизправност на самите RAID контролери

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

Заключение

Ако се притеснявате за вашите данни, първата ви грижа трябва да бъде решението за архивиране. Повечето потребители на настолни компютри, с изключение на може би потребители, трябва да инвестират повече в надежден архив, вместо да се занимават с RAID1, RAID5 или RAIDZ. Ако искате да създадете свой собствен сървър за архивиране, трябва да помислите за прилична политика за архивиране и надежден бекенд за съхранение. Тази статия може би е добро място за начало. Можете да използвате rsync или zfs send, за да вземете периодично копиране на вашите данни в този бекенд.

Ако сте в предприятието и обмисляте RAID решение за съхранение на всички ваши данни на живо. Помислете за използването на OpenZFS, той предлага много гъвкаво решение, всичко от огледално отразяване на n-диск до RAIDZ1 с един паритетен блок до RAIDZ2 и RAIDZ3 с 2 и 3 паритетни блока. Трябва да обмислите много относно изискванията на вашето приложение, преди да вземете решение. Има компромиси между вашите изпълнения за четене и писане, устойчивост и ефективност на съхранението. Препоръчвам ви обаче да мислите за RAID само след като сте взели решение за решение за архивиране.

Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...
Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...