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

Дерекқорға арналған RAID деңгейін тек қанша ақауға төтеп беретініне қарап таңдауға болмайды. RAID 6 топтағы кез келген екі дискінің істен шығуына төтеп береді, ал RAID 10 бірнеше ақаудан кейін әр айна жұбында кемінде бір жарамды диск қалған жағдайда ғана деректерді сақтайды. Есесіне айна әдетте жылдамырақ жазады, кездейсоқ жүктемеде қарапайым әрекет етеді және жоғалған көшірмені қос паритетті есептемей қалпына келтіреді.
Қайта құру уақыты тәуекелді өзгертеді, бірақ шешімді жалғыз өзі анықтамайды. Жұмыс істеп тұрған дерекқор үшін өзара байланысты төрт көрсеткіш маңызды: қалыпты режимдегі расталған жазу кідірісі, деградацияланған режимдегі кідіріс, тәуекел артқан кезеңнің ұзақтығы және тағы бір ақаудың салдары. Пайдалы сыйымдылығы әртүрлі массивтерді салыстырсаңыз немесе тек тізбекті жылдамдықты өлшесеңіз, қорытынды әдемі көрінгенімен, іс жүзінде пайдасыз болады.
Қайта құру уақыты жеңімпазды емес, тәуекел кезеңін анықтайды
Қайта құру маңызды, өйткені осы уақыт бойы массивтің ақауға төзімділік қоры азаяды және дискілер пайдаланушының енгізу-шығару операцияларымен ортақ жұмыс істейді. Қысқа rebuild RAID 10 жүйесін RAID 6-дан автоматты түрде қауіпсіз етпейді, ал қос паритет ұзақ rebuild уақытын қолайлы қылмайды. Осы кезеңде қай ақау массивті бұзатынын және дерекқор қандай кідіріс көретінін бөлек сұрау керек.
RAID 10 жүйесінде контроллер жұптың сақталған көшірмесін оқу арқылы жаңа дискіні қалпына келтіреді. Оқылатын көлем контроллердің іске асырылуы мен массив пішіміне қарай бір дискінің толтырылған немесе толық сыйымдылығына жуық болады. Осы жұптағы деректерді қалпына келтіруге басқа жұптар қажет емес, бірақ арна, кеш және шина бәріне ортақ болып қалады. Сондықтан айна жиі тезірек қалпына келіп, басқа дискілерге азырақ жүк түсіреді.
RAID 6 жүйесінде контроллер қалған дискілердегі жолақтарды оқып, P және Q мәндерін тексеруі немесе есептеуі, содан кейін қалпына келтірілген блоктарды жазуы керек. Қазіргі контроллер мұны параллель орындайды, сондықтан диск көлемін қатысушылар санына жай ғана көбейтуге болмайды. Дегенмен операция бүкіл топқа тиеді, дерекқормен кезек үшін таласады және зақымдалған блок оқылғанда қалған артықтықты пайдаланады.
IBM компаниясының RAID 6 сипаттамасында бұл анық жазылған: бірінші ақаудан кейін массивтің қорғанысы жарамды RAID 5 деңгейіне ұқсайды, ал үшінші ақау оны қолжетімсіз етеді. Бұл тұжырым «екі дискіге төтеп береді» деген жарнамалық сөзден пайдалырақ, өйткені күйдің қалай өзгеретінін көрсетеді. IBM RAID 10 шартын басқаша сипаттайды: әр айна жұбында бір диск тірі тұрғанда қолжетімділік сақталады, бір жұптың екі дискісін де жоғалту массивті тоқтатады.
Сервисті қалпына келтіру уақыты мен массивті қайта құру уақытын да араластырмаңыз. Дерекқор rebuild кезінде сұрауларды орындай беруі мүмкін, бірақ рұқсат етілген кідірістен асып кетеді. Керісінше, массив тез жарамды күйге келсе де, кенет өшкеннен кейін дерекқор транзакциялар журналын ұзақ қайталауы мүмкін. Шешім үшін сервистің RTO мәні, рұқсат етілген p95 немесе p99 кідірісі және rebuild ұзақтығы қажет.
Ұсақ кездейсоқ жазбалар RAID 6-ға қосымша жұмыс қалдырады
Синхронды жазбалары жиі дерекқор үшін RAID 10 әдетте болжамдырақ кідіріс береді. Өзгерген әр блок айнаның екі көшірмесіне де жазылады. RAID 6 толық емес жолаққа жазғанда деректер мен екі паритет блогының келісімділігін сақтауы керек, бұл ескі деректер мен паритетті оқуды немесе контроллер кешіндегі соған тең жұмысты талап етеді.
Оқу материалдарындағы қарапайым ереже RAID 10 жүйесіндегі шағын жазуға екі физикалық жазу операциясын есептейді. RAID 6 үшін классикалық read-modify-write айналымы алты операциядан тұрады: ескі деректер мен екі паритет мәнін оқу, одан кейін жаңа деректер мен екі жаңа паритет мәнін жазу. Бұл сандарды өнімділік уәдесіне айналдырмаңыз. Қорғалған write-back кеші бар контроллер сұрауларды толық жолақтарға біріктіреді, SSD операцияларды қатар орындайды, ал дерекқор транзакция растауларын өзі топтайды.
Айырмашылық кеш физикалық жұмысты жасыра алмай қалғанда көрінеді: WAL немесе redo журналының үздіксіз ағыны, checkpoint, индексті жаппай жаңарту, контроллер кешінің толуы, батарея не конденсатор ақауынан write-back режимінің өшуі. Орташа өткізу қабілеті жақсы көрінген кезде кідірістің шеткі мәні SLA талабын бұзып үлгеруі мүмкін. Сондықтан секундына орындалатын транзакциялармен бірге растау кідірісінің p95 және p99 мәндерін, кезек тереңдігін және кеш күйін салыстыру керек.
Толық жолаққа жазу паритет шығынын азайтады. Жүйе бір жолақтағы барлық дерек блогын жинаса, ескі деректерді оқу қажет емес: контроллер P және Q мәндерін жаңа мазмұннан есептейді. Бұл ірі тізбекті жүктеуге, резервтік көшіруге және кейбір checkpoint жүктемелеріне көмектеседі. Кәдімгі OLTP ағыны әртүрлі беттерге бағытталған шағын сұраулардан тұрады және олар өздігінен мінсіз жолақтарға сирек жиналады.
Үлкен кеш жазудың сенімді расталу талабын жоймайды. Контроллер деректер тұрақты сақталмай тұрып дерекқорға fsync сәтті орындалғанын хабарласа, ал батарея, конденсатор немесе қуаттан қорғайтын басқа тексерілген құрал болмаса, жылдам тест жоғалған транзакциялар тәуекелін өлшейді. Бүкіл жолды тексеріңіз: дерекқор баптауы, файлдық жүйе, драйвер, контроллер және жинақтауыш. Flush немесе force unit access пәрменін елемейтін бір бөлік қалғандарының кепілдігін бұзады.
Оқу бірқалыптырақ көрінеді. Екі деңгей де тізбекті және кездейсоқ оқуды бірнеше дискіге таратады, ал RAID 10 азырақ жүктелген айнаны таңдай алады. Барлық дискілер орнында тұрғанда RAID 6 жарамды деректерді паритет есептемей оқиды. Сондықтан RAID 10 артықшылығы тек оқудан гөрі жазу мен аралас OLTP жүктемесінде айқынырақ болады.
Деградацияланған режимді бөлек жүктеме профилі деп есептеңіз
Диск істен шыққаннан кейін том атауы өзгермесе де, дерекқор басқа сақтау жүйесімен жұмыс істейді. RAID 10 жүйесінде жоғалған дискіге тиесілі деректер оның айнасынан оқылады, ал сол айна қалыпты сұраулар мен rebuild ағынын қатар өңдейді. RAID 6 жүйесінде жоқ блокты оқу қалған дискілердегі дерек пен паритеттен қалпына келтіруді талап етеді. Бұл ішкі операцияларды көбейтіп, кезектерді ұзартады.
Ең жағымсыз қате тек жарамды массивті сынағанда туындайды. Команда қалыпты күні қолайлы 5 мс көрсеткішін көреді, rebuild басымдығын жоғары қояды да, ақаудан кейін кідірістің шетінде ондаған немесе жүздеген миллисекунд алады. Басымдықтың тым төмен болуы кері мәселе туғызады: пайдаланушылар апатты байқамағанмен, тәуекел кезеңі бірнеше тәулік ашық тұрады. Қалпына келтіру жылдамдығы әрдайым қазіргі өнімділікті кейінгі тәуекелге айырбастайды.
IBM distributed RAID сынақтарын жариялады, онда rebuild басталғанда оқу кідірісі өскен, ал қосымша ақаулардан кейін қалпына келтіруді жеделдету жазу кідірісін күрт көтерген. Бұл графиктерді басқа контроллерге дайын болжам ретінде қолдануға болмайды. Олар өз жүйеңізде тексерілуі тиіс қағиданы растайды: rebuild жоспарлау алгоритмі жүктеме әрекетін өзгертеді, ал дискінің орташа жылдамдығы нәтижені толық сипаттамайды.
Дерекқорға апат кезіндегі жеке бюджет керек. Мысалы, қалыпты транзакция растауының p99 мәні 20 мс болуы мүмкін, ал ақаудан кейінгі қызмет көрсету кезінде бизнес 60 мс-ке рұқсат береді. Сынақ массивтің 60 мс шегіне де, белгіленген жөндеу уақытына да сыйып қалпына келе алатынын көрсетуі керек. Мұндай сандар болмаса, RAID 6 пен RAID 10 арасындағы дау талғамға айналады.
Ақау кезіндегі жүктеме де өзгеруі мүмкін. Реплика журналдан қалып қойғанын толтыра бастайды, резервтік көшірме тізбекті оқуды жалғастырады, мониторинг кеңейтілген тексеру қосады, ал оператор бақылау сомаларын тексеруді шешеді. Әр әрекет жеке алғанда орынды, бірақ бәрі бірге rebuild ресурсын алады. Регламентте қандай фондық тапсырмалар тоқтайтыны және қалпына келтіру басымдығын кім өзгерте алатыны алдын ала жазылуы керек.
Жалғыз жұмыс данасынан кездейсоқ дискіні суырып, ақауды сынамаңыз. Контроллері, микробағдарламасы, диск түрі, топ ені және кеш баптаулары бірдей стенд қолданыңыз. Ақауға дейінгі, деградация кезіндегі және қалыпты күйге оралу барысындағы өнімділік жазбасы RAID деңгейлері көрсетілген кестеден әлдеқайда көп ақпарат береді.
RAID 10 жүйесіндегі екінші ақау оның орнына тәуелді
«RAID 10 екі ақауға төтеп береді» деген сөз толық емес. Төрт дискілі массивте зақымдалған жұптың қалған дискісі екінші болып істен шықса, массив жойылады, ал басқа жұптағы дискінің ақауы оны қолжетімді күйде қалдырады. Кеңірек топта бірде-бір жұп толық жоғалмаса, бірнеше диск қатар істен шыға алады.
RAID 6 үшін екінші ақаудың орны маңызды емес: істен шыққан кез келген екі дискке рұқсат етіледі. Екі ақаудан кейін қор қалмайды, келесі оқу қатесі немесе үшінші ақау деректерді қолжетімсіз етуі мүмкін. Бұл айқындық дискілер ортақ себет, кабель немесе өндіріс партиясын пайдаланғанда және ақаулардың тәуелсіздігі күмәнді болғанда әсіресе пайдалы.
Ықтималдықты техникалық төлқұжаттағы бір AFR санынан адал есептеу мүмкін емес. Ақауларға бірдей жас, температура, діріл, микробағдарлама нұсқасы, ортақ сөре, кабель, expander және оператор әрекеті қатар әсер етеді. Бір дискіні ауыстыру кейде оның қатарластарын бірнеше айдағы ең қарқынды оқуға мәжбүрлейді. Бірдей және тәуелсіз дискілер моделі салыстыруға ыңғайлы, бірақ ортақ себептерді төмен бағалайды.
Айна жұптарын орналастыру RAID 10 нәтижесін өзгертеді. Жұптың екі дискісі бір кабель, порт немесе сөре артында тұрса, сол бөліктің ақауы екі көшірмені бірден алып кетеді. IBM RAID 10 құжаттамасы осы себеппен контроллердің жұп дискілерін әртүрлі қосылымдарға орналастыруға тырысатынын жазады. Жобалау кезінде алдыңғы панельдегі жапсырма ретіне сенбей, слоттардың жұптарға нақты сәйкестігін тіркеңіз.
Hot spare rebuild басталғанға дейінгі үзілісті қысқартады, бірақ қалпына келтіру біткенше деректердің тәуелсіз көшірмесін қоспайды. Ғаламдық қосалқы диск басқа массивпен бос болмауы, көлемі немесе түрі сәйкес келмеуі, не контроллер саясаты бойынша қолмен растауды күтуі мүмкін. Rebuild автоматты түрде басталатынын тексеру қабылдау сынағына кіруі тиіс.
Қалпына келмейтін оқу қатесі, яғни URE, дискінің толық істен шығуымен бірдей емес. Бір ақаудан кейін RAID 6 жүйесінде екінші паритет қалады және ол басқа дискідегі бір нашар блокты қалпына келтіре алады. Айнада жарамды көшірме болса, RAID 10 нашар блокты түзетеді; қажетті блоктың жалғыз қалған көшірмесіндегі мәселе қауіпті. Төлқұжаттағы URE мәніне құрылған қарапайым формула фондық тексеруді, контроллердің секторды түзетуін және нақты оқылған көлемді есептемейді, сондықтан жалғыз дәлел бола алмайды.
Қалпына келтіру кезеңін болжаудың орнына өлшеңіз
Төменгі шекті есептеу оңай: ауыстырылған дискіге жазылатын көлемді rebuild жұмысының тұрақты жылдамдығына бөліңіз. 12 ТБ диск және нақты 120 МБ/с жылдамдық үшін ондық бірліктердегі мінсіз төменгі шек шамамен 27,8 сағат болады. Жүктеме кезінде контроллер 45 МБ/с берсе, шек шамамен 74 сағатқа дейін өседі. Бұл болжам емес, арифметика: үзілістер, оқу қателері, ішкі көшіру және басымдық өзгерісі мерзімді ұзартады.
Linux MD жүйесінде ағымдағы күй мен нақты жылдамдықты жорамалсыз алуға болады:
cat /sys/block/md0/md/sync_action
cat /sys/block/md0/md/sync_completed
cat /sys/block/md0/md/sync_speed
cat /proc/mdstat
Linux ядросының құжаттамасы sync_completed мәнін аяқталған секторлар үлесі, ал sync_speed мәнін соңғы 30 секундтағы КБ/с өлшемімен алынған орташа жылдамдық деп анықтайды. sync_speed_min және sync_speed_max мәндері нақты массивтің шектерін орнатады. Бұл өлшеуге ыңғайлы интерфейс, бірақ әмбебап басқару тетігі емес: аппараттық RAID өз пәрмендері мен жоспарлау саясатын қолданады.
Өлшеуді толтырылған массивте және қайталанатын дерекқор жүктемесімен өткізіңіз. Бос том, тізбекті дерек генераторы және өшірілген checkpoint тым жақсы нәтиже береді. Кемінде қалған көлемді, ағымдағы жылдамдықты, транзакция кідірісінің p95 және p99 мәндерін, хост IOPS көрсеткішін, әр диск кезегін, тасымалдаушы қателерін және температураны жазыңыз. Бір минуттық аралық контроллердің қарқынын қалай өзгертетінін көрсетіп, телеметрияны шамадан тыс өсірмейді.
Есепке күрделі модель қажет емес. C қалпына келетін байт санын, Rbusy жұмыс жүктемесіндегі rebuild жылдамдығының оныншы процентилін, ал Tdetect hot spare автоматты түрде қосылмаған кездегі анықтау мен физикалық ауыстыру уақытын білдірсін. Жоспарлы кезең Tdetect + C / Rbusy болады, одан кейін массивті тексеру уақытын қосыңыз. Оныншы процентиль орташа мәннен пайдалырақ, өйткені баяу кезеңдерді ескереді.
Екі режимді тексеріңіз. Біріншісі дерекқордың апаттық SLA талабын сақтап, rebuild жұмысының ең ұзақ уақытын көрсетеді. Екіншісі rebuild жұмысын белгіленген мерзімде аяқтап, дерекқордың ең нашар кідірісін көрсетеді. Екі режим де екі шектен өте алмаса, RAID деңгейін ауыстыру көмектесуі мүмкін, бірақ диск қосу, кең топты бөлу, журналды бөлек қорғалған томға шығару немесе бөлінген spare space қолдану дұрысырақ болуы ықтимал.
Сынақтан кейін скриншот емес, метрикалардың бастапқы қатарын және конфигурацияны сақтаңыз: контроллер моделі, микробағдарлама нұсқасы, жолақ өлшемі, кеш саясаты, диск саны, толу деңгейі және жүктеме генераторы. Әйтпесе алты айдан соң жаңа массивтің неге ескісінен екі есе баяу қалпына келетінін ешкім түсінбейді.
Үлкен диск оқу көлемін арттырады, SSD тәуекелді жоймайды
Бір дискінің сыйымдылығы rebuild жұмысына төлқұжаттағы ең жоғары жылдамдықтан көбірек әсер етеді. Үлкен HDD сыртқы жолдарда тізбекті оқуды жылдам орындай алады, бірақ дерекқор бастиектің кездейсоқ қозғалысын қосады және пластина бойымен жылдамдық төмендейді. 18 немесе 22 ТБ дискілерден құрылған массив жарамды жабдықпен де бір жұмыс күнінен ұзақ деградацияланған күйде қалуы мүмкін.
RAID 6 ені пайдалы сыйымдылық береді, бірақ ақау аймағын және қалпына келтіруге қатысатын дискілер санын үлкейтеді. Әрқайсысы 12 ТБ болатын сегіз диск RAID 6 жүйесінде пішімдеу шығынына дейін 72 ТБ шикі пайдалы сыйымдылық береді, ал RAID 10 жүйесінде 48 ТБ қалады. Бұл дерекқор өнімділігін адал салыстыру емес: бірінші нұсқада алты дерек дискісі мен қос паритет бар, екіншісінде төрт айна жұбы және басқа сыйымдылық бар.
Дұрыс салыстыру бірдей қажетті пайдалы сыйымдылықтан, бірдей бос орын қорынан және бірдей диск класынан басталады. Содан кейін шпиндельдер немесе NAND арналары, слот құны, қосалқы дискілер және контроллердің өткізу қабілеті бөлек есептеледі. Кейде RAID 6 көбірек диск сатып алып, қолайлы жазуға жететіндей бюджет үнемдейді. Кейде терабайт бағасы жоғары болса да, кідіріс шегі паритетті бірден жоққа шығарады.
SSD механикалық кідірісті қысқартып, rebuild жұмысын жиі жылдамдатады, бірақ үлкен QLC немесе TLC жинақтауыштары ішкі кеш біткеннен кейін тұрақты жазу шегіне тірелуі мүмкін. Қоқыс жинау, thermal throttling, резервтік блоктар қоры және қалған жазу ресурсы қалпына келтіруге әсер етеді. Қысқа тесттегі төлқұжат жылдамдығы бірнеше терабайттық үздіксіз rebuild туралы аз мәлімет береді.
SSD үшін де ортақ ақау себептері бар: бірдей микробағдарлама, бір өндіріс партиясы, ұқсас жазылған дерек көлемі және ортақ қуат ақауы. «SSD-де механика жоқ» деген сөз тексерілмеген кең топты ақтамайды. Микробағдарламаны жаңарту мен партияны ауыстыру да дискілерді кезекпен шығаруды талап етуі мүмкін, сондықтан rebuild жылдамдығы пайдалану шегіне айналады.
Қалпына келмейтін оқу қателерінің төлқұжаттағы көрсеткішін дәл мағынасында және жинақтауыш құжаттамасымен бірге оқу керек. Ол нақты массивтің жойылу ықтималдығын емес, оқылған бит санына шаққандағы оқиғаның мәлімделген жоғарғы жиілігін сипаттайды. Мысалы, Seagate әртүрлі диск кластарына бөлек шек береді; тұтынушылық модельдің санын корпоративтік SAS есебіне қоюға болмайды. Бір URE міндетті түрде бүкіл RAID 6 жүйесін жояды деу одан да қате: бірінші ақаудан кейін екінші паритет осы блокты қалпына келтіре алады. Төлқұжатты үйлесімді класс таңдау үшін, ал нақты media errors, patrol read және сәтті scrub нәтижелерін пайдалану кезінде қолданыңыз.
Фондық patrol read, consistency check немесе scrub ескі қатені тек апат кезінде кездестіру ықтималдығын азайтады. Бұл тапсырмалар бүкіл массивті оқып, дерекқормен ресурсқа таласады, сондықтан оларға кесте мен шек қажет. Нәтижесі көрінетін аяқталған айлық scrub тексеруін шексіз кейінге қалдырылған тексеруден артық көремін, бірақ аралықты контроллер құжаттамасына, көлемге және рұқсат етілген жүктемеге қарай таңдаңыз.
Дерекқорға дәлелденген fsync және бақыланатын шеткі кідіріс керек
RAID деңгейі дерекқор сенімділігінің қате сызбасын түзетпейді. Транзакциялар журналы, дерек беттері, уақытша файлдар, журнал мұрағаты және резервтік көшірмелердің енгізу-шығару үлгілері мен ақау салдары әртүрлі. Оларды бір логикалық томға орналастыру ыңғайлы, бірақ checkpoint, backup және rebuild бір кезек үшін таласады.
OLTP үшін шешім синхронды журнал жазуы мен беттерді кездейсоқ жаңартуға байланысты RAID 10 жағына жиі ауысады. Ірі тізбекті оқуы, сирек пакеттік жүктеуі және қатаң сыйымдылық бюджеті бар аналитикалық дерекқор үшін RAID 6 орынды болуы мүмкін. ДҚБЖ атауы өзі шешім шығармайды: PostgreSQL, Microsoft SQL Server және Oracle жүйелерін мүлдем бөлек жүктемелерге баптауға болады.
Алдымен RPO және RTO мәндерін бекітіңіз. RAID жинақтауыш ақауы кезінде қолжетімділікті қорғайды, бірақ жойылған кестені қайтармайды, қате DROP әрекетін болдырмайды, логикалық бүлінуді түзетпейді және дербес резервтік көшірмені алмастырмайды. Реплика да пайдаланушы қатесін тез қайталауы мүмкін. Тексерілген backup пен restore керек, ал шағын RPO үшін журналды мұрағаттау немесе үздіксіз қалпына келтірудің басқа тәсілі қажет.
Одан кейін жазу семантикасын тексеріңіз. fsync, synchronous_commit немесе соған ұқсас мүмкіндікті өшіретін тест дерекқор расталған транзакцияларды жоғалтуға келіскен режимді өлшейді. Бұл өндірістегі нақты саясат дәл осындай болғанда ғана жарайды. Қалыпты маңызды дерекқорда кепілдіктерді қосулы қалдырып, контроллер жинақтауыштардың тұрақсыз кешін жасырмайтынына көз жеткізіңіз.
Орташа кідіріс қосылым пулын тауысып, бірінен соң бірі тайм-аут туғызатын қысқа тұрып қалуларды жасырады. Кідіріс үлестірімін, күткен сұраулар санын, checkpoint ұзақтығын және реплика кешігуін сақтаңыз. Rebuild кезінде растаулардың бір пайызының баяулауы орташа TPS көрсеткішінің он пайыз төмендеуінен маңыздырақ болуы мүмкін.
Томдарды бөлу физикалық ресурстарды бөлгенде немесе қызмет сапасын кепілді басқарғанда ғана көмектеседі. Бір RAID тобындағы екі логикалық том жаңа диск қоспайды. Журналға бөлек айна, ал суық деректерге RAID 6 қолдану кейде жақсы теңгерім береді, бірақ баптау нүктелерін, spare capacity және қалпына келтіру рәсімдерін көбейтеді. Мұндай сызбаны толық сынау керек.
Контроллер мен орналастыру сызбасы RAID атауының мағынасын өзгертеді
RAID 6 деп аталған екі массив жолақ ені, chunk өлшемі, қорғалған кеш, full-stripe write алгоритмі, rebuild басымдығы және бөлінген spare space себебінен әртүрлі әрекет етуі мүмкін. Деңгей атауы артықтық қағидасын айтады, бірақ кідіріс пен қалпына келтіру уақытын кепілдемейді.
Linux ядросының құжаттамасы dirty degraded RAID 5 немесе RAID 6 туралы ескертеді: аяқталмаған паритет жазуынан кейін паритетке сенуге болмайды, ал жоғалған блоктарды дұрыс қалпына келтіру мүмкін емес. Сондықтан MD әдетте мұндай массивті нақты мәжбүрлеусіз іске қоспайды. Бұл бағдарламалық RAID қолданбауға себеп емес. Бұл write hole, паритет журналы, write-intent bitmap және кешті тазарту реті өнімділік баптауына емес, тұтастыққа қатысты екенін еске салады.
Linux MD үшін RAID 4/5/6 журналы write hole мәселесін жаба алады, ал write-back режимі жазбаларды біріктіреді. Аппараттық контроллер ұқсас міндетті өзінің қорғалған кеші мен метадеректері арқылы шешеді. Тест үшін write-back қосып, батарея немесе CacheVault күйін тексеруді ұмытпаңыз: кеш қорғанысы бұзылғанда көп контроллер write-through режиміне өтеді, сонда RAID 6 кідірісі күрт өзгереді.
Қуат ақауын диск ақауынан бөлек тексеріңіз. Стендте жазуды бастап, өндіруші қарастырған әдіспен қуатты өшіріңіз, содан кейін массивтің жиналуын, дерекқор журналын және өшуге дейін расталған транзакцияларды тексеріңіз. Мұндай тәжірибені жұмыс жүйесінде өткізуге және оны ОЖ-ні қалыпты қайта қосумен алмастыруға болмайды: дұрыс аяқтау кешті тазартып, қатені жасырады. Кеш қорғанысы нашарлаған соң контроллер write-back режимінен write-through режиміне ауысса, мониторинг мұны пайдаланушылар кідіріс өскенін байқамай тұрып хабарлауы керек.
Дерекқор мен файлдық жүйенің бақылау сомалары RAID жүйесін толықтырады, өйткені контроллер блоктың қай нұсқасы логикалық дұрыс екенін білмейді. End-to-end checksum жоқ айнада екі түрлі көшірме болуы және жақсысын таңдауға негіз болмауы мүмкін. Қос паритет те математикалық келісімді блокты қалпына келтіреді, бірақ дерекқор бетінің құрылымын түсінбейді. Қолдау көрсетілетін page checksums мүмкіндігін қосып, scrub есептерін тексеріңіз және соңғы сәтті тексеру нәтижесін сақтаңыз. Бақылау сомасы қатесі дискіні бірден кінәлау емес, себепті іздеуді талап етеді: мәселе жадта, кабельде, микробағдарламада немесе DMA жолында болуы мүмкін.
Жолақ өлшемін басым енгізу-шығару үлгісіне сәйкестендіріңіз, бірақ барлық дерекқорға жарайтын сиқырлы мән жоқ. Тым кең жолақ ұсақ кездейсоқ ағын кезінде толық жолаққа жазу ықтималдығын азайтады, ал тым тар жолақ ірі операциялардың шығынын көбейтеді. Бөлім мен файлдық жүйе туралауын бірдей сақтап, өндіріс профилінің көшірмесінде бірнеше қолдау көрсетілетін мәнді тексеріңіз.
Диск реті мен ақау домендерін сызбаға түсіріңіз. RAID 10 үшін жұптарды, ал екі деңгей үшін де сөре, expander, HBA порты, кабель және қуат көзін көрсетіңіз. Екі тәуелсіз диск ақауына төтеп беретін массив ортақ сөре ақауына төтеп бермеуі мүмкін. Екі контроллер де екі жол бірдей қате бапталған кешке апарса, көмектеспейді.
GSE vendor-neutral тәсілімен S200 серверлеріне негізделген деректер орталығы инфрақұрылымын жобалап, біріктіреді, сондықтан RAID деңгейін контроллер, жинақтауыштар және нақты дерекқор талаптарымен бірге таңдауға болады. Пайдалану кезінде «RAID 6 қолдайды» деген бір жолға қарап сервер сатып алғаннан гөрі, тексерілген конфигурация мен ауыстыру рәсімін тіркеу маңызды.
Таңдау бұзуға болмайтын шектеуден басталады
Дерекқор синхронды жазу кідірісіне сезімтал болса, аралас кездейсоқ профилі болса және 50 пайыз пайдалы сыйымдылықпен бюджетке сыйса, RAID 10 әдетте бірінші үміткер болады. Оны түсіндіру оңай, жазу жүктемесі болжамдырақ, ал бір көшірмені қалпына келтіру үшін топтағы әр жолақты оқу қажет емес. Бірақ екінші ақаудың шартты сипаты жұптарды дұрыс орналастырып, rebuild жұмысын тез аяқтауды талап етеді.
Сыйымдылық пен слот құны шектеулі болса, оқу мен пакеттік жазу басым болса және екінші ақаудың орнына қарамастан оған төтеп беру қажет болса, RAID 6 пайдасына күшті дәлел бар. Ол әсіресе айнаның жарты сыйымдылығы жобаны мүмкін емес ететін үлкен деректер жиынына жарайды. Оның бағасы паритет жұмысы, деградацияланған режимдегі ауыр оқу және rebuild кезінде қолайлы шеткі кідірісті дәлелдеу қажеттілігі болады.
Таңдауды тексерілетін шектеулерге келтіріңіз. Синхронды жазудың төмен p99 мәні әдетте RAID 10 жағын көрсетеді, бірақ сынақ толған кеш пен белсенді rebuild жұмысын қамтуы тиіс. Істен шыққан кез келген екі дискіге төтеп беру талабы RAID 6 жағын көрсетеді және әр ақаудан кейінгі әрекет тексеріледі. Бір слотқа шаққандағы пайдалы сыйымдылық шегі де тұрақты жазу мен қалпына келтіру белгіленген шектен өтсе, RAID 6 жүйесін қолдайды. Қысқа көшіру кезеңі, қарапайым орналастыру және болжамды жазу RAID 10 жүйесін жұптар мен автоматты spare тексерілгеннен кейін ғана қолдайды. Ірі тізбекті read-mostly жиын деградацияланған оқу сұрауларды бұзбаса, RAID 6 жүйесіне жиі сай келеді.
Бұл шектеулер өлшеуді алмастырмайды. RAID 10 жүйесіндегі сегіз HDD пакеттік жазуда қуатты қорғалған кеші бар қымбатырақ RAID 6 контроллерінен жеңілуі мүмкін. Арзан контроллер RAID 6 жүйесінің тартымды сыйымдылығын WAL үшін жарамсыз етуі де мүмкін. Абстрактілі деңгейлерді емес, толық сипатталған конфигурацияларды салыстырыңыз.
Үшінші жол да бар: архитектураны өзгерту. Әр тораптағы жергілікті айналар мен тораптар арасындағы синхронды репликация бір үлкен RAID 6 жүйесінен бөлек ақау профилін береді. Бөлінген сақтау жүйесі, erasure coding және бұлттық дискілер rebuild жұмысын басқа қабатқа көшіреді, бірақ жоймайды. Онда репликаны қалпына келтіруді, желі шегін және кворум әрекетін өлшеу қажет.
Мен RAID деңгейін сипаттамадағы rebuild уақыты көрсетілген бір жолдан таңдамаймын. Алдымен кідіріс немесе сыйымдылық талабын бұзатын нұсқаны алып тастаймын, содан кейін қалғанын нақты ақаумен тексеремін. Екеуі де сынақтан өтсе, RAID 6 жүйесінің кез келген екі ақаудан анық қорғанысы бірнеше сағаттан маңыздырақ болуы мүмкін; RAID 6 жазу SLA талабын бұзса, бұл қорғаныс жұмыс істеп тұрған сервисті тұрақты тайм-ауттан құтқармайды.
Шешім оқу ақауы сынағынан кейін дайын болады
Команда ақауды қайталап, массивті ойдан әрекет қоспай қалыпты күйге қайтарғанда жобаны қабылдауға болады. Дискілер мен контроллердің қағаздағы үйлесімділігі spare іске қосылатынын, ескерту келетінін, дерекқор апаттық SLA шегінде қалатынын және толық қорғанысқа дейін қанша сағат барын көрсетпейді.
Жүйені іске қоспас бұрын бір бақыланатын айналым орындаңыз:
- Жұптарды немесе RAID 6 енін, микробағдарлама нұсқаларын, кеш саясатын, spare және ақау домендерін тіркеңіз.
- Fsync кепілдіктері қосылған өндіріс жүктемесінің көшірмесін іске қосып, бастапқы кідірісті сақтаңыз.
- Таңдалған дискіні қолдау көрсетілетін әдіспен өшіріп, ескерту мен автоматты rebuild басталғанын растаңыз.
- Толық қалпына келгенше жылдамдықты, дерекқордың p95 және p99 мәндерін, кезектер мен температураны өлшеңіз.
- Массив тұтастығын тексеріп, тәуелсіз резервтік көшірмеден сынақ дерекқорын қалпына келтіріңіз.
RAID 10 үшін стендтік тәжірибені басқа жұптағы диск ақауымен қайталаңыз, содан кейін жүйе зақымдалған жұптың қалған дискісімен қауіпті операцияны бұғаттайтынын бөлек дәлелдеңіз. RAID 6 жүйесіндегі екінші ақауды тексеруге толық оқшауланған стенд пен жаңа backup қажет: мақсат жұмыс жүйесінде батылдық көрсету емес, деградацияланған режимді бақылау.
Ескерту физикалық слотты, сериялық нөмірді, логикалық массивті, spare күйін және аяқталу болжамын қамтуы керек. Корпусқа байланысы жоқ «virtual drive degraded» хабары техник маманды жорамал жасауға мәжбүрлейді, ал ауыстыру қатесі көтеруге болатын ақауды массив жоғалуына айналдырады. Рәсім слотты басқа адам немесе контроллердің сәйкестендіру құралы арқылы қайта тексеруді талап етуі тиіс.
Қосалқы дискіні Tdetect уақыты ішінде шынымен орнатуға болатын жерде ұстаңыз. Қашық алаң үшін 24 сағат ішінде жеткізу уәдесі, көшіру сегіз сағатқа созылса да, rebuild жұмысына бір тәулік қосады. Автоматты hot spare бұл уақытты қысқартады, бірақ қолданылғаннан кейін қойма қорын қайта толтыру керек.
Регламент rebuild, consistency check және дерекқорды қалпына келтіруді ажыратуы тиіс. Rebuild диск ауысқаннан кейін артықтықты қайтарады. Consistency check айналарды немесе паритетті салыстырып, айырмашылық іздейді. Restore backup пен журналдан жұмыс дерекқорын жасайды. Бір процестің сәтті аяқталуы қалған екеуі туралы ештеңе дәлелдемейді, сондықтан әрқайсысына жауапты адам, сынақ жиілігі және аяқталу шарты қажет.
Апаттан кейін массив деградацияланған күйде тұрғанда оны кеңейтуге немесе микробағдарламаны жаңартуға асықпаңыз. Кез келген reshape операциясы көбірек блокты өзгертеді және кері қайтуды қиындатады. Алдымен артықтықты қалпына келтіріп, контроллер мен дерекқор журналдарын сақтаңыз, тексеру өткізіңіз, содан кейін конфигурацияны бөлек терезеде өзгертіңіз. Контроллер жаңа дискіні тану үшін жаңартуды талап етсе, бұл жол қосалқы бөлшекті қабылдау кезінде тексерілуі керек еді.
Сынақ нәтижесі тек тексерілген конфигурацияға қолданылады. HDD-ні сыйымдылығы үлкен үлгіге ауыстыру, микробағдарламаны жаңарту, жолақ өлшемін өзгерту, топты кеңейту немесе дерекқордың жаңа профилі кемінде қысқартылған қайта сынақты талап етеді. Қалпына келтіру уақыты екі қысқартылған атаудың арасындағы таңдаудан көп нәрсені анықтайды: ол нақты ақаудан кейін сервисте қанша тексерілген қор қалғанын көрсетеді.
FAQ
Дерекқор үшін RAID 6 әлде RAID 10 жылдамырақ па?
RAID 10 ұсақ кездейсоқ және синхронды жазуда әдетте жылдамырақ әрі болжамдырақ, өйткені қос паритетті есептемейді. Тізбекті оқуда айырмашылық аз болуы мүмкін, сондықтан өз профиліңіз бен шеткі кідірісті тексеріңіз.
RAID 10 әрдайым RAID 6-дан тезірек қалпына келе ме?
Айна көбіне деректерді оңайырақ көшіріп, азырақ дискіні қатыстырады, бірақ «әрдайым» деуге болмайды. Жылдамдықты контроллер, интерфейс, дерекқор жүктемесі, дискінің толуы және rebuild саясаты шектейді.
Екінші диск істен шыққанда қай RAID қауіпсіз?
RAID 6 өз тобындағы кез келген екі дискінің ақауына төтеп береді. RAID 10 екінші ақау зақымдалған айна жұбының қалған дискісін алып кетпесе ғана жұмысын жалғастырады.
PostgreSQL жүйесін RAID 6 үстінде қолдануға бола ма?
WAL, checkpoint және қалыпты транзакциялар кідірісі деградацияланған режимді қоса алғанда SLA талабынан өтсе, болады. ДҚБЖ атауы RAID 6-ға тыйым салмайды, бірақ қарқынды OLTP жиі RAID 10 жүйесінде жақсырақ жұмыс істейді.
12 ТБ дискідегі RAID қанша уақытта қайта құрылады?
Қалпына келетін көлемді жұмыс жүктемесіндегі тұрақты rebuild жылдамдығына бөліңіз. 120 МБ/с кезінде төменгі шек шамамен 27,8 сағат, ал 45 МБ/с кезінде үзілістер мен қателерді есептемегенде 74 сағатқа жуықтайды.
RAID 6 немесе RAID 10 үшін hot spare керек пе?
Hot spare қалпына келтіру басталғанға дейінгі уақытты қысқартатындықтан, екі деңгейге де пайдалы. Ол деректердің тағы бір тәуелсіз көшірмесі емес және көлемі сәйкес келмесе, басқа массивпен бос болмаса немесе автоматты қосылмаса көмектеспейді.
RAID дерекқордың резервтік көшірмесін алмастыра ма?
Жоқ. RAID кейбір аппараттық ақауда қолжетімділікті сақтайды, бірақ жоюды, логикалық бүлінуді және қате өзгертуді қайталайды; backup басқа ақау доменінде тұруы, ал restore үнемі тексерілуі керек.
SSD үстінде RAID 6 қолданудың мәні бар ма?
Пайдалы сыйымдылық пен кез келген екі ақауға төзімділік маңызды болып, жазу SLA талабынан өтсе, бар. Ішкі кеш біткеннен кейінгі SSD жылдамдығын, жазу ресурсын, қызуын және бірнеше терабайттық rebuild уақытын тексеріңіз.
Дерекқор RAID сынағында IOPS әлде кідіріс маңызды ма?
Транзакциялық дерекқор үшін кідіріс, әсіресе расталған жазудың p95 және p99 мәндері, орташа IOPS көрсеткішінен жиі маңыздырақ. Екеуін де кезек тереңдігімен және rebuild жылдамдығымен бірге сақтаңыз, әйтпесе ақау себебі жасырын қалады.
Дерекқор жұмыс істеп тұрғанда rebuild басымдығын өзгертуге бола ма?
Контроллер қолдаса, болады, бірақ өзгеріс алдын ала тексерілген шекте қалуы керек. Тым жоғары басымдық дерекқор кідірісін бұзады, ал тым төмен басымдық массивті рұқсат етілгеннен ұзақ тәуекелде қалдырады.