Подготовка сервера vds.selectel.ru к миграции на новый бэкенд - Академия Selectel

Подготовка сервера vds.selectel.ru к миграции на новый бэкенд

Инструкция по переносу скалетов с ОС Debian 8, Debian 9, Ubuntu 16.04, Ubuntu 18.04.

Введение

Подготовка скалета к миграции на новый бэкенд состоит из трех небольших этапов:

  • замена репозиториев на новые и установка агента cloud-init,
  • отключение DHCP,
  • перезагрузка и выключение сервера.

Важно учесть, что в новом бэкенде количество SSH-ключей на сервере ограничено. Поэтому для корректного переноса, к скалету должно быть привязано не более 6 SSH-ключей.

Настоятельно рекомендуем создать бэкап переносимого скалета, прежде чем приступить к дальнейшим настройкам. Если после переноса возникнут трудности, всегда можно восстановить исходный сервер с помощью бэкапа.

Замените репозитории и установите cloud-init

Debian-like операционные системы

Для Ubuntu 14.04 отсутствует репозиторий с cloud-init. В связи с этим, если у вас установлена Ubuntu 14.04, рекомендуем настроить статический IP-адрес.

  1. Удалите legacy-агент:
apt remove -y scarlet-init

2. Добавьте утилиту dirmngr, без которой установка ключа будет невозможна:

apt install dirmngr --install-recommends

3. Замените репозитории на новые — они используются на новом бэкенде:

sed -i "s/repo.vscale.io/repo.os.selectel.org/g" /etc/apt/sources.list
apt-key adv --fetch-keys http://repo.os.selectel.org/selectel-openstack.key
apt update

4. Установите cloud-init:

apt-get install -y cloud-init

5. Проверьте, что нужные сервисы включены:

systemctl enable cloud-init
systemctl enable cloud-init-local
systemctl enable cloud-config
systemctl enable cloud-final

RHEL-like  операционные системы

Для CentOS 6 отсутствует репозиторий с cloud-init. В связи с этим, если у вас CentOS 6, рекомендуем настроить статический IP-адрес.

1. Создайте переменные для формирования файла с новым репозиторием:

release=$(cat /etc/redhat-release | awk -F ' ' '{print $4}')
arch=$(uname -i)
major_release=${release%%.*}

2. Создайте конфигурацию репозитория:

cat <<EOF > /etc/yum.repos.d/selectel-openstack.repo
[selectel-openstack]
name=selectel-openstack
baseurl=http://repo.os.selectel.org/rpm/centos/$major_release/$arch
gpgcheck=1
gpgkey=http://repo.os.selectel.org/selectel-openstack.key
EOF

Для Fedora младше 37 версии

1. Создайте переменные для формирования файла с новым репозиторием:

release=$(cat /etc/redhat-release | awk -F ' ' '

Unknown macro: {print $3}
')
arch=$(uname -i)
link="baseurl=https://archives.fedoraproject.org/pub/archive/fedora/linux/updates/$release/Everything/$arch/"

2. Замените зеркала в конфигурационных файлах:

sed -i '/baseurl/d' /etc/yum.repos.d/

Unknown macro: {everything.repo,fedora.repo,fedora-updates.repo}

echo $link | tee -a /etc/yum.repos.d/

3. Обновите информацию о репозитории:

yum makecache

4. Удалите scarlet-init, установите cloud-init:

yum install cloud-init
yum remove scarlet-init

Для более новых релизов:

dnf install cloud-init
dnf remove scarlet-init

Отключите DHCP

Алгоритм отключения DHCP общий для всех дистрибутивов: выберите инструкцию в зависимости от того, используется ли netplan или ifupdown. 

Если используется netplan

  1. Отключите DHCP для eth0:
rm /etc/netplan/01-netcfg.yaml

Если используется ifupdown

  1. Отключите DHCP, удалив упоминание основного интерфейса из файла. 
/etc/network/interfaces

Сloud-init создает конфигурационный файл в interfaces.d, поэтому проверьте в файле наличие строки:

source /etc/network/interfaces.d/*.cfg

Напишите в техническую поддержку

Отправьте тикет с темой «Переезд в новый бэкенд» в техническую поддержку для согласования времени старта переноса.

Перезагрузите скалет

Перезагрузите скалет непосредственно перед переносом и после согласования даты и времени работ. Убедитесь, что скалет загрузился в ОС через VNC консоль в панели управления сервером и готов к переезду в новый бэкенд. Сетевая доступность может отсутствовать.

Отключите скалет после согласования

Отключите скалет после согласования времени и сообщите в техническую поддержку о готовности к переносу на новый бэкенд.

Перенос

Перенос на новый бэкенд занимает до 20 минут для скалетов конфигурации small, medium. Для huge, large, monster перенос может занимать до 60 минут. В это время сервер будет недоступен. Проверьте, что сетевые настройки применились и остались прежними:

ip a
ip r

В случае отсутствия сетевой связности, просим вас обратиться в техническую поддержку в тикет по переносу. Необходимо указать, как проверялась работа сети, вывод команд ip a, ip r,
Как только вы убедитесь, что сервер на новом бэкенде работает исправно,  вы можете удалить сервер в старом бэкенде.

Заключение

В этой инструкции мы рассмотрели, как подготовить сервер к переезду на новый бэкэнд.