Замена дистрибутива VPS изнутри [message #53726] |
Tue, 15 December 2020 04:53 |
|
В связи с EOL для CentOS6, удалением его template хостерами и, соответственно, возникновением проболемы восстановления VPS после какого-либо его дефекта, задумался об SUBJ. Идея такая. Устанавливаю Entware, запускаю его tmux и mc, с их помощью удаляю все файлы текущего template и распаковываю нужный. Для начала нужно, чтоб был возможен после перезагрузки вход в ВЕБ-консоль.
Вопрос: какие специфические файлы openvz (пайпы и аналогичное) должны быть для этого внутри VPS ? Есь ли они уже в готовых template?
PS: переход с Debian 10 на Devuan внутри VPS согласно инструкции последнего порушил даже возможносьт входа через ВЕБ-консоль хостера
|
|
|
Re: Замена дистрибутива VPS изнутри [message #53727 is a reply to message #53726] |
Tue, 15 December 2020 13:43 |
|
Расскажу о первом успешном результате изменения ОС изнутри VPS (смена CentOS7 на CentOS6)
1. Начальный template CentOS7
2. Установил Entware
wget https://bin.entware.net/x86-k2.6/installer/alternative.sh
chmod a+x alternative.sh
./alternative.sh
export PATH=/opt/sbin:/opt/bin:$PATH
opkg update
opkg install tmux mc bash wget xz
echo "nameserver 8.8.8.8" > /opt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> /opt/etc/resolv.conf
3. Запуск bash и mc (из Entware уже, так как изменили PATH для поиска первым делом в каталоге установки Entware)
4. Скачал template CentOS6 с сайта openvz
https://download.openvz.org/template/precreated/centos-6-x86 -minimal.tar.gz
5. Распаковал его в пустом каталоге.
6. Скопировал его dev в корневой /dev, добавляя только новые файлы. Затем удалил его dev, sys, proc (будем использовать одноименные каталоги выполняющейся CentOS7)
7. Удалил из корня все каталоги и файл .vzfifo (он наверно для управления systemd) кроме каталогов /opt, /dev, /sys, /proc и каталога с распакованным CentOS6
8. Скопировал все из каталога с распакованным CentOS6 в корень
9. Отредактировал /etc/sysconfig/network и создал в каталоге /etc/sysconfig/network-scripts файлы ifcfg-eth1, ifcfg-venet0 и ifcg-venet0:0 (по образцу этих файлов в другой VPS с CentOS6)
10. На всякий случай отключил с помощью chkconfig сервис iptables
11. В каталоге /etc/yum/pluginconf.d отключил плугин fastestmirror
12 В каталоге /etc/yum.repos.d оставил только файл с репозитарием CentOS-Vault.repo. Отредактировал его, заменив С6.0 репы на C6.10 и удалив остальные. С этого момента yum работает и может устанавливать новые пакеты.
13 reboot
Результат: сеть запустилась, ВЕБ-консоль работает. Удача. Есть возможность не переходить на CentOS7 в случае дефекта VPS c CentOS6, а пересоздать своими силами (хостер удалил из меню переустановки CentOS6)
Примечание: удача наверно произошла из-за того, что дистрибутивы близки.
Я не редактировал файлы в каталоге /etc/init, но при старте VPS там появилась информация о необходимости запуска mingetty на console и tty2 (какрй из них для WEB-консоли, а какой для мониторинга VPS хостером не знаю). Наверно это важный аспект и причина неудачи с заменой Debian 10 на Devuan
Один примечательный результат перехода с CentOS7 -- это версия ядра, показываемая по uname -a Оригинально она 2.6.32 А вот после замены CentOS7 на CentOS6 она уже 3.10.0 Но драйвера SIT все равно нет.
К разработчикам openvz -- вкомпилите статически его в окружение VPS. Из мобильных операторов только МТС предоставляет IPv6. Да и то динамически. А при наличии SIT можно установить из VPS туннель для Herrican Electric и раздавать домашней сетке реальные IPv6 (дом подклчен к VPS по OpenVPN например). Посодействуйте распространению IPv6 и популярности openvz среди пользователей мобильного интернета
|
|
|
Re: Замена дистрибутива VPS изнутри [message #53729 is a reply to message #53727] |
Fri, 18 December 2020 20:50 |
|
При попытке собрать devtoolset для x86 столкнулся с проблемой, что он собирается только для x64. Поэтому быстро заменил CentOS6 с x86 на x86_64.
1. Скачал https://download.openvz.org/template/precreated/centos-6-x86 _64-minimal.tar.gz
2. Распаковал в пустой каталог
3. Удалил из раcпакованного все каталоги кроме /bin /sbin /lib /lib64 /usr /var, а из корня удалил указанные каталоги (использую MC из Entware)
4. Скопировал новые каталоги в корень вместо удаленных.
5. Хотя программы из новых каталогов запускаются нормально, uname -a проолжает говорить, что у нас 32 разрядная ОС. Поэтому перезагружаемся.
Замена заняла не больше двух минут.
|
|
|