Много благодаря на всички, които се регистрираха и/или участваха в уебинара във вторник относно стратегиите за архивиране и най-добрите практики за клъстерите MySQL, MariaDB и Galera, водени от Кшищоф Ксионжек, старши инженер по поддръжка в Severalnines. Ако сте пропуснали сесията, бихте искали да я гледате отново или да прегледате слайдовете, те вече са онлайн за гледане. Вижте също преписа от сесията с въпроси и отговори по-долу.
Гледайте повторението на уебинара
Независимо дали сте SysAdmin, DBA или DevOps професионалист, който управлява MySQL, MariaDB или Galera клъстери в производство, трябва да се уверите, че вашите архиви са планирани, изпълнявани и редовно тествани. Вчера Кшищоф сподели някои от ключовите си съвети и трикове за най-добри практики как да направите точно това; включително демонстрация на живо с ClusterControl. Накратко, това повторение на уебинара ви показва плюсовете и минусите на различните опции за архивиране и ви помага да изберете този, който е най-подходящ за вашата среда.
Приятно архивиране!
Въпроси и отговори
В. Можем ли да контролираме I/O, докато правим резервни копия с mysqldump и mysqldumper (използвах nice преди, но не беше полезно).
О. Теоретично може да е възможно, въпреки че всъщност не сме го тествали. Ако наистина искате да приложите малко дроселиране, тогава може да искате да разгледате cgroups - това трябва да ви помогне да регулирате входно/изходната активност за всеки процес.
В. Можем ли да вземем mydumper с ClusterControl и ClusterControl е безплатен софтуер?
О. В момента не го поддържаме, но винаги можете да го използвате ръчно; ClusterControl не ви пречи да използвате този инструмент. Има безплатна общностна версия на ClusterControl, да, въпреки че неговите функции за архивиране са част от комерсиалната версия. С безплатната версия на общността можете да разгръщате и наблюдавате вашата база данни (клъстери), както и да разработвате свои собствени персонализирани съветници за база данни. Имате и едномесечен пробен период, който ви дава достъп до всички функции на ClusterControl. Можете да намерите всички подробности за функциите тук:https://severalnines.com/pricing
В. Може ли xtrabackup да работи с криптиране на данни в покой?
О. Може да работи с криптирани данни в MySQL или Percona Server - защото те криптират само пространства за таблици, които xtrabackup само копира - не е необходимо да има достъп до съдържанието на пространствата за таблици. MariaDB криптира не само пространства за таблици, но също така, например, InnoDB регистрационни файлове за повторно изпълнение, които трябва да бъдат достъпни от xtrabackup - следователно xtrabackup не може да работи с криптиране на данни в покой, както е внедрено в MariaDB. Поради това MariaDB Corporation разклони xtrabackup в MariaDB Backup. Този инструмент поддържа криптиране, извършено от MariaDB.
В. Можете ли да използвате mydumper за възстановяване в даден момент?
О. Да, възможно е. mydumper може да съхранява GTID данни, за да можете да идентифицирате последната приложена транзакция и да я използвате като начална позиция за обработка на двоични регистрационни файлове.
В. Проблем ли е, ако използваме двоични регистрационни файлове с xtrabackup с начална дата и време за край, вместо начална позиция и крайна позиция? Правим пълно архивиране в петък и през ден постепенно архивиране. Когато трябва да се възстановим, ние вземаме последните пълни и всички инкрементални архиви и двоичните регистрационни файлове от този ден, започвайки от 00:00 до СЕГА... може ли да има проблем с apply-log?
О. По принцип не трябва да използвате --start-datetime или --end-datetime, когато искате да отговорите на двоичен регистрационен файл в базата данни. Не е достатъчно детайлен - има разделителна способност от една секунда и може да има много транзакции, които са се случили през тази секунда. Можете да го използвате, за да сведете до минимум времевата рамка, която да търсите ръчно, но това е всичко. Ако искате да възпроизведете двоични регистрационни файлове, трябва да използвате --start-position и --end-position. Само това ще определи точно от кое събитие ще възпроизвеждате binlogs и на кое събитие ще завърши.
В. Трябва ли да стартирам софтуера за изхвърляне на натоварването балансьор или някой от възлите на MySQL?
О. Обикновено ще го използвате на MySQL възли. Някои от инструментите могат да направят само това. Например Xtrabackup - трябва да го стартирате локално, на хоста на базата данни. Можете да предавате поточно изход на друго място, но той трябва да бъде стартиран локално.
В. Можем ли да правим частични архиви с ClusterControl? И ако да, как можем да възстановим резервно копие на работещ екземпляр?
О. Да, можете да направите частично архивиране с помощта на ClusterControl (можете да архивирате отделна схема, като използвате xtrabackup), но засега не можете да възстановите частично архивиране на работещ екземпляр. Това е причинено от факта, че схемата, която ще възстановите, няма да е съвместима с останалата част от клъстера. За да бъде последователен, клъстерът трябва да бъде стартиран от възела, на който възстановявате архив. Така че, технически, възелът работи през цялото време, но това е доста тежка и инвазивна операция. Това ще се промени в следващата версия на ClusterControl, в която ще можете да възстановявате архиви на отделен хост. След това от този хост можете да изхвърлите съдържанието на възстановена схема, като използвате mysqldump (или mydumper) и да го възстановите в производствен клъстер.
В. Можете ли да споделите командата mysqldumper?
О. Доста е трудно да се отговори на този въпрос, без да копирате и поставяте от документацията, така че смятаме, че ще бъде най-добре, ако ви насочим към документацията:https://github.com/maxbube/mydumper/tree/ магистър/документи
Гледайте повторението на уебинара
Свързан бял документ Ръководството за DevOps за архивиране на бази данни за MySQL и MariaDB. Този бял документ обсъжда двете най-популярни помощни програми за архивиране, налични за MySQL и MariaDB, а именно mysqldump и Percona XtraBackup. Изтеглете