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"> | + | == <span class="mw-headline" id="Rescue_auf_beiden_Systemen_aktivieren">Активация Rescue-системы</span> == |
− | Для передачи данных загрузите сервер в Rescue-систему. | + | Для передачи данных загрузите сервер в Rescue-систему. Для VQ/VX/CX виртуальных серверов Rescue-система активируется через панель Robot на вкладке «vServer». |
− | + | [[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> | ||
− | + | old_server ~ # fdisk -l | |
</pre> | </pre> | ||
+ | |||
+ | [[File:Sample_Output_of_fdisk.png|border|200px]] | ||
+ | |||
Примонтировать файловую систему можно при помощи следующей команды. | Примонтировать файловую систему можно при помощи следующей команды. | ||
<pre> | <pre> | ||
− | + | old_server ~ # mount /dev/XXXY /mnt | |
</pre> | </pre> | ||
− | Пожалуйста, замените ХХХ на имя диска из вывода fdisk -l и Y на номер раздела. | + | Пожалуйста, замените ХХХ на имя диска из вывода fdisk -l и Y на номер раздела. Если у вас несколько разделов, они должны быть примонтирваны по порядку как при установке (например, /before/boot) |
Монтирование swap-раздела: | Монтирование swap-раздела: | ||
<pre> | <pre> | ||
− | + | old_server ~ # swapon /dev/XXXY | |
</pre> | </pre> | ||
Zeile 55: | Zeile 65: | ||
Монтирование файловой системы облачного сервера производится позже. | Монтирование файловой системы облачного сервера производится позже. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== <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 виртуальные серверы на современное облако
Этапы миграции:
- создать аналогичный или более мощный облачный сервер
- запустить Rescue-систему на обоих серверах и примонтировать файловые системы
- запустить rsync для синхронизации
Отказ от ответственности: Индивидуальные установки могут потребовать большее число шагов или другой их набор.
Важная информация
Следующие операционные системы не поддерживаются.
- Debian 6 и старше
- Ubuntu 11.10 и старше
- CentOS 5.6 и старше
- OpenSUSE 11.4 и старше
Для вышеперечисленных систем требуется обновление на более новую версию.
Перед переносом, все пакеты ДОЛЖНЫ быть обновлены до минимальной поддерживаемой версии. Частично обновленные системы и системы с пакетами из сторонних репозиториев могут работать не так, как ожидается, и не поддерживаются.
Активация Rescue-системы
Для передачи данных загрузите сервер в Rescue-систему. Для VQ/VX/CX виртуальных серверов Rescue-система активируется через панель Robot на вкладке «vServer».
Для облачных серверов Rescue-система активируется через свою облачную консоль. Сервер будет перезагружен в Rescue-систему.
Монтирование файловой системы
Для копирования файлов необходимо примонтировать файловую систему.
На серверах VQ/VX/CX используются разные контроллеры. Пожалуйста, проверьте разделы командой:
old_server ~ # fdisk -l
Примонтировать файловую систему можно при помощи следующей команды.
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