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

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

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

Время чтения: 15 мин Общая информация
миграция серверапередача данныхмиграция сайтарезервное копированиеrsyncDNS
Автор
REXE Teknoloji Network & Security Team
Редактор
REXE Teknoloji Technical Editorial
Первая публикация
Последнее обновление

Введение

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

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

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 и тщательно протестируйте. Наша служба технической поддержки может помочь при возникновении проблем.

Часто задаваемые вопросы

Будет ли простой при миграции сервера?

При живой миграции с rsync время простоя минимизируется. Если заранее снизить DNS TTL, переключение DNS займёт 5 минут. Общее время простоя обычно 5-15 минут.

Как мигрировать базу данных?

Экспортируйте все базы данных с помощью mysqldump, перенесите на новый сервер и импортируйте.

Сколько времени занимает распространение DNS?

Зависит от значения TTL. Если снизить TTL до 300 секунд, изменение распространится за 5-10 минут.

Когда можно выключить старый сервер после миграции?

Подождите не менее 1 недели. Некоторые пользователи могут всё ещё обращаться к старому серверу из-за кэширования DNS.

Связанные статьи

Варианты резервного копирования сервера и руководство по восстановлению

Варианты резервного копирования REXE Teknoloji: автоматические снапшоты, ручное резервное копирование и стратегии на уровне приложений. Узнайте, как предотвратить потерю данных и быстро восстановиться.

7 мин.
резервное копированиебэкапснапшот
Сетевой трафикВходящий GbpsИсходящий Gbps