8 мин

RAID қанша диск ақауына төзеді, оны схема анықтайды

Практикалық есеп: RAID қанша диск ақауына төзеді, диск көлемі мен қайта құру уақыты дерек жоғалту қаупін қалай өзгертеді.

RAID қанша диск ақауына төзеді, оны схема анықтайды

«RAID 6 екі дискінің істен шығуына төзеді» деген сөз дұрыс, бірақ жобалау үшін жеткіліксіз. Бір артықтылық тобындағы бір мезгілдегі ақаулар саны схема мүмкіндігінен аспаса, массив деректерді сақтайды. Бірінші ақаудан кейін қорғаныс төмендеген кезең басталады, ал оның ұзақтығы сипаттамадағы тартымды саннан жиі маңыздырақ болады.

Сондықтан RAID қанша диск ақауына төзеді деген сұрақтың жауабы төрт бөлікке бөлінеді: деректер қалай орналасқан, қай дискілер істен шыққан, қайта құру қанша уақыт алады және массив қалған блоктарды оқи ала ма. Жинақтауыш көлемі рұқсат етілетін ақау санын өзгертпейді. Ол массивтің толық қорғаныс қорынсыз қанша уақыт жұмыс істейтінін өзгертеді. Үлкен дискілер тәжірибелік тәуекелге дәл осы жерде әсер етеді.

Артықтылық топтарын санау керек

Топология белгісіз болса, корпустағы диск саны рұқсат етілетін ақаулар туралы ештеңе айтпайды. Жиырма төрт дискіден бір RAID 6, алты дискіден төрт RAID 6 тобы, он екі айна немесе артықтылығы жоқ жинақ құруға болады. Төрт жағдайда да жауап әртүрлі.

Артықтылық тобы, яғни орналасу деңгейіндегі fault domain, деректер мен оларды қалпына келтіруге қажет ақпарат сақталатын ең кіші жинақтауыштар жиыны. RAID 5 тобында паритеттің бір бөлігі бар. RAID 6 тобында екеу. Кәдімгі RAID 10 ішінде нақты блоктың тобы оның айналық жұбы болады, бірақ контроллер оны бір логикалық том ретінде көрсетеді.

Жиі араластырылатын екі сұрақты бөлек қарау пайдалы:

  • қай дискілердің істен шыққанына қарамастан, схема қанша ақауға міндетті түрде төзеді;
  • ақаулар сәтті орналасса, схема қанша ақауға төзе алады.

Сегіз дискілі RAID 10 кемінде бір ақауға төзеді. Әр айналық жұптан бір ғана жинақтауыш істен шықса, ол төрт ақаудан да аман қалуы мүмкін. Бірақ бір жұптағы екі ақау деректердің бір бөлігінің қолжетімді көшірмесін жояды. Сол себепті «RAID 10 төрт дискіден айырыла алады» деу ақаулардың орналасуы туралы ескертусіз қауіпті.

RAID 50 мен RAID 60 та осы қағидаға бағынады. RAID 50 жолақпен біріктірілген бірнеше RAID 5 тобынан тұрады. Ол әр топтан бір дискіден жоғалта алады, бірақ бір топтағы екі ақау бүкіл томның жоғалуына әкеледі. RAID 60 әрбір еншілес RAID 6 тобында екі ақауға дейін рұқсат етеді. Жалпы сан топ санына тәуелді, ал ақаулар кез келген жерде орналасқанда кепілдендірілген шек бір топтың қорына тең болып қалады.

Алдымен ұя нөмірлері, айналық жұптар, parity-топтар, резервтік дискілер, контроллерлер мен сөрелер көрсетілген нақты орналасу сызбасын жасаңыз. Кезекші инженер бұл сызбаны құжаттан бірнеше минутта қалпына келтіре алмаса, оны қорғанысы төмендеген массивтің үстінде анықтауға тура келеді.

Әр деңгейдің шегі орналасудан көрінеді

RAID деңгейі математикалық шекті белгілейді, бірақ деңгей атауы ақаудың толық жолын сипаттамайды. Төмендегі кесте контроллер жұмыс істеп, метадеректер қолжетімді болып, қалған дискілерде оқу қатесі жоқ кездегі классикалық схемаларға жауап береді.

СхемаЕң аз диск саныМіндетті түрде төзедіШартты түрде төзедіМассив неден жоғалады
RAID 0200Кез келген диск ақауы
Екі дискілі RAID 1211Екі көшірменің де ақауы
N көшірмелі RAID 1NN - 1N - 1Барлық көшірменің ақауы
RAID 5311Қалпына келтіруге дейінгі екінші ақау
RAID 6422Қалпына келтіруге дейінгі үшінші ақау
Жұптардан құралған RAID 1041Әр жұптан бір дискКез келген жұптағы екі дискінің жоғалуы
RAID 5061Әр RAID 5 тобынан бір дискБір еншілес топтағы екі ақау
RAID 6082Әр RAID 6 тобынан екі дискБір еншілес топтағы үш ақау

OpenZFS RAIDZ үшін де осы модельді сипаттайды: RAIDZ1 бір ақауға, RAIDZ2 екі ақауға, RAIDZ3 үш ақауға төзеді. zpoolconcepts(7) нұсқаулығы өлшемі X болатын N диск пен P паритет дискісі бар топтың сыйымдылығын шамамен (N - P) × X деп береді, ал рұқсат етілетін ақау саны P-ге тең. Бұл тұжырым сыйымдылық бағасын артықтылық қорымен тікелей байланыстырады.

Үш құрылғыдан тұратын бір айна үш айналық жұптан өзгеше. Біріншісі бір блоктар жинағының үш көшірмесін сақтап, кез келген екі ақауға төзеді. Екіншісі әртүрлі деректер жолақтарының екі көшірмесін сақтайды және кез келген жерде болатын бір ақауға ғана міндетті түрде төзеді. «Айнадағы алты диск» деген бірдей сөз әртүрлі шекті жасырады.

Басқару экранындағы атау да жаңылыстыруы мүмкін. Аппараттық контроллер RAID 60-ты бір виртуалды диск ретінде көрсете алады, ал таратылған жүйе көшірмелерді түйіндерге, сөрелерге немесе қуат аймақтарына бөледі. Failed күйіндегі жолдарды емес, істен шыққан домендерді санаңыз. Бір SAS-экспандерге қосылған екі диск өздері сау болса да, кабель ақауынан қатар жоғалуы мүмкін.

RAID файлдың жойылуынан, қолданбаның деректерді шифрлауынан, қате қайта жазудан, метадеректері қолжетімсіз болған контроллер зақымынан немесе сөредегі өрттен де қорғамайды. Сақтық көшірме деректерді өткендегі тәуелсіз күйге қайтарады. Артықтылық компонент ақауынан кейін жұмысты жалғастыруға арналған. Екеуін алмастырудың салдары көбіне ең қолайсыз сәтте көрінеді.

RAID 10 жұптар бойынша бұзылады

RAID 10-ды жұмыс істеп тұрған дискілердің жалпы саны бойынша емес, әр көшірменің күйі бойынша бағалау керек. Классикалық айналық жұптар схемасында әр жұпта кемінде бір жұмыс істейтін қатысушы қалса, массив қолжетімді болады.

Сегіз дискіні алайық:

Пара A: disk0 + disk1
Пара B: disk2 + disk3
Пара C: disk4 + disk5
Пара D: disk6 + disk7

disk0, disk2, disk4 және disk6 ақаулары әр жұпта бір көшірмеден қалдырады, сондықтан том төрт ақаудан кейін де жұмысын жалғастырады. disk0 мен disk1 ақаулары екі оқиғадан кейін-ақ A жұбын жояды. Контроллер бұл жұпта сақталған жолақтарды басқа жерден оқи алмайды.

Ақаулардың сәтті орналасу ықтималдығын кепілдікке айналдырмаңыз. Бірінші ақаудан кейін оның айналық серігі ерекше диск болады: одан айырылу деректер үшін қауіпті, ал басқа дисктің ақауы әдетте массивті жұмыс күйінде қалдырады. Төрт жұпты массивте қалған жеті дискінің тәуекелі бірдей болса, келесі болып дәл сол серіктің істен шығу шартты ықтималдығы 1/7 болады. Бұл оқу мысалы ғана. Нақты сервердегі дискілердің жасы, температурасы, микробағдарламасы және қателер тарихы әртүрлі.

Linux MD RAID10 жүйесіндегі near, far және offset орналасулары көшірмелерді әрдайым қарапайым көрші жұптар ретінде орналастырмайды. mdadm(8) нұсқаулығы көшірме саны құрылғы санына қалдықсыз бөлінгенде, әрқайсысы деректердің толық көшірмесін сақтайтын жинақтарды тікелей сипаттайды. Есептеуге дейін нақты layout, көшірме саны және құрылғылар сәйкестігін ашып көріңіз. «Жұптан айырылмау» қағидасы мағынасы бойынша дұрыс, бірақ физикалық жұп көрші ұялардың белгісіне сәйкес келмеуі мүмкін.

Linux MD тексеруге екі нәтиже пайдалы:

mdadm --detail /dev/md0
cat /proc/mdstat

Бірінші нәтижеден Raid Level, Raid Devices, Total Devices, State және қатысушылар кестесін іздеңіз. Екіншісінде қалпына келтіру кезінде операция бағыты, пайыз, жылдамдық және есептік уақыт көрінеді, мысалы:

md0 : active raid10 sda1[0] sdb1[1] sdc1[2] sdd1[3]
      [====>................]  recovery = 23.4% (228514304/976630336) finish=84.2min speed=148127K/sec

Осы минуттық бағалауды жоба құжатына уәде ретінде көшірмеңіз. Жылдамдық қолданба жүктемесіне, HDD бетінің баяу аймақтарына, қайталама оқуларға, контроллер шектеулеріне және фондық тапсырмалар саясатына қарай өзгереді.

Үлкен диск тәуекел терезесін ұзартады

Диск көлемі паритет алгебрасын өзгертпейді: 2 ТБ дискілері бар RAID 5 те, 22 ТБ дискілері бар RAID 5 те бір толық ақауға төзеді. Бірақ екінші массивке артықтылықты қайтару үшін әлдеқайда көп деректі оқып, жазу қажет. Осы уақыт ішінде жаңа ақау схема шегінен асып кетуі мүмкін.

Уақыттың төменгі шегін былай бағалауға болады:

T_rebuild = объем восстанавливаемого диска / устойчивая скорость перестроения

Тұрақты жылдамдығы 150 МБ/с болатын 18 ТБ диск үшін мінсіз баға 120 000 секунд, яғни шамамен 33,3 сағат. 100 МБ/с кезінде 50 сағат шығады. Бұл есеп қолданбалармен бәсекені, қайталама оқуларды, контроллер үзілістерін және диск бетінің кей бөлігіндегі жылдамдық төмендеуін қамтымайды. Жұмыс істеп тұрған жүйеде сол қайта құру бірнеше тәулікке оңай созылады.

Ондық немесе екілік бірліктерді бірізді қолданыңыз. Өндіруші 18 ТБ көлемін әдетте 18 × 10^12 байт деп белгілейді, ал операциялық жүйе шамамен 16,37 ТиБ көрсетуі мүмкін. Бірліктерді келтірмей ТБ санын МиБ/с мәніне бөлсеңіз, жүктемені есептемей тұрып-ақ бағадағы қате он пайызға жуықтайды.

Паритет массивінде сау қатысушылардан оқылатын дерек көлемі бір диск көлемінен әлдеқайда үлкен болуы мүмкін. Жоқ жолақ блогын қалпына келтіру үшін жүйеге қалған дерек пен паритет блоктары керек. Контроллерлер операцияларды әртүрлі оңтайландырады, ал ZFS resilver бос орынды емес, жиі бөлінген деректерді өңдейді. Сондықтан паспорттық сыйымдылыққа негізделген есеп нақты мерзім емес, шекара береді.

Нақты жылдамдықты жүктемесі бар жүйеде өлшеу керек. Жоспарлы сынақ ауыстыруының басталу және аяқталу уақытын, орташа қолданба жүктемесін, толған көлемді және оқу қателерінің санын тіркеңіз. Содан кейін бірнеше сынақтың ең жақсысын емес, сақтықпен алынған перцентилін пайдаланыңыз. Қалпына келтіру сынағы ешқашан өтпесе, модельдегі T_rebuild мәні болжам болып қалады.

Қайта құру басымдығын ойланбай ең жоғары мәнге көтеруге болмайды. Жоғары басымдық қорғанысы төмендеген терезені қысқартады, бірақ дерекқор кідірісін арттырып, қолданба тайм-ауттарын туғызуы мүмкін. Тым төмен басымдық тәуекелдің қосымша сағаттары есебінен өнімділікті сақтайды. Қорғаныс төмендегендегі жұмыс тәртібін алдын ала келісіңіз: қай сервистер шектеледі, қандай кідіріс қолайлы және фондық лимиттерді кім өзгерте алады.

«Rebuild аяқталды» күйі де әрдайым толық қорғанысты білдірмейді. Ауыстырудан кейін жаңа диск дұрыс топқа кіргенін, барлық виртуалды дискілер оңтайлы күйге оралғанын, фондық тексерулер аяқталғанын және резервтік жинақтауыш қайта қолжетімді болғанын тексеріңіз. Жабылған өтінімге қарап бірнеше апта бойы қалпына келді деп саналған, бірақ сол контроллердегі екінші томы әлі қорғанысы төмен күйде қалған массивтерді көрдім.

Екінші ақау ықтималдығын есептеуге болады

Сатып алуға дейінгі ақау қоры
Вендорға тәуелсіз жоба parity-топтарды, резервтік дискілерді және компонент үйлесімділігін ескереді.
Сервер таңдау

Тәуелсіз ақауларды жуық бағалау үшін жылдық ақау жиілігі, қалған диск саны және қайта құру уақыты жеткілікті. Модель нақты серверді болжамайды, бірақ барлық жорамалдарды жазуға мәжбүрлеп, артық тәуліктің бағасын көрсетеді.

AFR бір дискінің бір жылда істен шығу ықтималдығы болсын. Оны сағаттық қарқынға аударамыз:

lambda = -ln(1 - AFR) / 8760

N қатысушысы бар топта бір диск істен шыққаннан кейін N - 1 жұмыс дискісі қалады. Оқиғалар тәуелсіз болғанда, T сағат ішінде кемінде бір қосымша ақау ықтималдығы:

P_second = 1 - exp(-(N - 1) × lambda × T)

Мысал: он екі диск, шартты AFR 2% және 72 сағаттық қайта құру. Сағаттық қарқын шамамен 0,000002306 болады. Сонда:

P_second = 1 - exp(-11 × 0,000002306 × 72)
         ≈ 0,001825
         ≈ 0,1825%

Қайта құру 24 сағат алса, баға шамамен 0,061%-ға түседі. Жеті тәулікке созылса, шамамен 0,425%-ға көтеріледі. Бұл бір қорғанысы төмендеген кезең ішіндегі жаңа толық ақаудың шартты ықтималдығы. Ол деректерді жоғалтудың жылдық тәуекелі де, бүкіл паркке арналған болжам да емес.

RAID 5 үшін мұндай екінші ақау паритет қорынан асады. RAID 6 ішінде бірінші ақаудан кейін тағы бір дискінің ақауына рұқсат бар, ал қалпына келтіруге дейінгі екі қосымша ақау қауіпті. m = (N - 1) × lambda × T десек, қарапайым Пуассон моделіндегі екі немесе одан көп тәуелсіз оқиғаның ықтималдығы:

P_two_or_more = 1 - exp(-m) × (1 + m)

Сол N, AFR және 72 сағат үшін нәтиже шамамен 0,000167% болады. Айырмашылық өте үлкен көрінеді және қос паритет тәуелсіз толық ақаулар тәуекелін шынымен қатты азайтады. Бірақ бұл санды дерек жоғалтудың қорытынды ықтималдығы деуге болмайды: модель оқу қателерін, ортақ себепті ақауларды, оператор қатесін және корпус зақымын қамтымайды.

Мына шағын скрипт есепті қайталап, қолмен енгізгенде пайыздан қателеспеуге көмектеседі:

from math import exp, log

n = 12
afr = 0.02
hours = 72

failure_rate = -log(1 - afr) / 8760
mean = (n - 1) * failure_rate * hours

result = {
    "second_failure_percent": 100 * (1 - exp(-mean)),
    "two_or_more_percent": 100 * (1 - exp(-mean) * (1 + mean)),
}
print(result)

Нәтиже пішімі:

{'second_failure_percent': 0.182509..., 'two_or_more_percent': 0.000166...}

Сенімді статистика жиналса, өз моделіңізге, партияңызға және жағдайыңызға сай AFR мәнін қойыңыз. Паспорттық AFR жорамалдарды салыстыруға жарайды, бірақ микробағдарламасы ортақ және іске қосылған күні бірдей ескіріп жатқан паркті сипаттамайды.

Оқу қатесі диск ақауына тең емес

Қайта құру кезінде түзетілмейтін сектордың кездесуі мен екінші дискінің толық істен шығуы әртүрлі салдарға әкеледі. Әңгімеде екеуін де «екінші диск бұзыла бастады» деп біріктіріп жатады. Соның кесірінен баға орынсыз қорқытады немесе деректердің шектеулі бөлігіне төнген нақты қауіп көрінбей қалады.

Корпоративтік HDD дискілеріне арналған Seagate Exos нұсқаулығында қалпына келмейтін оқу қатесінің жиілігі оқылған 10^15 битке бір сектордан аз деп көрсетілген. Өндіруші мұндай қатенің оқу кезінде анықталатынын, бірақ оқудың өзі оны туғызбайтынын түсіндіреді. «Аз» деген сөз маңызды: бұл сипаттаманың жоғарғы шегі, әр 10^15 битте міндетті түрде бір нашар сектор бар деген тұжырым емес.

Сақтық бағасы үшін u = 10^-15 жиілігін бір битке шаққандағы нақты әрі тәуелсіз мән деп алайық. R бит оқылса, кемінде бір қате ықтималдығы:

P_URE = 1 - (1 - u)^R ≈ 1 - exp(-u × R)

Әрқайсысы 18 ТБ болатын сегіз дискілі RAID 5 толық қалпына келу үшін шамамен жеті толық қатысушыны оқуы мүмкін. Бұл шамамен 1,008 × 10^15 бит. Формулаға қойсақ, 63,5% шамасы шығады. Бұл нәтижені үлкен RAID 5 массивтерінің сөзсіз өлетінінің дәлелі ретінде жиі келтіреді, бірақ мұндай түсіндіру тым тура.

Біріншіден, сипаттама өлшенген тұрақты ықтималдықты емес, шекті береді. Екіншіден, секторлар мен дискілердегі қателер бір-бірінен тәуелсіз болмауы мүмкін. Үшіншіден, жүйе тек толтырылған блоктарды оқуы, операцияны қайталауы, секторды паритет арқылы қалпына келтіруі немесе бүкіл массивті жоғалтпай, шектеулі аралықтың зақымын хабарлауы ықтимал. Нәтиже контроллерге, файлдық жүйеге және нақты жолақта қалған артықтылыққа байланысты.

Есепті елемеу де дұрыс емес. Ол апатқа дейін диск бетін тексерудің неге қажет екенін көрсетеді. OpenZFS scrub пен resilver операцияларын ажыратады: scrub деректерді аралап, жасырын зақымды табады және артықтылық бар кезде нашар көшірмені қайта жазады; resilver құрылғы ауыстырылғаннан немесе қайтарылғаннан кейін ZFS ескірген деп санайтын деректерді өңдейді. Scrub қайта құруды алмастырмайды, қайта құру да жасырын қателерді тұрақты іздеуді алмастырмайды.

Linux MD ішінде сәйкестікті тексеру мен қате есептегіштерін бақылау осындай алдын алу қызметін атқарады, бірақ нақты командалар мен түзету мүмкіндігі конфигурацияға тәуелді. Жоспарлы тексеру келесі қызмет көрсету терезесінен әлдеқайда ерте аяқталып, нәтижесі мониторингке түсуі керек. Жылына бір рет іске қосылып, ескертуін ешкім оқымаған scrub операциялық тәуекелді азайтпайды.

Бір дискінің ақауынан кейін қалпына келу кезінде оқу қатесі шықса, қос паритет тағы бір еркіндік дәрежесін береді. Массивте зақымдалған жолақты қалпына келтіруге қажет ақпарат қалады. Тәуелсіз екінші ақау есебі аз көрінсе де, үлкен HDD дискілерінің кең топтарына RAID 6 немесе RAIDZ2 таңдаудың бір себебі осы.

Ортақ себеп тәуелсіз модельді бұзады

Өлшенген rebuild үшін инфрақұрылым
GSE сервер сыйымдылығы мен жүктемесін деректер орталығыңыздың талаптарымен байланыстырады.
Жобаны талқылау

AFR формуласы әр диск тұрақты қарқынмен және басқа дискілерден тәуелсіз істен шығады деп болжайды. Сөреде бұл тым батыл жорамал: бір партиядан шыққан жинақтауыштар қатар ескіреді, бір температурада жұмыс істейді, бір қуат торабынан қоректенеді және ортақ контроллерге немесе экспандерге қосылады.

Бірінші диск ауыстырылғаннан кейін қалғандарына түсетін жүктеме күрт өседі. Массив бірнеше ай бойы жұмыс жиынына кірмеген аймақтарды оқиды. Жиналған ақауы бар көрші диск оларды дәл rebuild кезінде көрсетеді. Бұл қайта құру сау дискілерді «өлтіреді» дегенді дәлелдемейді, бірақ мәселелердің апат маңында топтасуын түсіндіреді.

RAID деңгейі мүлде есептемейтін ақаулар да бар. Микробағдарлама қатесі бірдей модельдерге әсер етуі мүмкін. Сөренің жоғалуы бірнеше қатысушыны қатар алып кетеді. Техник істен шыққан дискінің орнына сау дискіні суырып алуы мүмкін. Кэші зақымдалған контроллер барлық көшірмеге қате блоктарды жаза алады. Сондықтан домендер бойынша жобалаңыз:

  • жинақтауыш пен оның ұясы;
  • кабель, экспандер және контроллер;
  • қуат көзі мен сөре;
  • сервер немесе түйін;
  • бөлме және әкімшілік қолжетімділік.

Бір сөредегі бөлек дискілерге екі көшірме орналастыру диск ақауынан қорғайды, бірақ сөре жоғалса көмектеспейді. Екі көшірмесі бөлек түйінде тұрған таратылған жүйе де екі түйін бір ажыратылатын қуат контурынан қоректенсе осал қалады. Схема басқару интерфейсіндегі ең ыңғайлы суретке емес, ұйым төзуге міндетті ақауға сай болуы керек.

Өз статистикаңыз болмаса, өзара байланысты тәуекелді бір пайызға сыйғызу қиын. Жалған дәлдіктің орнына сценарийлік талдау жасаңыз. Екі көрші ұя, бір сөре, контроллер немесе түйін жоғалғанда және rebuild кезінде техник қате дискіні суырып алғанда не болатынын жазыңыз. Әр сценарий үшін қолжетімділікті, қалпына келу мүмкіндігін және тәуелсіз көшірме көзін белгілеңіз.

Партиялар мен жеткізу күндерін араластыру кейде бір серия ақауының ортақ тәуекелін азайтады, бірақ қосалқы бөлшектерді, микробағдарламаларды және үйлесімділікті тексеруді қиындатады. Бұл әмбебап қағида емес. Қуат пен қосылым домендерін бөлу, температураны бақылау, микробағдарламаны сынау және тексерілетін сақтық көшірме сақтау сенімдірек.

Ыстық резерв кідірісті жояды, қайта құруды емес

Hot spare ақау анықталғаннан қалпына келтіру басталғанға дейінгі уақытты қысқартады, бірақ оқылып, жазылатын дерек көлемін азайтпайды. Резервтік диск алдын ала орнатылса, контроллер инженердің келуін немесе жеткізуді күтпей rebuild бастай алады. Бұл түнде және шалғай алаңда өте маңызды.

Резерв нақты топқа бөлінген немесе бірнеше массивке ортақ болуы мүмкін. Ортақ spare екі топқа бір мезгілде керек болғанға дейін ұяны үнемдейді. Бөлінген spare модельде оңай есептеледі, бірақ бос тұрады және сол корпуста бірге ескіреді. Екі жағдайда да сыйымдылық, сектор пішімі, интерфейс және контроллер саясаты бойынша үйлесімділікті тексеріңіз.

Hot spare тағы бір паритет қоспайды. Spare бар RAID 5 қайта құру аяқталғанға дейін бір паритетті схема болып қалады. Екінші қатысушы біріншіден он минут кейін істен шықса, аз ғана жолақ бөлігі қалпына келтірілген жаңа диск массивті RAID 6-ға айналдырмайды.

Кейбір жүйелер таратылған бос орынды пайдаланып, деректерді көптеген құрылғыда қатар қалпына келтіреді. Мысалы, OpenZFS dRAID жылдамырақ resilver үшін біріктірілген таратылған резервтерді сипаттайды. Бағалау қағидасы өзгермейді: «spare activated» хабары шыққанға дейінгі уақытты емес, толық артықтылықтың нақты қайту уақытын өлшеп, сол терезедегі тәуекелді есептеңіз.

Автоматты іске қосу да бақылауды қажет етеді. Ескерту қай диск жоғалғанын, қай spare таңдалғанын, қалпына келтіру басталғанын, жылдамдықты және басқа қатысушыларда қате өсіп жатқанын хабарлауы керек. Операция тоқтаса немесе аяқталса, бөлек ескерту қажет. Әйтпесе автоматтандыру бір ақауды резерві таусылған күйге үнсіз ауыстыруы мүмкін.

Қоймадағы суық резерв басқа мәселені шешеді. Диск моделін жылдам сатып алу қиын болса, ол пайдалы, бірақ қоймадан сөреге жеткізу уақыты қорғаныс төмендеген терезеге кіреді. Жауапты адамды, бөлмеге кіру тәртібін, үйлесімді диск белгілерін және ауыстыру рәсімін жазып қойыңыз. Тексерілген бағыты жоқ «резерв бар» деген сөз rebuild уақытына жиі бір жұмыс күнін қосады.

Басқа схемаға апатқа дейін өту керек

Вендорға байланбаған RAID схемасы
GSE компоненттерді артықтылық, сыйымдылық және қалпына келу талаптарына сай таңдайды.
Шешім таңдау

Есептелген қалпына келу терезесі рұқсат етілген уақыттан ұзарып, екінші ақау салдарын қабылдауға болмайтын кезде бір паритет жеткіліксіз. Терабайтпен өлшенетін әмбебап шек жоқ. Шешім топ еніне, толған көлемге, өлшенген жылдамдыққа, ақау жиілігіне, ортақ себеп домендеріне және сақтық көшірмеден қалпына келу уақытына тәуелді.

Схеманы қайта қараудың тәжірибелік белгілері:

  • rebuild үнемі бірнеше тәулікке созылады немесе келісілген терезеден шығады;
  • қорғаныс төмендеген күйдегі бір оқу қатесі маңызды деректі зақымдауы мүмкін;
  • жүктемеге қажет болмаса да, топ сыйымдылық үшін кеңейе береді;
  • сақтық көшірме рұқсат етілген тоқтау уақытынан ұзақ қалпына келеді;
  • массив дискіні жылдам ауыстыру мүмкін емес шалғай алаңда орналасқан.

Кең HDD топтары үшін бір алып RAID 5 орнына қос паритет, кішірек RAID 6 топтары немесе айналар жиі орындырақ. RAID 6 айналарға қарағанда сыйымдылықты үнемді пайдаланады, бірақ жазуы мен қалпына келуі ауырлау. RAID 10 көшірмені жылдам қалпына келтіріп, кездейсоқ жазуда жақсы жұмыс істейді, алайда шикі сыйымдылықтың жартысын береді және бірнеше ақауға шартты түрде ғана төзеді.

Жиырма төрт дискіден құралған бір RAID 6-ны бірнеше кіші топқа бөлу бір паритет доменіне қатысатын диск санын азайтып, rebuild ауқымын шектейді. Оның бағасы қосымша паритет, басқа өнімділік және сыйымдылықты күрделірек бөлу болады. RAID 60 осы ымыраны ресімдейді, бірақ оның еншілес топтарын бәрібір құжаттау керек.

Үштік паритет «сенімдірек болсын» деген жалпылама тілек үшін емес, өте кең топтарда, ұзақ қалпына келуде немесе бір домендегі екіден көп ақауға төзу талабында қажет. OpenZFS RAIDZ3 осындай қор береді. Кейде RAID деңгейлерінен түйіндер мен сөрелерді ескеретін таратылған кодтауға ауысқан дұрыс, бірақ онда дискілерді емес, фрагмент қолжетімділігін, кворумды және желі қалпына келу уақытын есептеу керек.

Көшіруді бір ауыстырып-қосқыш сияқты жоспарлауға болмайды. Көптеген контроллер деңгейді орнында өзгерте алады, бірақ операция барлық дискіні ұзақ жүктеп, өз тәуекел кезеңін жасайды. Тексерілген көшірме дайындаңыз, үйлесімділікті салыстырыңыз, түрлендіру уақытын бағалаңыз және тоқтату нүктесін алдын ала белгілеңіз. Маңызды массив үшін жаңа топ құрып, оны тексеріп, кері қайту мүмкіндігімен деректерді көшіргенді жөн көремін.

S200 Series серверлері мен GSE деректер орталығы инфрақұрылымын таңдағанда, сақтау схемасын сыйымдылықпен, жүктемемен, сервис үлгісімен және жергілікті жеткізу талаптарымен байланыстыруға болады, әрі есеп бір компонент өндірушісіне байланбайды. Бірақ рұқсат етілетін дерек жоғалту жауапкершілігі жүйе иесінде қалады: еш жерде жазылмаған RPO мен RTO мәндерін интегратор болжай алмайды.

Жобаны RAID жапсырмасы емес, қалпына келу тексереді

Дайын жоба санмен және рәсіммен жауап беруі керек: ол қандай бір мезгілдегі ақауларға төзеді, қанша сағат қорғанысы төмен күйде қалады және шектен асқанда деректер қайдан қайтарылады. Жауап RAID 6 деген жазумен аяқталса, жұмыс бітпеген.

Ең аз есепті схема жанында сақтау ыңғайлы:

Группа: 12 × 18 ТБ HDD
Схема: RAID 6, 10 data + 2 parity
Допустимо: любые 2 отказа в группе
Занято: 72%
Измеренный rebuild: 61 ч при типичной нагрузке
Принятый AFR для модели: 2% на диск в год
P еще одного отказа после первого: 0,155%
P двух и более после первого: 0,000120%
Scrub: ежемесячно, результат уходит в мониторинг
Spare: 1 global, автоматический запуск проверен
Резервная копия: отдельная система, тест восстановления ежеквартально

Мұндағы ықтималдық сандары сол тәуелсіз модельге сүйенеді және ортақ себепті қамтымайды. Олардың мақсаты қауіпсіздікті дәлелдеу емес, 24, 61 және 120 сағаттық нұсқаларды салыстыру. Қасында сөре, контроллер және техник қатесі бойынша сценарийлік талдау жатуы керек.

Қабылдау кезінде сынақ жүктемесінде ақау жасаңыз: қатысушыны штаттық командамен шығарыңыз, ескерту кезекшіге жеткенін, spare қосылғанын, қолданбалар рұқсат етілген кідірісте қалғанын және аяқталу болжамы шектен шықпағанын тексеріңіз. Rebuild біткеннен кейін тұтастықты тексеріп, таңдалған файлдар жиынын сақтық көшірмеден қалпына келтіріңіз. Бұл сынақ ұялардың қате сәйкестігін, жұмыс істемейтін ескертулерді және тым баяу қалпына келуді нағыз апаттан бұрын табады.

Сыйымдылық өскеннен, диск моделі ауысқаннан, микробағдарлама жаңарғаннан, фондық операция лимиттері өзгергеннен немесе жүктеме айтарлықтай артқаннан кейін өлшеуді қайталаңыз. Жұмыс профилі өзгерсе, ескі rebuild уақытын бір пропорциямен масштабтауға болмайды.

Физикалық дискіні анықтау рәсімін бөлек тексеріңіз. Консольдегі сериялық нөмір, корпустағы ұя нөмірі және жарық индикаторы бір жинақтауышты көрсетуі керек. Locate LED командасын сериялық нөмірді салыстырғаннан кейін ғана қосыңыз. Күмән болса, ауыстыруды тоқтатып, қосылымды құжат бойынша тексеріңіз: қорғанысы төмендеген айнадан сау серікті суырып алу томды жоғалтудың ең қысқа жолдарының бірі болып қалады.

Мониторинг ақау белгісі мен болған ақауды ажыратуы керек. Қайта тағайындалған секторлар санының өсуі, интерфейс қателері, тайм-ауттар және оқу кідірісінің артуы тексеруді талап етеді, бірақ бір SMART атрибуты толық кепілдік бермейді. Күдікті дискіні толық істен шыққанға дейін ауыстыру ескі көшірме әлі оқылған кезде басқарылатын copyback немесе replace операциясы арқылы өтуі мүмкін. Платформа осы тәртіпті қолдап, диск деректерді оқи алса, бұл апаттық қайта құрудан қауіпсіз.

Кезекші сервисті шектеуге немесе жазуды тоқтатуға міндетті сәтті жазып қойыңыз. Архив қорғанысы төмендеген күйдегі баяу жұмысқа төзе алады, ал транзакциялық дерекқор дискілер үшін қатты бәсекелесіп, rebuild жұмысын тоқтауға жақындатады. Жүктемені шектеу шешімі екі шекке сүйенуі керек: қолданба кідірісі мен қалпына келудің аяқталу болжамы. Бір ғана көрсеткіш инженерді не тоқтауға, не негізсіз ұзақ тәуекелге итермелейді.

Соңында RAID шегінен тыс жолды тексеріңіз. Бірнеше файлды, виртуалды машина суретін және келісілген дерекқор бөлігін таңдап, оларды бөлек алаңға қалпына келтіріңіз де, қолданба тексергенге дейінгі уақытты өлшеңіз. Сақтық көшірме каталогының сәтті оқылуы қалпына келу мүмкіндігін әлі дәлелдемейді. Нәтиже RTO шегіне сыймаса, массивті күшейту мәселенің анықталуын кейінге шегереді.

RAID 5, RAID 6, RAID 10 немесе басқа схеманы ақаулардың ең нашар рұқсат етілетін орналасуы мен өлшенген қалпына келу терезесі бойынша таңдаңыз. Үлкен диск массивті өздігінен сенімсіз етпейді. Ол жүйені келесі ақаудың бағасы жоғары күйде ұзағырақ ұстайды. Екінші қызыл индикатор жанғанға дейін сол бағаны есептеңіз.

FAQ

RAID 5 ішінде қанша диск істен шыға алады?

RAID 5 өз тобындағы бір дискінің ақауына төзеді. Қайта құру аяқталғанға дейінгі екінші толық ақау паритет қорынан асып, әдетте массивтің жоғалуына әкеледі.

RAID 6 ішінде қанша диск істен шыға алады?

RAID 6 бір топтағы кез келген екі ақауға төзеді. Бірінші ақаудан кейін массив тағы бір ақаудан қорғалады, бірақ толық артықтылық қайтқанға дейінгі үшінші ақау қауіпті.

RAID 10 екі диск ақауына төзе ала ма?

Иә, егер дискілер әртүрлі айналық жұпта болып, әр жұпта дерек көшірмесі қалса. Бір жұптағы екі ақау жолақтардың бір бөлігін жойып, бүкіл логикалық томды істен шығарады.

Үлкен HDD дискілері RAID қайта құру тәуекелін неге арттырады?

Олар рұқсат етілетін ақау санын өзгертпейді, бірақ оқу мен жазу көлемін арттырады. Қайта құру ұзаққа созылып, массив артықтылық қоры төмен күйде көбірек уақыт өткізеді.

Екінші диск ақауының ықтималдығын қалай есептеуге болады?

AFR мәнін `-ln(1 - AFR) / 8760` формуласы арқылы сағаттық қарқынға аударыңыз. N дискілі топ пен T сағат үшін `1 - exp(-(N - 1) × lambda × T)` формуласын қолданып, тәуелсіз ақаулар жорамалын анық жазыңыз.

URE қатесі бүкіл RAID жоғалды дегенді білдіре ме?

Әрдайым емес. Салдар қалған артықтылыққа, нашар сектор орнына, контроллер мен файлдық жүйе жұмысына тәуелді: блок, файл немесе массив жоғалуы мүмкін, ал кейде дерек қалпына келеді.

Hot spare массивтің қайта құрылуын жылдамдата ма?

Ол әдетте операция басталғанға дейінгі кідірісті қысқартады, себебі диск орнатылғанын күтудің қажеті жоқ. Қалпына келетін көлем азаймайды, сондықтан rebuild жылдамдығын дискілер, контроллер, схема және жүктеме анықтайды.

RAID жүйесін сақтық көшірме деуге бола ма?

Жоқ. RAID кей аппараттық ақаулар кезінде қолжетімділікті сақтайды, бірақ жоюды, шифрлауды және қате жазуды барлық көшірмеге қайталайды; сақтық көшірме қайта оралуға болатын тәуелсіз күйді сақтайды.

RAID scrub немесе тексеруін қаншалықты жиі іске қосу керек?

Аралық сыйымдылыққа, жүктемеге және талаптарға тәуелді, бірақ тексеру аяқталып, нәтижесі мониторингке түсуі керек. Көп HDD массиві үшін ай сайынғы тексеруден бастап, оны өлшенген уақыт пен платформа нұсқауына сай реттеуге болады.

RAID 5 схемасын RAID 6-ға қашан ауыстыру керек?

Rebuild рұқсат етілген терезеден ұзақ болса, екінші ақауды қабылдауға болмаса немесе қорғаныс төмен күйдегі оқу қатесі тым көп зиян келтірсе, ауысу орынды. Шешімді нақты жылдамдыққа, топ еніне және көшірмеден тексерілген қалпына келу уақытына сүйеніп қабылдаңыз.