Перейти к основному содержимому
Вернуться в категорию

Руководство по миграции сервера

Пошаговое руководство по безопасной миграции данных, веб-сайтов и приложений на сервер REXE с минимальным временем простоя.

Время чтения: 15 мин Общая информация
миграция серверапередача данныхмиграция сайтарезервное копированиеrsyncDNS

Содержание

Введение

Миграция сервера — это процесс переноса всех данных, приложений и конфигураций с существующего сервера на новый. При правильном планировании можно минимизировать время простоя и предотвратить потерю данных.

Подготовка перед миграцией

1. Инвентаризация

hljs bash
# Запущенные сервисы
systemctl list-units --type=service --state=running

# Установленные пакеты
dpkg --get-selections > /tmp/packages.txt

# Открытые порты
ss -tlnp

# Использование диска
df -h
du -sh /var/www/ /home/ /etc/

2. Создание резервных копий

hljs bash
# Веб-файлы
tar -czf /tmp/www_backup.tar.gz /var/www/

# Резервная копия базы данных
mysqldump --all-databases -u root -p > /tmp/all_databases.sql

# Файлы конфигурации
tar -czf /tmp/etc_backup.tar.gz /etc/

3. Снижение DNS TTL

Снизьте DNS TTL за 24-48 часов до миграции:

Текущий TTL: 86400 (24 часа)
Новый TTL: 300 (5 минут)

Методы миграции

Метод 1: Живая миграция с rsync (Рекомендуется)

hljs bash
# Получить файлы со старого сервера
rsync -avz --progress \
    -e "ssh -p 22" \
    root@старый_ip:/var/www/ \
    /var/www/

# Файлы конфигурации
rsync -avz --progress \
    -e "ssh -p 22" \
    root@старый_ip:/etc/nginx/ \
    /etc/nginx/

Миграция конкретных приложений

Веб-сайт (Nginx/Apache)

hljs bash
# Перенести веб-файлы
rsync -avz root@старый_ip:/var/www/ /var/www/

# Перенести конфигурацию Nginx
rsync -avz root@старый_ip:/etc/nginx/sites-available/ /etc/nginx/sites-available/

# Перенести SSL-сертификаты
rsync -avz root@старый_ip:/etc/letsencrypt/ /etc/letsencrypt/

# Перезапустить Nginx
nginx -t && systemctl restart nginx

База данных (MySQL/MariaDB)

hljs bash
# На старом сервере: создать дамп
mysqldump --all-databases -u root -p > /tmp/all_db.sql

# На новом сервере: импортировать
mysql -u root -p < /tmp/all_db.sql

Переключение DNS

  1. Полностью подготовить и протестировать новый сервер
  2. Обновить DNS A-запись на новый IP
  3. Подождать TTL (5 минут, если снижен до 300)
  4. Убедиться, что новый сервер работает
  5. Держать старый сервер активным несколько дней (для отката)

Проверки после миграции

hljs bash
# Все сервисы работают
systemctl status nginx mysql

# Тест сайта
curl -I https://domain.com

# Проверить логи
tail -f /var/log/nginx/error.log

Не выключайте старый сервер сразу после миграции. Держите его активным не менее 1 недели.

Заключение

Планирование критически важно для успешной миграции сервера. Создайте полную резервную копию перед миграцией, снизьте DNS TTL и тщательно протестируйте. Наша служба технической поддержки может помочь при возникновении проблем.