По-рано писахме в блог за архивиране на вашата Moodle MySQL база данни. Този път всичко е за архивиране на вашата Moodle MariaDB база данни. Всъщност той споделя същия подход при архивиране на вашата Moodle MySQL база данни, както с вашата Moodle MariaDB база данни. Въпреки това, след MariaDB 10.2, той бавно се отклони и продължава да има драстични разлики с версията на MySQL. В тази връзка обърнете внимание на подходите, които може да се наложи да вземете предвид, когато архивирате своя MariaDB, за разлика от MySQL, ако сте от него.
Най-добри практики за създаване на резервно копие на Moodle MariaDB
Нека първо разгледаме тази тема. Правенето на резервно копие на вашите данни в Moodle трябва да прилага най-добрите практики за вашето архивиране на MariaDB, тъй като това ви осигурява сигурност и увереност, особено когато възникне бедствие или катастрофа в непредвидими ситуации.
И какво става с това? Правенето на резервно копие за вашия Moodle трябва да е свързано поне със следните архиви:
- Логически архивиране
- Физическо копие на вашето резервно копие
- Възстановяване в момент (постепенно)
Логическо архивиране
Логическото архивиране на данни се съхранява в четим от човека формат като SQL. Логическите архиви запазват информация, представена като структура на логическа база данни (CREATE DATABASE, CREATE TABLE изрази) и съдържание (инструкции INSERT или файлове с разделен текст). Този тип архивиране е подходящ за по-малки количества данни, където можете да редактирате стойностите на данните или структурата на таблицата, или да пресъздадете данните на различна архитектура на машината. Ако сте склонни да използвате огромно архивиране на база данни, уверете се, че сте активирали компресията. Имайте предвид, че това може да отнеме много дисково пространство особено.
В MariaDB често използван инструмент е използването на mysqldump, но ще се промени в бъдеще с mariadb-dump, започвайки от MariaDB 10.4.6 или 10.5.2 по-нататък. Като алтернатива, често използван инструмент за MySQL/MariaDB DBA е mydumper, ако искате паралелно архивиране за вашето логическо архивно копие. Въпреки че има някои проблеми в някои версии или може да има проблеми, особено за най-новите версии на MariaDB. Ако искате да използвате това, обърнете внимание на вашите архивни регистрационни файлове, когато създавате копие.
Физическо архивиране
Физическото архивиране съдържа двоичните данни на базата данни, които се състоят от необработени копия на директориите и файловете, които съхраняват съдържанието на базата данни. Това е подходящо действие, особено за голяма база данни и е по-бързо да се възстанови пълно копие на базата данни в сравнение с логическо архивно копие. От друга страна, вземането на пълно физическо архивиране отнема време, особено ако имате много голям набор от данни. Зависи и какви параметри сте активирали или задали, които могат да повлияят на неговото резервно време за пристигане.
Често използван инструмент за MariaDB е използването на mariabackup. Mariabackup е инструмент с отворен код, предоставен от MariaDB. Това е разклонение на Percona XtraBackup, предназначено да работи с криптирани и компресирани таблици и е препоръчителният метод за архивиране за бази данни на MariaDB.
Възстановяване в момента (PITR)
Възстановяването в даден момент се отнася до възстановяване на промени в данните до определен момент от време. Този даден момент от време е желаната цел за възстановяване, която е определена и изисква да бъде върната на място, която се прилага по време на възстановяването. PITR е възстановяване в точка напред и това означава, че можете да възстановите данни от желаното начално време до желаното крайно време, за обратното четене с помощта на MariaDB Flashback на MySQL сървър. PITR също се счита за допълнителен метод за защита на данните, тъй като предпазва загубата на важна информация.
В често срещани ситуации вашето PITR архивиране, приложимо за вашия тип възстановяване, се извършва след възстановяване на пълно архивиране, което привежда сървъра в състоянието му към момента, в който е направено архивирането. Възстановяването в даден момент след това обновява сървъра постепенно от момента на пълното архивиране до по-ново време. Освен това ускорява изграждането на реплика в клъстер за репликация от настигане на вашата основна база данни MariaDB или база данни за активно записване.
И така, какви са тези резервни копия? В MariaDB обичайните резервни копия, приложими за вашия PITR, са вашите двоични регистрационни файлове. Двоично регистриране трябва да бъде конфигурирано правилно във вашата база данни MariaDB и трябва да бъде активирано. Ако използвате ClusterControl, това може да не ви е трудно да конфигурирате, тъй като той се конфигурира автоматично за вас и е активиран, особено при настройка на клъстер за репликация.
Когато се прилага PITR, най-често използваният инструмент е mysqlbinlog или mariadb-binlog за MariaDB 10.5.2 по-нататък.
Най-добрият подход за архивиране на вашата Moodle MariaDB база данни
Когато изпълнявате вашата Moodle MariaDB база данни, винаги правете резервно копие в непиковите часове или когато трафикът е твърде нисък. Преди да направите това, уверете се, че сте тествали архива и че е завършен успешно. След като приключите, тествайте възстановяването дали резервното ви копие е полезно или не и че удовлетворява нуждите ви, когато е необходимо възстановяване на данни или когато имате нужда от вашия архив, за да създадете друг набор от клъстери (QA, dev или разширяване до друг център за данни). По принцип следващите подраздели ще бъдат подходът и настройката, с които трябва да се справите.
Настройте реплика и направете резервно копие на реплика
Ако не сте запознати с репликацията, прочетете нашата бяла книга MySQL Replication for High Availability. По принцип не спестявайте своя активен запис или първичен възел на базата данни за извършване или стартиране на архивиране. Вземането на резервно копие трябва да бъде тествано и не трябва да се извършва в производство, ако все още не е тествано с набор от команди и неговата политика за архивиране, която сте създали. След като стане добре, просто го оставете и го насочете към реплика. Можете да направите резервно копие от вашата основна/главна база данни MariaDB, ако нямате избор или поне сте сигурни в това, което правите.
Стартирайте архивиране по време на непиковите часове
Когато извършвате архивиране, уверете се, че това е пиковите ви часове. Вашата реплика трябва да е с нулево забавяне, колкото е възможно, така че най-актуалните данни да бъдат затъмнени.
Създайте правила за архивиране
Правилата за архивиране се състои от вашите параметри и график за стартиране на архивирането ви. За параметрите се уверете, че отговаря на вашите нужди, т.е. сигурност, компресия и т.н. Графикът трябва да е постоянен, така че архивиране трябва да бъде там, когато е необходимо по време на бедствие и е необходимо възстановяване на данни. Освен това ще можете да определите целта си за времето за възстановяване, за да можете да определите колко често и кога ще се изпълнява вашият график за архивиране.
Как да създадете резервно копие на вашата Moodle MariaDB база данни
Използване на mariadb-dump/mysqldump
Командата по-долу ще създаде резервно копие на вашата база данни за Moodle. В този пример името на базата данни е moodle. Включихме тригери, съхранени процедури или рутинни процедури и събития. Отпечатайте GTID и основната информация, която е полезна, когато искате да предоставите реплика от основния или главния възел на базата данни.
$ /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle
Можете просто да замените mariadb-dump с mysqldump, ако използвате версия на MariaDB <10.5.2. Ако трябва да компресирате, можете да изпълните командата по-долу:
$ /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz
Използване на mariabackup
Mariabackup може да се направи лесно. За това ще използваме mbstream като желания стрийминг и архивен формат. Можете да използвате командата по-долу:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream
Ако искате да го компресирате, можете да направите следната команда:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz
Използване на ClusterControl
Ако преминете към управлявано решение, специално за архивиране на вашия Moodle, ClusterControl го използва просто, но предлага разширени функции за архивиране. Разгледайте екранната снимка по-долу:
Правенето на резервно копие е много просто и лесно за създаване. Всичко, което трябва да направите, е да отидете на
На екранната снимка по-горе имам mysqldump, mysqldump с PITR съвместим и mariabackup. Можете да изберете кой хост да направи резервно копие. Както бе споменато по-рано, уверете се, че правите резервно копие на репликата или подчинения. Това означава, уверете се, че подчинения е избран. Вижте екранната снимка по-долу:
Докато избира или избира mysqldump, ClusterControl позволява на потребителя да избере типа на данни за изхвърляне. Това също включва PITR съвместим дъмп за архивиране. Вижте екранната снимка по-долу:
За вашето двоично или физическо архивиране, освен mysqldump като логическо резервно копие, можете да изберете mariabackup или пълен или инкрементален. Вижте по-долу:
Местоположенията за съхранение позволяват на потребителя само да избере дали да остане на възела или предавайте го поточно към хоста на ClusterControl. Ако имате външен сървър, който не е регистриран в ClusterControl, можете да използвате NFS, за да монтирате тома, който искате да изхвърлите резервното ви копие. Въпреки че това може да не е идеално, но в някои случаи това ще удовлетвори, особено ако мрежовата честотна лента или мрежовият трансфер са достатъчно бързи, за да предават данните локално към другия възел през мрежата.
По същество можете да изберете резервните копия, които да бъдат качени в облака. Можете да видите екранната снимка по-рано и просто поставете отметка в квадратчето, за да я активирате точно както по-долу:
Както беше споменато по-рано, че ClusterControl прави архивирането лесно за използване, но осигурява разширени функции, ето опциите, които можете да зададете.
За mysqldump,
За mariabackup,
много лесен за използване. ClusterControl също така предлага проверка на архивиране и възстановяване на архив, така че е лесно да определите дали архивирането е полезно или не. Това помага архивирането на вашата база данни на Moodle да е полезно, особено когато възстановяването на данни трябва да се приложи за спешни случаи и възстановяване.
Заключение
Може да бъде лесно да архивирате вашата база данни Moodle MariaDB, но когато данните станат по-големи и трафикът се увеличи, това може да бъде голямо предизвикателство. Просто трябва да следвате най-добрите практики, да се уверите, че сте защитили данните си, да се уверите, че резервното ви копие е проверено и е полезно, когато трябва да се приложи възстановяване на данни.