Почему обслуживание нужно планировать
Даже небольшое изменение может затронуть запуск, плагины и базу данных. Если выполнять работы без плана, короткое обновление превращается в длительный простой.
Техническое окно должно иметь цель, порядок действий, максимальную продолжительность и критерий успешного завершения.
Определите состав работ
Запишите конкретно:
- обновление игровых файлов;
- обновление Metamod;
- обновление CounterStrikeSharp;
- замена плагина;
- изменение базы;
- настройка firewall;
- перенос файлов;
- обновление системы;
- очистка логов.
Не объединяйте слишком много независимых изменений в одно окно. Если возникнет ошибка, будет трудно определить источник.
Выберите время
Проводите обслуживание при минимальном онлайне. Изучите статистику сервера за несколько недель и выберите стабильный период низкой активности.
Экстренное обновление, блокирующее вход игроков, выполняют сразу, но аудиторию всё равно следует предупредить.
Уведомите игроков
Сообщение должно содержать:
- дату;
- время;
- часовой пояс;
- предполагаемую длительность;
- причину;
- канал обновления статуса.
Не обещайте точное завершение, если работа зависит от стороннего обновления. Лучше указать ориентировочное окно.
Подготовьте резервную копию
Перед изменениями сохраните:
- конфигурации;
- плагины;
- базу данных;
- права;
- скрипты запуска;
- текущие версии.
Проверьте архив до остановки. Нельзя считать backup готовым только потому, что файл появился.
Чек-лист выполнения
Пример:
1. Предупредить игроков. 2. Запретить новые подключения. 3. Корректно остановить сервер. 4. Создать финальный дамп. 5. Выполнить одно изменение. 6. Проверить права. 7. Запустить тест. 8. Проверить карту и команды. 9. Проверить внешний ответ. 10. Открыть сервер игрокам.
Тестовый запуск
Первый запуск после работ выполняйте без публичного доступа или при закрытом пароле.
Проверьте:
- консоль;
- плагины;
- базу;
- смену карты;
- административные права;
- статистику;
- повторный рестарт;
- автозапуск.
План отката
До начала определите, что будете делать при неудаче.
Откат может включать:
- возврат конфигурации;
- восстановление старой версии плагина;
- импорт базы;
- возврат systemd-службы;
- восстановление firewall;
- переключение на резервный VPS.
Если откат займёт дольше исправления, это тоже нужно учитывать.
Внешняя проверка
После запуска проверьте сервер как обычный игрок и через cs2-monitor.com.
Локально работающий процесс ещё не означает доступность из интернета.
Сообщение о завершении
После работ опубликуйте короткий итог:
- что обновлено;
- завершены ли работы;
- есть ли известные ограничения;
- куда сообщать об ошибках.
Не публикуйте внутренние пароли, IP базы и другие технические секреты.
Разбор после сбоя
Если обслуживание затянулось, запишите причину и измените процедуру.
Полезные вопросы:
- была ли копия полной;
- хватило ли времени;
- какой этап оказался неожиданным;
- можно ли было проверить его на тестовом сервере;
- какие данные отсутствовали;
- как сократить следующий простой.
Регулярное расписание
Небольшому проекту может быть достаточно одного планового окна в неделю или месяц. Не перезапускайте сервер без причины по фиксированному расписанию, если он стабилен.
Итог
Технические работы должны иметь цель, backup, последовательность тестов и план отката.
Предупреждайте игроков, не объединяйте десятки изменений и проверяйте результат как изнутри, так и через внешний мониторинг.