Подготовка сервера 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-адрес.
- Удалите 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
- Отключите DHCP для eth0:
rm /etc/netplan/01-netcfg.yaml
Если используется ifupdown
- Отключите 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,
Как только вы убедитесь, что сервер на новом бэкенде работает исправно, вы можете удалить сервер в старом бэкенде.
Заключение
В этой инструкции мы рассмотрели, как подготовить сервер к переезду на новый бэкэнд.