Досега в предишните две части на тази кратка серия от блогове обсъдихме няколко опции, които могат да повлияят на времето и размера на архивирането. Обсъдихме различни опции за компресиране и настройка, свързана с дроселиране на мрежовия трансфер, ако предавате поточно данните от възела към хоста на контролера. Този път бихме искали да подчертаем нещо друго - възможността за правене на частични архиви с помощта на MariaBackup. Първо, нека поговорим какво представляват частичните архиви и какви са предизвикателствата, свързани с тях.
Частично архивиране
MariaBackup е инструмент за архивиране, който създава физически архиви. Това означава, че ще копира данните, съхранявани във файлове на възела на базата данни, към целевото местоположение. Той ще създаде последователно архивиране на базата данни, нещо, което ви позволява да възстановите данните си до точен момент от време - времето, когато архивирането е завършено. Всички данни във всички таблици и схеми ще бъдат последователни. Това е доста важно да се има предвид. Могат да се използват последователни резервни копия за осигуряване на реплики, изпълнение на възстановяване по време и така нататък.
От друга страна, частичните архиви са частични. Само подмножество от таблиците се архивира. Очевидно това прави архивирането непоследователно. Не може да се използва за създаване на реплика или за възстановяване на данните в същия момент от време. Частичните архиви все още имат собствена употреба. Те могат да се използват за възстановяване на подмножество от данни - вместо да възстановявате целия архив, можете да възстановите само една таблица и след това да извлечете данните, от които се нуждаете. Разбира се, можете да направите същото с логически резервни копия, но те са доста бавни и не са подходящи за какъвто и да е вид по-големи внедрявания.
Недостатъкът е, че частичното архивиране не е последователно във времето. Това трябва да е съвсем очевидно, тъй като събираме само подмножество от данни. Друго предизвикателство е възстановяването - не можете лесно да възстановите частични архиви директно в производствените системи. Първо, защото не е ясно, второ, защото не е последователно. Най-сигурният начин за възстановяване на частично архивно копие е да го възстановите на отделен възел и след това да използвате mysqldump или SELECT INTO OUTFILE, за да извлечете необходимите данни.
Нека да разгледаме опциите, които ClusterControl ни предоставя по отношение на частичните архиви.
Частично архивиране в ClusterControl
На първо място, частичните архиви не се използват по подразбиране, трябва да изрично ги активирате. След това се появява набор от опции, който ни позволява да изберем това, което искаме да архивираме. Можем да изберем конкретна схема или набор от таблици. Можем да направим резервно копие на всички таблици с изключение на някои или просто да кажем, че искаме да направим резервно копие на таблици A, B и C.
Автор на снимка Описание на снимкатаРазбира се, когато отидете в падащото меню, ще вижте всички бази данни и всички изброени таблици, от които да избирате.
Избрахме някои от таблиците и схемите и ще стартираме това резервно копие сега. Разбира се, ако искате това, можете да планирате частични архиви по абсолютно същия начин като нормалните.
На втория екран можем да конфигурираме mariabackup по наш вкус, точно както ние обяснено в предишните ни публикации в блога. Това е всичко, щракнете върху бутона Създаване на архив и процесът ще започне.
Възстановяване на частично архивно копие в ClusterControl
След като архивът е готов, той ще стане видим в списъка с архиви.
Виждаме, че е частично архивиране, защото има списък със схеми които са включени в него.
Когато се опитаме да възстановим частично архивно копие в клъстер за асинхронна репликация, ние сме представени с две опции. Възстановяване на възел и възстановяване и проверка на самостоятелен хост. Първото определено не е нещо, което искаме да направим, тъй като би изтрило някои от данните, които нямаме в архива. Последната опция, от друга страна, ви позволява да разположите отделен възел и да възстановите резервното копие на него.
Всичко, което трябва да направим, е да изберем име на хост, което е достъпно от SSH от ClusterControl и се уверете, че няма да бъде спрян след възстановяване на архива. Това ще ни позволи да възстановим частичното архивиране и след това да получим достъп до него, за да извлечем всякакви данни, които може да поискаме.
Надяваме се, че този кратък блог ви дава известна представа за това как ClusterControl ви позволява да извършвате частични архиви, какви са случаите на използване и как можете да ги възстановите по безопасен начин.