Hetzner - DokuWiki
How to migrate vServers to Cloud/ru
Inhaltsverzeichnis |
Миграция с vServer на Cloud
Вы можете мигрировать существующие VQ/VX/CX виртуальные серверы на современное облако
этапы миграции:
- создать аналогичный или более мощный облачный сервер
- запустить Rescue-систему на обоих серверах и примонтировать файловые системы
- запустить rsync для синхронизации
Отказ от ответственности: Индивидуальные установки могут потребовать большее число шагов или другой их набор.
важная информация
Следующие операционные системы не поддерживаются.
- Debian 6 и старше
- Ubuntu 11.10 и старше
- CentOS 5.6 и старше
- OpenSUSE 11.4 и старше
Для вышеперечисленных систем требуется обновление на более новую версию.
Перед переносом, все пакеты ДОЛЖНЫ быть обновлены до минимальной поддерживаемой версии. Частично обновленные системы и системы с пакетами из сторонних репозиториев могут работать не так, как ожидается, и не поддерживаются.
активация Rescue-системы
Для передачи данных загрузите сервер в Rescue-систему. Активировать Rescue-систему можно верез панель Robot или Cloud Console.
монтирование файловой системы
Для копирования файлов надо примонтировать файловую систему.
На серверах VQ/VX/CX используются разные контроллеры. Пожалуйста, проверьте разделы командой:
$ fdisk -l
Примонтировать файловую систему можно при помощи следующей команды.
$ mount /dev/XXXY /mnt
Пожалуйста, замените ХХХ на имя диска из вывода fdisk -l и Y на номер раздела.
Монтирование swap-раздела:
$ swapon /dev/XXXY
Если есть загрузочный (boot) раздел, то его надо монтировать после основного раздела.
Точка монтирования для загрузочного раздела /mnt/boot.
Монтирование файловой системы облачного сервера производится позже.
Изменение на DHCP
Debian/Ubuntu
редактирование файла /mnt/etc/network/interfaces
Удалите строки типа auto ens3, iface ens3 inet static .
auto eth0 iface eth0 inet dhcp iface eth0 inet6 static address netmask 64 gateway fe80::1
Удалите другие строки типа address, netmask и gateway в части настройки IPv4 (iface eth0 inet dhcp).
CentOS и openSUSE
rm /mnt/etc/sysconfig/network-scripts/route-eth0
редактирование файла /mnt/etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
Удалите строки типа IPADDR, NETMASK, SCOPE и BROADCAST.
Arch Linux
Если установка Arch Linux производилась с помощью нашего ISO или installimage, то используется systemd-network.
Редактирование файла /mnt/etc/systemd/network/network/10-ens3.network (в некоторых случаях и 10-eth0.network)
[Match] Name=eth0 [Network] DHCP=ipv4
Удалите строки типа address и Gateway.
Удаление udev-правил для сетевого интерфейса
Каждый виртуальный сервер имеет уникальный MAC, пожалуйста, удалите текущее udev-правило при подготовке к миграции.
rm /mnt/etc/udev/rules.d/70-persistent-net.rules rm /mnt/etc/udev/rules.d/80-net-setup-link.rules
Arch Linux
Создайте ссылку на /dev/null. Благодаря этому сетевая карта снова будет иметь имя eth0.
$ ln -s /dev/null /etc/systemd/network/99-default.link
Миграция на Облачный Сервер
Очистка диска
На первом шаге надо удалить файловую систему облачного сервера.
$ mkfs.ext4 /dev/sda1
монтирование файловой системы на облачном сервере
$ mount /dev/sda1 /mnt
миграция
Передача данных будет осуществляться при помощи rsync
$ rsync -avz --progress IP-старого-сервера:/mnt/* /mnt
Обновление fstab на облачном сервере. Это процедура необходима, в противном случае сервер не сможет загрузиться.
Чтение UUID разделов.
$ blkid -o value -s UUID /dev/sda1
Пример /mnt/etc/fstab со старыми значениями UUID
UUID=bad16011-8988-4c53-ba5c-6727f8b90001 / ext3 defaults 0 0
изменяется на
UUID=bad16011-8988-4c53-ba5c-6727f8b90001 / ext4 discard,errors=remount-ro 0 1
GRUB
Загрузчик имеет старую конфигурацию. Обновим конфигурации с помощью следующих команд.
Debian/Ubuntu
$ chroot-prepare /mnt ; chroot /mnt $ grub-mkdevicemap $ grub-install /dev/sda $ update-initramfs -u
На Debian 9 перед выполнением следующих команд следует отредактировать файл /etc/default/grub:
GRUB_CMDLINE_LINUX="net.ifnames=0"
Это приведет к тому, сетевая карта будет доступна в системе как eth0 вместо ens3. Теперь запустите следующие команды:
$ update-grub $ exit
CentOS 6
$ chroot-prepare /mnt ; chroot /mnt $ grub-install /dev/sda
Из-за того, что grub-install не обновляет загрузчик, следует вручную указать новый UUID в файле /boot/grub/grub.cfg.
После редактирования /boot/grub/grub.cfg можно выполнить следующие команды.
$ dracut -f $ exit
CentOS 7
$ chroot-prepare /mnt ; chroot /mnt $ grub2-install /dev/sda $ grub2-mkconfig -o /boot/grub2/grub.cfg $ dracut -f $ exit
Arch Linux
$ chroot-prepare /mnt ; chroot /mnt $ grub-install /dev/sda $ grub-mkconfig -o /boot/grub/grub.cfg $ mkinitcpio -p linux $ exit
openSUSE
$ chroot-prepare /mnt ; chroot /mnt $ grub2-install /dev/sda $ grub2-mkconfig -o /boot/grub2/grub.cfg $ mkinitrd $ exit
завершающие шаги на Облачном Сервере
Чтобы снова использовать облачный сервер, пожалуйста, размонтируйте файловую систему
размонтировать файловую систему
$ umount -R /mnt
перезапустите сервер
$ reboot