Хостинг
VDS
Аренда серверов
Домены
Почта
SSL
Хранилище
Сайты
Обзоры
Регламенты
AI Studio
Kubernetes
Архив
Миграция VDS на выделенный сервер

Миграция VDS на выделенный сервер

В данной статье мы расскажем вам, как осуществляли переезд с VDS на выделенный сервер.

Внимание. У нас сервер настроен для загрузки в режиме Legacy BIOS. У вас может быть режим UEFI. Предварительно стоит проверить этот момент или уточнить в поддержке. Мы рекомендуем использовать Legacy BIOS, как более привычный режим в плане работы и его настройки.

Для работы с сервером нам необходимо будет его включить в Live-режиме (rescue mode), чтобы получить доступ к файловой системе. Для загрузки сервера в Live-режиме (rescue mode) и проведения работ лучше всего подходят следующие Linux ISO-образы. Мы остановили свой выбор на Grml.

Grml — это загрузочная Live-система (Live-CD) на основе Debian . Она включает в себя набор программного обеспечения GNU/Linux, специально предназначенный для системных администраторов. Grml особенно хорошо подходит для административных задач, таких как установка, развертывание и восстановление системы.

Копируем ссылку на ISO образ с официального сайта и загружаем его в личный кабинет.

image12.png

После завершения загрузки подключаем образ к серверу. Сервер при этом автоматически перезагрузится.

image10.png

Переходим в IPMI интерфейс и авторизуемся c с реквизитами, которые получили в письме после заказа сервера.

image4.png

Запускаем виртуальную консоль.

image3.png

В ней нас ожидает терминал.

image9.png

Приступаем к работе на самом сервере. В первую очередь поднимем на нем сеть.

Смотрим статусы сетевых интерфейсов

ip link show

Видим, интерфейс с названием enp130s0f0 имеет состояние UP.

image13.png

Добавляем на него IP-адрес

ip addr add 45.86.39.67/25 dev enp130s0f0

основной маршрут

ip route add default via 45.86.39.1 dev enp130s0f0

DNS резолверы

echo -e "nameserver 8.8.8.8\nnameserver 1.1.1.1" | tee /etc/resolv.conf

Для удобной дальнейшей работы будем использовать SSH. Запускаем его

systemctl start ssh

Задаем себе пароль для входа

passwd

Вводим и подтверждаем пароль. В терминале при вводе он не отображается!

image6.png

Подключаемся к серверу по SSH

ssh root@45.86.39.67

Проверяем наличие дисков командой

fdisk -l

image16.png

В нашем случае было решено переносить систему на SSD (/dev/sda), а NVMe (/dev/nvme0n1) использовать в качестве домашнего каталога для проекта.

Создаем разделы на дисках

fdisk /dev/sda

Откроется интерфейс утилиты fdisk, используем команды команды

Command (m for help): n
Partition number (1-128, default 1): 
First sector (34-3907029134, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-3907029134, default 3907028991): 
Command (m for help): w
Command (m for help): q

Повторяем то же самое для второго диска

fdisk /dev/nvme0n1

Обратите внимание, если у вас загрузочный SSD диск был с разметкой GPT (Disklabel type: gpt), рекомендуем изменить его тип на MBR для работы с Legacy BIOS. Для этого в fdisk перед созданием раздела измените тип диска с помощью

Command (m for help): o

И обязательно проверьте

Command (m for help): p

Disklabel type: dos.

image2.png

После чего создаем файловую систему на новом разделе

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/nvme0n1p1

И монтируем наши диски

mount /dev/sda1 /mnt/

Помним, что NVMe диск у нас будет примонтирован в /home

mkdir /mnt/home
mount /dev/nvme0n1p1 /mnt/home/

image15.png

Оба диска смонтированы, возвращаемся к нашему VDS.

В личном кабинете переводим VDS в аварийный режим, чтобы исключить запись на диск в процессе копирования.

image5.png

Открываем VNC и попадаем в терминал аналогичного Grml образа.

image14.png

Так же запускаем на нем SSH, задаем пароль и подключаемся по сети.

image6.png

Монтируем диск /dev/vda1 и проверяем

mount /dev/vda1 /mnt/
ls -l /mnt

image7.png

Запускаем копирование файловой системы через rsync, пропуская виртуальные каталоги

rsync -avxHAX --numeric-ids --info=progress2 \
  --exclude={'/mnt/dev/*','/mnt/proc/*','/mnt/sys/*','/mnt/tmp/*','/mnt/run/*','/mnt/lost+found'} \
  /mnt/ root@45.86.39.67:/mnt/

Ожидаем завершения процесса. Если диск большого объема, копирование может занять длительное время.

По завершению копирования возвращаемся на новый сервер, монтируем системные каталоги и заходим в гостевую систему (сhroot)

for i in /dev /proc /sys /run ; do mount --bind $i /mnt/$i; done
chroot /mnt/ /bin/bash

С помощью команды blkid получим информацию об UID дисков

image8.png

Редактируем /etc/fstabи прописываем (изменяем) точки монтирования

image1.png

Удаляем гостевого агента из системы, т.к. на выделенном сервере он не понадобится

rm /etc/cron.daily/phoenix-ga-updater
rm /etc/systemd/system/phoenix-ga.service
rm /usr/sbin/phoenix-ga
rm /etc/network/if-up.d/phoenix-ga-netinit
rm /etc/network/if-down.d/phoenix-ga-netinit

Прописываем сетевые настройки сервера в файл /etc/network/interfaces

auto enp130s0f0
iface enp130s0f0 inet static
    address 45.86.39.67
    netmask 255.255.255.128
    gateway 45.86.39.1
    dns-nameservers 8.8.8.8 8.8.4.4

Не забываем установить драйвер для сетевой карты сервера.

apt update
apt install firmware-bnx2x

После чего ставим загрузчик на диск /dev/sda

grub-install /dev/sda
update-initramfs -u
grub-mkconfig -o /boot/grub/grub.cfg

Важно! Обратите внимание, что загрузчик устанавливается именно на диск /dev/sda, а не на раздел /dev/sda1.

Возвращаемся в раздел “Аренда серверов” и отключаем ISO образ.

После чего сервер будет перезагружен в перенесенную операционную систему. Заходим на сервер по SSH.

Проверяем конфигурацию Nginx, Apache2 и другого ПО на явное указание старого IP-адреса в конфигурациях. Если есть - меняем на новый IP-адрес

grep -rl "80.81.104.11" /etc | xargs -n1 sed -i "s|80.81.104.11|45.86.39.67|g"

  • 80.81.104.11 - наш старый IP-адрес с VDS.

Если у вас VDS был без панели управления NetAngels, пропустите последующие шаги (*).

* Выключаем панель управления NetAngels, т.к. на выделенных серверах она не используется в работе

systemctl disable --now netangels-panel.service

* Отключаем автонастройку сети в Nginx

rm /etc/systemd/system/nginx.service.d/override.conf
systemctl daemon-reload

* В файл /etc/nginx/listen.conf прописываем и сохраняем

listen 45.86.39.67:80;

Перезапускаем Nginx и при необходимости другие сервисы

systemctl restart nginx

Меняем в DNS старый IP-адрес на новый и ждем, когда изменения вступят в силу, обычно не более часа.

Таким образом мы смигрировали VDS на железный сервер без каких-либо изменений в логике работы ПО.

При необходимости можно провести тюнинг настроек ПО, например, увеличить количество воркеров в Nginx, оптимизировать буферы в MariaDB и т.п.

Нам доверяют тысячи компаний и разработчиков

22 года
Предоставляем услуги профессионального хостинга
35 000+
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime наших серверов хостинга
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
ВК49865