Как подготовить Linux-сервер к переносу
03 Sep 2026, 10:18:23
Перенос Linux-сервера на новую физическую машину или VPS — это не просто копирование файлов. Необходимо перенести данные, сохранить конфигурацию, восстановить сервисы, проверить права доступа и сетевые настройки, а затем убедиться, что приложения работают на новом сервере.Правильная подготовка позволяет сократить время простоя и избежать ситуации, когда после переезда данные сохранены, но веб-сервер, база данных или другие службы не работают из-за отсутствующей конфигурации.
1. Определите, что используется на сервере
Перед переносом необходимо составить список установленных компонентов и сервисов.Начните с информации об операционной системе:
cat /etc/os-release
uname -aПроверьте процессор и оперативную память:
lscpu
free -hИнформацию о дисках и файловых системах можно получить с помощью:
lsblk
df -hЗатем определите запущенные службы:
systemctl --type=service --state=runningТакже стоит проверить активные сетевые соединения и открытые порты:
ss -tulpnЭто позволит определить, какие сервисы действительно используются и что потребуется установить или настроить на новом сервере.
Например, на сервере могут работать:
- Nginx или Apache;
- PHP и PHP-FPM;
- MySQL или MariaDB;
- Redis или Memcached;
- Docker или Podman;
- почтовый сервер;
- VPN;
- DNS-сервер;
- панели управления;
- собственные systemd-сервисы.
2. Разделите данные и конфигурацию
Одна из распространённых ошибок при миграции — считать, что достаточно скопировать пользовательские файлы.На сервере есть как минимум две разные категории данных:
Данные:
- файлы сайтов;
- базы данных;
- загруженные пользователями файлы;
- документы;
- медиафайлы;
- данные приложений.
- настройки веб-сервера;
- PHP;
- базы данных;
- SSH;
- firewall;
- cron;
- systemd;
- сетевые интерфейсы;
- точки монтирования;
- пользователи и группы;
- SSL-сертификаты;
- настройки приложений.
После переустановки ОС файлы сайта можно восстановить из резервной копии, но без конфигурации веб-сервер не обязательно будет знать, какой домен обслуживать и из какого каталога брать файлы.
Поэтому при миграции необходимо сохранять не только данные, но и конфигурацию.
3. Проверьте дополнительные диски
Если сервер использует несколько дисков, сначала определите, где находятся данные.lsblk -fДополнительно:
df -hTПосмотреть текущие точки монтирования:
findmntОсобое внимание стоит уделить файлу:
cat /etc/fstabЕсли данные находятся на отдельном диске, переустановка операционной системы сама по себе не должна удалять данные с этого диска, если он не форматируется и не используется для установки новой ОС.
Однако после переустановки потребуется заново настроить доступ к этому диску: файловую систему, точку монтирования, владельцев, права доступа и сервисы, которые используют расположенные на нём данные.
Например, если сайт использует /data/www, после установки новой ОС необходимо убедиться, что диск снова смонтирован именно в /data.
4. Проверьте занятое место
Перед переносом определите объём данных.df -hЧтобы найти каталоги, занимающие больше всего места:
du -xh --max-depth=1 /var | sort -hДля домашнего каталога:
du -xh --max-depth=1 /home | sort -hЭто особенно важно при переносе на сервер с меньшим объёмом диска.
Не стоит забывать о:
- логах;
- резервных копиях;
- Docker-образах;
- кэше;
- временных файлах;
- старых версиях приложений;
- дампах баз данных.
5. Сохраните конфигурацию
Перед началом миграции рекомендуется сохранить конфигурационные файлы используемых сервисов.Например:
/etc/nginx/
/etc/apache2/
/etc/php/
/etc/mysql/
/etc/ssh/
/etc/systemd/
/etc/fstab
Конкретные каталоги зависят от установленного программного обеспечения и дистрибутива Linux.
Также желательно сохранить конфигурацию firewall.
Для систем с UFW:
ufw statusДля nftables:
nft list rulesetДля iptables:
iptables-saveВажно не переносить конфигурацию без проверки совместимости. Например, конфигурация Nginx, PHP или MariaDB со старой версии ПО может потребовать изменений после установки новой версии.
6. Сохраните список установленных пакетов
После переноса полезно знать, какое программное обеспечение было установлено на старом сервере.В Debian/Ubuntu можно использовать:
dpkg --get-selections > packages.txtТакже можно получить список установленных пакетов:
apt list --installed > packages.txtНа системах с RPM:
rpm -qa > packages.txtЭто позволит определить, какие дополнительные пакеты необходимо установить на новом сервере.
7. Проверьте пользователей и группы
При переносе приложений важно учитывать не только файлы, но и их владельцев.Проверить пользователей:
cat /etc/passwdГруппы:
cat /etc/groupОсобое внимание стоит уделить системным пользователям, от имени которых работают сервисы.
Например:
- www-data;
- nginx;
- apache;
- mysql;
- redis.
Проверить владельца файла можно командой:
ls -la /path/to/file8. Сохраните SSH-доступ
Перед переносом необходимо убедиться, что вы не потеряете доступ к серверу.Проверьте SSH-конфигурацию:
sshd -TИ настройки:
cat /etc/ssh/sshd_configПроверьте авторизованные ключи:
cat ~/.ssh/authorized_keysДля root:
cat /root/.ssh/authorized_keysЕсли на новом сервере используется другой IP-адрес, заранее подготовьте новый доступ и проверьте подключение до отключения старого сервера.
Не рекомендуется выполнять миграцию, имея единственный способ доступа.
9. Проверьте cron-задачи
Автоматические задачи часто забывают перенести.Для текущего пользователя:
crontab -lДля другого пользователя:
crontab -u USERNAME -lТакже проверьте системные каталоги:
ls -la /etc/cron.d/
ls -la /etc/cron.daily/
ls -la /etc/cron.hourly/
ls -la /etc/cron.weekly/Если приложение использует cron для резервного копирования, очистки файлов, обработки очередей или других задач, эти задания необходимо восстановить на новом сервере.
10. Проверьте systemd-сервисы
Если на сервере используются собственные службы, определите, какие из них запускаются автоматически:systemctl list-unit-files --state=enabledДля конкретной службы:
systemctl status SERVICE_NAMEКонфигурацию можно посмотреть:
systemctl cat SERVICE_NAMEОсобое внимание следует уделить самостоятельно созданным unit-файлам.
Например:
/etc/systemd/system/После переноса недостаточно скопировать саму программу. Необходимо также восстановить службу, её параметры запуска, пользователя и зависимости.
11. Подготовьте базы данных
Базы данных желательно переносить с использованием штатных инструментов СУБД.Для MySQL/MariaDB можно создать дамп:
mysqldump -u root -p --all-databases > all_databases.sqlПосле создания проверьте файл:
ls -lh all_databases.sqlЕсли база большая, может потребоваться более подходящий способ миграции, например отдельный дамп каждой базы или физическая репликация.
Также не забудьте о пользователях и правах доступа к базам данных.
После восстановления на новом сервере необходимо проверить:
- наличие всех баз;
- наличие таблиц;
- пользователей;
- права доступа;
- кодировки;
- подключение приложений.
12. Перенесите файлы с помощью rsync
Для больших объёмов данных удобно использовать rsync.Пример:
rsync -aHAX --info=progress2 /source/ user@NEW_SERVER:/destination/Перед финальным переносом можно выполнить предварительную синхронизацию.
Это особенно удобно, если старый сервер продолжает работать. Большая часть файлов будет перенесена заранее, а во время финальной синхронизации потребуется передать только изменения.
При необходимости можно использовать дополнительные параметры:
rsync -aHAX --delete --info=progress2 /source/ user@NEW_SERVER:/destination/С параметром --delete нужно быть особенно осторожным: файлы, отсутствующие в источнике, могут быть удалены на сервере назначения.
13. Проверьте сетевые настройки
Перед переключением сервера сохраните текущую сетевую конфигурацию.Полезные команды:
ip addr
ip route
cat /etc/resolv.confВ зависимости от дистрибутива настройки могут находиться в NetworkManager, Netplan, systemd-networkd или других системных компонентах.
Не следует бездумно переносить сетевые конфигурационные файлы со старого сервера на новый. IP-адреса, имена интерфейсов, шлюзы и другие параметры могут отличаться.
14. Проверьте DNS
Если после миграции меняется IP-адрес сервера, необходимо заранее подготовить DNS.Проверьте записи домена:
- A;
- AAAA;
- MX;
- CNAME;
- TXT;
- SPF;
- DKIM;
- DMARC.
До переключения можно уменьшить TTL DNS-записей, чтобы изменения распространялись быстрее.
При этом необходимо учитывать, что снижение TTL не гарантирует мгновенного обновления у всех клиентов: некоторые резолверы и системы могут кэшировать записи дольше.
15. Подготовьте SSL-сертификаты
Если сертификаты выпускаются автоматически, заранее проверьте механизм их получения.Например, для Let's Encrypt важно, чтобы новый сервер был доступен по необходимым доменам и мог пройти ACME-проверку.
После переноса проверьте:
curl -I https://example.comИ убедитесь, что сертификат соответствует домену и имеет корректный срок действия.
16. Подготовьте новый сервер
После анализа старого сервера можно подготовить новую систему.Необходимо установить:
- операционную систему;
- необходимые пакеты;
- веб-сервер;
- PHP;
- СУБД;
- дополнительные сервисы;
- firewall;
- приложения;
- необходимые systemd-службы.
Например, при переходе с одной версии Ubuntu на другую конфигурация некоторых компонентов может измениться. Поэтому миграция — хороший момент для проверки совместимости и удаления устаревших компонентов.
17. Настройте диски на новом сервере
Если используются дополнительные диски, сначала проверьте их:lsblk
lsblk -fСоздайте необходимые точки монтирования:
mkdir -p /dataПосле настройки /etc/fstab проверьте конфигурацию:
mount -aЗатем:
df -hПеред перезагрузкой сервера особенно важно убедиться, что /etc/fstab не содержит ошибок. Некорректная запись может привести к проблемам при загрузке системы.
18. Протестируйте новый сервер до изменения DNS
Необязательно сразу переключать домен на новый IP.Для предварительной проверки сайта можно временно добавить запись в файл /etc/hosts на своём компьютере:
NEW_SERVER_IP example.com
После этого запросы к example.com с вашего компьютера будут направляться на новый сервер.
Проверьте:
- открытие сайта;
- HTTPS;
- авторизацию;
- загрузку файлов;
- работу базы данных;
- API;
- cron;
- фоновые задачи;
- отправку почты;
- работу всех необходимых сервисов.
19. Выполните финальную синхронизацию
Если старый сервер продолжал работать во время подготовки нового, перед переключением необходимо перенести последние изменения.Типичный порядок:
- остановить приложения или перевести их в режим обслуживания;
- остановить сервисы, изменяющие данные;
- выполнить финальный дамп базы данных;
- перенести изменившиеся файлы;
- восстановить или обновить базу данных на новом сервере;
- проверить права доступа;
- запустить сервисы;
- выполнить тестирование;
- изменить DNS.
20. Проверьте сервер после переключения
После изменения DNS необходимо убедиться, что новый сервер действительно обслуживает запросы.Проверить HTTP:
curl -I https://example.comПроверить DNS:
dig example.comПроверить сервисы:
systemctl --type=service --state=runningПроверить дисковое пространство:
df -hПроверить нагрузку:
uptimeТакже стоит посмотреть системные журналы:
journalctl -p warning -bИ логи конкретных сервисов.
В первые часы после переноса желательно внимательнее следить за CPU, RAM, дисковой и сетевой нагрузкой.
21. Не удаляйте старый сервер сразу
После успешного переключения не стоит немедленно удалять старую систему.Лучше оставить её доступной на некоторое время в зависимости от критичности проекта и убедиться, что:
- все данные перенесены;
- сайты работают;
- базы данных актуальны;
- cron-задачи выполняются;
- почта работает;
- резервное копирование настроено;
- пользователи не сталкиваются с ошибками.
Что проверить перед переносом
Перед началом миграции удобно использовать следующий чек-лист:- Определена версия ОС.
- Проверены CPU, RAM и диски.
- Составлен список используемых сервисов.
- Определены каталоги с данными.
- Проверены дополнительные диски.
- Сохранена конфигурация сервисов.
- Сохранены пользователи и SSH-ключи.
- Проверены cron-задачи.
- Проверены systemd-сервисы.
- Созданы резервные копии.
- Созданы дампы баз данных.
- Подготовлен новый сервер.
- Настроены диски и точки монтирования.
- Установлено необходимое ПО.
- Подготовлен DNS.
- Проверены SSL-сертификаты.
- Новый сервер протестирован.
- Выполнена финальная синхронизация.
- После переключения проверены сервисы и логи.
Заключение
Подготовка Linux-сервера к переносу состоит из нескольких этапов: инвентаризации, резервного копирования, сохранения конфигурации, подготовки нового оборудования или VPS, переноса данных и финального тестирования.Главное — не воспринимать миграцию как простое копирование файлов. Данные, конфигурация и сама операционная система — это разные составляющие сервера. Если данные находятся на отдельном диске, они могут пережить переустановку ОС, однако после установки новой системы всё равно потребуется восстановить точки монтирования, пользователей, права доступа и настройки сервисов.
Лучший подход — сначала подготовить новый сервер и перенести большую часть данных, затем выполнить финальную синхронизацию и только после проверки переключить DNS. Это позволяет существенно сократить простой и снизить риск потери данных или некорректной работы сервисов.