Въпреки че е добра идея да заключите базата данни и да замразите файловата система, когато инициирате моментната снимка, действителното извикване на API за иницииране на моментната снимка отнема част от секундата, така че вашата база данни и файлова система не са заключени/замразени за дълго.
Въпреки това има няколко други съображения, които не сте споменали:
-
Когато се опитате да създадете заключването на базата данни, може да се наложи да изчака завършването на други оператори, преди да бъде предоставено заключването. През това време вашето чакащо заключване може да изчака допълнителни изявления, докато получите и освободите заключването. Това може да причини прекъсвания в потока от отчети във вашата производствена база данни.
-
След като инициирате създаването на моментната снимка, вашето приложение/база данни е свободно да използва файловата система на тома, но ако имате много записи, може да изпитате високо чакане, понякога достатъчно, за да създаде забележимо забавяне на вашето приложение. Причината за това е, че процесът на фонова моментна снимка трябва да копира блок в S3, преди да позволи запис в този блок на активния том.
Решавам първия проблем, като поискам заключване и изтичане на времето, ако не бъде предоставено бързо. След това изчаквам малко и продължавам да опитвам, докато получа ключалката. Подходящите изчаквания и забавяне на повторния опит може да варират за различните зареждания на база данни.
Решавам втория проблем, като извършвам честите, последователни моментни снимки на подчинения вместо на главния, точно както предложихте. Все пак препоръчвам да правите от време на време моментни снимки срещу главния, просто за да подобрите неговата присъща издръжливост (дълбоко свойство на EBS), но тези моментни снимки не е необходимо да се извършват със заключване или замразяване, тъй като няма да ги използвате за архивиране.
Също така препоръчвам използването на файлова система, която поддържа промиване и замразяване (XFS). В противен случай правите моментни снимки на заключени таблици в MySQL, които все още може дори да нямат всичките си блокове в EBS тома или други части от файловата система може да са променени и непоследователни в моментната снимка.
Ако се интересувате, публикувах софтуер с отворен код, който изпълнява най-добрите практики, които събрах, свързани със създаването на последователни EBS моментни снимки с MySQL и XFS (и двете по избор).
За да отговорите на последния ви въпрос, заключването на таблици в главната страница няма да наруши репликацията. В моя софтуер за моментни снимки също изчиствам таблиците със заключване за четене, за да се уверя, че всичко е на диска, който се прави моментна снимка, и добавям ключовата дума „LOCAL“, така че изчистването да не се репликира на потенциални подчинени устройства.