Hetzner - DokuWiki

How to migrate vServers to Cloud/ru
(GRUB)
Zeile 5: Zeile 5:
 
Вы можете мигрировать существующие VQ/VX/CX виртуальные серверы на современное облако
 
Вы можете мигрировать существующие VQ/VX/CX виртуальные серверы на современное облако
  
этапы миграции:
+
Этапы миграции:
  
 
#создать аналогичный или более мощный облачный сервер
 
#создать аналогичный или более мощный облачный сервер
Zeile 13: Zeile 13:
 
Отказ от ответственности: Индивидуальные установки могут потребовать большее число шагов или другой их набор.
 
Отказ от ответственности: Индивидуальные установки могут потребовать большее число шагов или другой их набор.
  
== важная информация ==
+
== Важная информация ==
  
 
Следующие операционные системы не поддерживаются.
 
Следующие операционные системы не поддерживаются.
Zeile 26: Zeile 26:
 
Перед переносом, все пакеты ДОЛЖНЫ быть обновлены до минимальной поддерживаемой версии. Частично обновленные системы и системы с пакетами из сторонних репозиториев могут работать не так, как ожидается, и не поддерживаются.
 
Перед переносом, все пакеты ДОЛЖНЫ быть обновлены до минимальной поддерживаемой версии. Частично обновленные системы и системы с пакетами из сторонних репозиториев могут работать не так, как ожидается, и не поддерживаются.
  
== <span class="mw-headline" id="Rescue_auf_beiden_Systemen_aktivieren">активация Rescue-системы</span> ==
+
== <span class="mw-headline" id="Rescue_auf_beiden_Systemen_aktivieren">Активация Rescue-системы</span> ==
  
Для передачи данных загрузите сервер в Rescue-систему. Активировать Rescue-систему можно верез панель Robot или Cloud Console.
+
Для передачи данных загрузите сервер в Rescue-систему. Для VQ/VX/CX виртуальных серверов Rescue-система активируется через панель Robot на вкладке «vServer».
  
=== <span class="mw-headline" id="Mounten_des_Dateisystems">монтирование файловой системы</span> ===
+
[[File:Robot-Rescue.png|border|200px]]
 +
[[File:Robot-Reset.png|border|200px]]
  
Для копирования файлов надо примонтировать файловую систему.
+
Для облачных серверов Rescue-система активируется через свою облачную консоль. Сервер будет перезагружен в Rescue-систему.
 +
 
 +
[[File:Cloud-Rescue-And-Reset.png|border|200px]]
 +
 
 +
=== <span class="mw-headline" id="Mounten_des_Dateisystems">Монтирование файловой системы</span> ===
 +
 
 +
Для копирования файлов необходимо примонтировать файловую систему.
  
 
На серверах VQ/VX/CX используются разные контроллеры. Пожалуйста, проверьте разделы командой:
 
На серверах VQ/VX/CX используются разные контроллеры. Пожалуйста, проверьте разделы командой:
 
<pre>
 
<pre>
$ fdisk -l
+
old_server ~ # fdisk -l
 
</pre>
 
</pre>
 +
 +
[[File:Sample_Output_of_fdisk.png|border|200px]]
 +
 
Примонтировать файловую систему можно при помощи следующей команды.
 
Примонтировать файловую систему можно при помощи следующей команды.
 
<pre>
 
<pre>
$ mount /dev/XXXY /mnt
+
old_server ~ # mount /dev/XXXY /mnt
 
</pre>
 
</pre>
Пожалуйста, замените ХХХ на имя диска из вывода fdisk -l и Y на номер раздела.
+
Пожалуйста, замените ХХХ на имя диска из вывода fdisk -l и Y на номер раздела. Если у вас несколько разделов, они должны быть примонтирваны по порядку как при установке (например, /before/boot)
  
 
Монтирование swap-раздела:
 
Монтирование swap-раздела:
 
<pre>
 
<pre>
$ swapon /dev/XXXY
+
old_server ~ # swapon /dev/XXXY
 
</pre>
 
</pre>
  
Zeile 55: Zeile 65:
 
Монтирование файловой системы облачного сервера производится позже.
 
Монтирование файловой системы облачного сервера производится позже.
  
=== <span class="mw-headline" id="Umstellung_auf_DHCP">Изменение на DHCP</span> ===
 
 
==== <span class="mw-headline" id="Debian.2FUbuntu">Debian/Ubuntu</span> ====
 
 
редактирование файла /mnt/etc/network/interfaces
 
 
Удалите строки типа auto ens3, iface ens3 inet static .
 
<pre>
 
auto eth0
 
iface eth0 inet dhcp
 
iface eth0 inet6 static
 
    address
 
    netmask 64
 
    gateway fe80::1
 
</pre>
 
Удалите другие строки типа address, netmask и gateway в части настройки IPv4 (iface eth0 inet dhcp).
 
 
==== <span class="mw-headline" id="CentOS_und_openSUSE">CentOS и openSUSE</span> ====
 
<pre>
 
rm /mnt/etc/sysconfig/network-scripts/route-eth0
 
</pre>
 
редактирование файла /mnt/etc/sysconfig/network-scripts/ifcfg-eth0
 
<pre>
 
BOOTPROTO=dhcp
 
</pre>
 
Удалите строки типа IPADDR, NETMASK, SCOPE и BROADCAST.
 
 
==== <span class="mw-headline" id="Arch_Linux">Arch Linux</span> ====
 
 
Если установка Arch Linux производилась с помощью нашего ISO или installimage, то используется systemd-network.
 
 
Редактирование файла /mnt/etc/systemd/network/network/10-ens3.network '''(в некоторых случаях и 10-eth0.network)'''
 
<pre>
 
[Match]
 
Name=eth0
 
[Network]
 
DHCP=ipv4
 
</pre>
 
Удалите строки типа address и Gateway.
 
 
=== <span class="mw-headline" id="Entfernung_der_udev-Regel_der_Netzwerkkarte">Удаление udev-правил для сетевого интерфейса</span> ===
 
 
Каждый виртуальный сервер имеет уникальный MAC, пожалуйста, удалите текущее udev-правило при подготовке к миграции.
 
<pre>
 
rm /mnt/etc/udev/rules.d/70-persistent-net.rules
 
rm /mnt/etc/udev/rules.d/80-net-setup-link.rules
 
</pre>
 
==== <span class="mw-headline" id="Arch_Linux_2">Arch Linux</span> ====
 
 
Создайте ссылку на /dev/null. Благодаря этому сетевая карта снова будет иметь имя eth0.
 
<pre>
 
$ ln -s /dev/null /etc/systemd/network/99-default.link
 
</pre>
 
 
== <span class="mw-headline" id="Migration_auf_Cloud_Server">Миграция на Облачный Сервер</span> ==
 
== <span class="mw-headline" id="Migration_auf_Cloud_Server">Миграция на Облачный Сервер</span> ==
  
Zeile 200: Zeile 157:
 
$ exit
 
$ exit
 
</pre>
 
</pre>
 +
 +
=== <span class="mw-headline" id="Umstellung_auf_DHCP">Изменение на DHCP</span> ===
 +
 +
==== <span class="mw-headline" id="Debian.2FUbuntu">Debian/Ubuntu</span> ====
 +
 +
редактирование файла /mnt/etc/network/interfaces
 +
 +
Удалите строки типа auto ens3, iface ens3 inet static .
 +
<pre>
 +
auto eth0
 +
iface eth0 inet dhcp
 +
iface eth0 inet6 static
 +
    address
 +
    netmask 64
 +
    gateway fe80::1
 +
</pre>
 +
Удалите другие строки типа address, netmask и gateway в части настройки IPv4 (iface eth0 inet dhcp).
 +
 +
==== <span class="mw-headline" id="CentOS_und_openSUSE">CentOS и openSUSE</span> ====
 +
<pre>
 +
rm /mnt/etc/sysconfig/network-scripts/route-eth0
 +
</pre>
 +
редактирование файла /mnt/etc/sysconfig/network-scripts/ifcfg-eth0
 +
<pre>
 +
BOOTPROTO=dhcp
 +
</pre>
 +
Удалите строки типа IPADDR, NETMASK, SCOPE и BROADCAST.
 +
 +
==== <span class="mw-headline" id="Arch_Linux">Arch Linux</span> ====
 +
 +
Если установка Arch Linux производилась с помощью нашего ISO или installimage, то используется systemd-network.
 +
 +
Редактирование файла /mnt/etc/systemd/network/network/10-ens3.network '''(в некоторых случаях и 10-eth0.network)'''
 +
<pre>
 +
[Match]
 +
Name=eth0
 +
[Network]
 +
DHCP=ipv4
 +
</pre>
 +
Удалите строки типа address и Gateway.
 +
 +
=== <span class="mw-headline" id="Entfernung_der_udev-Regel_der_Netzwerkkarte">Удаление udev-правил для сетевого интерфейса</span> ===
 +
 +
Каждый виртуальный сервер имеет уникальный MAC, пожалуйста, удалите текущее udev-правило при подготовке к миграции.
 +
<pre>
 +
rm /mnt/etc/udev/rules.d/70-persistent-net.rules
 +
rm /mnt/etc/udev/rules.d/80-net-setup-link.rules
 +
</pre>
 +
==== <span class="mw-headline" id="Arch_Linux_2">Arch Linux</span> ====
 +
 +
Создайте ссылку на /dev/null. Благодаря этому сетевая карта снова будет иметь имя eth0.
 +
<pre>
 +
$ ln -s /dev/null /etc/systemd/network/99-default.link
 +
</pre>
 +
  
 
== <span class="mw-headline" id="Letzte_Schritte_beim_Cloud_Server">завершающие шаги на Облачном Сервере</span> ==
 
== <span class="mw-headline" id="Letzte_Schritte_beim_Cloud_Server">завершающие шаги на Облачном Сервере</span> ==

Version vom 4. Oktober 2018, 14:31 Uhr

Inhaltsverzeichnis

Миграция с vServer на Cloud

Вы можете мигрировать существующие VQ/VX/CX виртуальные серверы на современное облако

Этапы миграции:

  1. создать аналогичный или более мощный облачный сервер
  2. запустить Rescue-систему на обоих серверах и примонтировать файловые системы
  3. запустить rsync для синхронизации

Отказ от ответственности: Индивидуальные установки могут потребовать большее число шагов или другой их набор.

Важная информация

Следующие операционные системы не поддерживаются.

  • Debian 6 и старше
  • Ubuntu 11.10 и старше
  • CentOS 5.6 и старше
  • OpenSUSE 11.4 и старше

Для вышеперечисленных систем требуется обновление на более новую версию.

Перед переносом, все пакеты ДОЛЖНЫ быть обновлены до минимальной поддерживаемой версии. Частично обновленные системы и системы с пакетами из сторонних репозиториев могут работать не так, как ожидается, и не поддерживаются.

Активация Rescue-системы

Для передачи данных загрузите сервер в Rescue-систему. Для VQ/VX/CX виртуальных серверов Rescue-система активируется через панель Robot на вкладке «vServer».

Robot-Rescue.png Robot-Reset.png

Для облачных серверов Rescue-система активируется через свою облачную консоль. Сервер будет перезагружен в Rescue-систему.

Cloud-Rescue-And-Reset.png

Монтирование файловой системы

Для копирования файлов необходимо примонтировать файловую систему.

На серверах VQ/VX/CX используются разные контроллеры. Пожалуйста, проверьте разделы командой:

old_server ~ # fdisk -l

Sample Output of fdisk.png

Примонтировать файловую систему можно при помощи следующей команды.

old_server ~ # mount /dev/XXXY /mnt

Пожалуйста, замените ХХХ на имя диска из вывода fdisk -l и Y на номер раздела. Если у вас несколько разделов, они должны быть примонтирваны по порядку как при установке (например, /before/boot)

Монтирование swap-раздела:

old_server ~ # swapon /dev/XXXY

Если есть загрузочный (boot) раздел, то его надо монтировать после основного раздела.

Точка монтирования для загрузочного раздела /mnt/boot.

Монтирование файловой системы облачного сервера производится позже.

Миграция на Облачный Сервер

Очистка диска

На первом шаге надо удалить файловую систему облачного сервера.

$ 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

Изменение на 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


завершающие шаги на Облачном Сервере

Чтобы снова использовать облачный сервер, пожалуйста, размонтируйте файловую систему

размонтировать файловую систему

$ umount -R /mnt

перезапустите сервер

$ reboot


© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.