Кожен раз, коли я це робив, ми проходили два проходи ...
- зробіть знімок та працюючи на іншому сервері, використовуйте це, щоб визначити, що потрібно зробити для міграції, та скриптуйте його.
- Після того, як вони матимуть скрипт у руці, знімковий майданчик буде відновлений у тестовій системі, і він приурочений до того, щоб перевірити, чи запуститься він протягом необхідного часу, або він буде налаштований та змінений, поки не зможе.
- відмовитись від зацікавлених сторін, що нічого не здається з даними тестової системи.
Потім у вихідні у вас запланований відключення:
- У п’ятницю ввечері системи, які використовують базу даних, збиваються, робиться повна холодна резервна копія, і сценарії запускаються для міграції / зміни / будь-яких даних
- Системи повертаються під якоюсь приватною адресою або якимось чином налаштовуються, щоб вони не були відкриті для тестування прийняття будь-кого, окрім зацікавлених сторін
- Якщо зацікавлені сторони схвалюють, система розміщується в Інтернеті та оприлюднюється; якщо ні, то база даних відновлюється із резервної копії, зробленої в ніч на п'ятницю, і ви запускаєте процес заново.
Згідно з нашим графіком, у базі даних люди, як правило, з 6 вечора в п’ятницю до 10 ранку в суботу, щоб запускати сценарії резервного копіювання та міграції, тому наша мета полягала в тому, щоб вони працювали за 8 годин (~ 6 з цього було резервне копіювання), тому ми ' Буде якийсь час для тестування та виправлення, перш ніж воно буде випущено для зацікавлених сторін.
Зацікавлені сторони отримали свої часові вікна заздалегідь, тому вони знали залишити свої вихідні відкритими для тестування на початку вікна. Їм також би сказали в кінці свого вікна, як правило, в неділю вдень, коли, якби всі не підписалися, нам доведеться почати відкочувати назад.
О, і звичайно ... якщо хтось змінився під час будь-якого з тестів на прийняття, і ми внесли зміни, це означало, що всі підписи зацікавлених сторін були анульовані, і вони повинні були повторно перевірити ... так ми б спробували приділити їм весь час пошук проблем і запустити будь-які виправлення як пакет, а не застосовувати їх по черзі.
На щастя, в тій ситуації, коли ми не могли мати значного простою, лише тоді, коли я мігрував, подавались із сценаріїв, а не з користувачем, тому я міг просто дві паралельні системи і замінити їх коли речі підписалися. (тільки колись була проблема, коли мій начальник наполягав на тому, щоб ми здійснили повну резервну копію, не розуміючи, що вся справа все ще буде в Інтернеті під іншим IP-адресом ... тож, що повинно було бути відключенням 5 хв на поганий день став відключенням 5 годин.)