Мигратор

«Мигратор» — это утилита, позволяющая упростить миграцию RHEL-подобных (RHEL — Red Hat Enterprise Linux) дистрибутивов на МСВСфера ОС с сохранением настроек, данных и приложений.

Сценарии миграции на более высокую верию

На текущий момент доступны следующие сценарии миграции на более высокую версию.

  • Миграция с EL 7 (EL — Enterprise Linux) на МСВСфера 8 ОС;

  • Миграция с EL 8 на МСВСфера 9 ОС;

  • Миграция с AlmaLinux/Rocky Linux/Oracle Linux/Euro Linux 8 на МСВСфера 9 ОС.

Инструкции по миграции

Миграция с EL 7 на МСВСфера 8 ОС

  1. Обновите систему и перезагрузить компьютер:

    sudo yum update -y
    
    sudo reboot
    
  2. Подключите репозиторий «Мигратора»:

    sudo yum -y install https://repo1.msvsphere-os.ru/migrator/migrator-release-latest-el$(rpm --eval %rhel).noarch.rpm
    
  3. Установите «Мигратор» и пакеты с правилами для обновления:

    sudo yum -y install leapp-upgrade leapp-data-msvsphere
    
  4. Запустите preupgrade-проверку:

    sudo leapp preupgrade
    

    Результатом работы утилиты будет отчёт, по которому можно определить возможность обновления системы. Подробный отчёт можно найти в файле /var/log/leapp-report.txt. Также будет сгенерирован файл /var/log/leapp/answerfile для подтверждения исправления найденных проблем, типичных для EL 7.

  5. При возникновении ошибок их необходимо устранить. См. Известные проблемы при миграции с EL 7 на МСВСфера 8 ОС.

  6. Снова запустите preupgrade-проверку. Если результат будет помечен жёлтым или зелёным, то можно продолжать миграцию.

  7. Запустите обновление:

    sudo leapp upgrade
    
  8. После удачного завершения обновления перезагрузите систему:

    reboot
    
  9. После перезагрузки в загрузчике операционной системы выберите пункт Migrator-Upgrade-Initramfs.

  10. Дождитесь окончания обновления системы. В конце обновления система будет перезагружена и загрузится в обычном режиме. При первом запуске будет запущена процедура повторной маркировки меток SELinux. После чего система перезагрузится ещё раз.

  11. Если вы до этого обновили EL 7 до МСВСфера 8 ОС, то вам необходимо сначала удалить пакеты, оставшиеся от предыдущей версии «Мигратора». Для этого выполните следующую команду:

    sudo dnf remove '*leapp*'
    

    И удалите из конфигурационного файла /etc/yum.conf следующую строку:

    exclude=python2-leap...
    

Миграция с EL 8 на МСВСфера 9 ОС

  1. Обновите МСВСфера 8 ОС и перезагрузите компьютер:

    sudo dnf update -y
    sudo reboot
    
  2. Подключите репозиторий «Мигратора»:

    sudo dnf -y install -y https://repo1.msvsphere-os.ru/migrator/migrator-release-latest-el$(rpm --eval %rhel).noarch.rpm
    
  3. Установите «Мигратор» и пакет с правилами для обновления:

    sudo dnf -y install leapp-upgrade leapp-data-msvsphere
    
  4. Запустите preupgrade-проверку:

    sudo leapp preupgrade
    

    Результатом работы утилиты будет отчёт, по которому можно определить возможность обновления системы. Подробный отчёт можно найти в файле /var/log/leapp-report.txt. Также будет сгенерирован файл /var/log/leapp/answerfile для подтверждения исправления найденных проблем, типичных для МСВСфера 8 ОС.

  5. При возникновении ошибок их необходимо устранить. См. Известные проблемы при миграции с EL 8 на МСВСфера 9 ОС.

  6. Снова запустите preupgrade-проверку. Если результат будет помечен жёлтым или зелёным, то можно продолжать миграцию.

  7. Запустите обновление:

    sudo leapp upgrade
    
  8. После удачного завершения обновления перезагрузите систему:

    reboot
    
  9. После перезагрузки в загрузчике операционной системы выберите пункт Migrator-Upgrade-Initramfs.

  10. Дождитесь окончания обновления системы. В конце обновления система будет перезагружена и загрузится в обычном режиме. При первом запуске будет запущена процедура повторной маркировки меток SELinux. После чего система перезагрузится ещё раз.

Миграция с AlmaLinux/Rocky Linux/Oracle Linux/Euro Linux 8 на МСВСфера 9 ОС

Процесс миграции с дистрибутивов AlmaLinux, Rocky Linux, Oracle Linux, Euro Linux 8 на МСВСфера 9 ОС идентичен процессу Миграция с EL 8 на МСВСфера 9 ОС.

Известные проблемы

Известные проблемы при миграции с EL 7 на МСВСфера 8 ОС

  1. Обратите внимание, что Oracle Linux должен быть загружен в ядро 3.10.

  2. Скорее всего для продолжения обновления необходимо будет отключить модуль pata_acpi и PAM-модуль pkcs11:

    sudo rmmod pata_acpi
    
    sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
    
  3. Для Oracle Linux и Red Hat Linux необходимо будет удалить пакет python-hwdata:

    sudo yum -y remove python-hwdata
    
  4. Для Oracle Linux также будет необходимо удалить пакеты uname26 и iwlax2xx-firmware:

    sudo yum -y remove uname26 iwlax2xx-firmware
    

Эти и другие требуемые изменения будут описаны в файле /var/log/leapp/leapp-report.txt.

Известные проблемы при миграции с EL 8 на МСВСфера 9 ОС

  1. Обратите внимание, что Oracle Linux должен быть загружен в ядро 4.18.

  2. Если Oracle Linux не сможет загрузить метаданные некоторых репозиториев, отключите их:

    sudo dnf config-manager --set-disabled <repo>
    
  3. Для CentOS Stream необходимо изменить версию дистрибутива с 8 на 8.5 в файле /etc/centos-release. А также отключить репозитории, у которых невозможно загрузить метаданные:

    sudo dnf config-manager --set-disabled <repo>
    
  4. Скорее всего для продолжения обновления будет необходимо исправить зону firewalld:

    sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf
    

    А также отключить проверку vdo устройств:

    sudo leapp answer --section check_vdo.confirm=True
    

    Запретить доступ по ssh пользователю root:

    echo PermitRootLogin no | sudo tee -a /etc/ssh/sshd_config
    

Эти и другие требуемые изменения будут описаны в файле /var/log/leapp/leapp-report.txt.

Диагностика

В некоторых случаях обновление системы из режима Migrator-Upgrade-Initramfs заканчивается неудачно и запускается отладочная консоль. Скорее всего ошибка происходит на этапе установки отдельных пакетов, поэтому DNF возвращает ошибку. При этом остальные пакеты устанавливаются успешно, так как все зависимости разрешаются ещё на этапе подготовки системы к обновлению.

В этом случае следует изучить системный журнал доступный через команду journalctl.

  1. В Initramsfs находится обрезанная версия загрузочного образа, поэтому команды less и more там отсутствуют. Лучше всего перенаправить вывод journalctl в файл:

    journalctl > system.log
    
  2. Подключите корневой раздел основной операционной системы:

    mkdir /mnt
    mount /dev/sdXX /mnt
    
  3. Для LVM подключите нужный том:

    mount /dev/mapper/XX-root /mnt
    
  4. Если вы используете отдельный раздел для каталога /usr, то его также необходимо подключить в каталог /mnt/usr.

  5. Далее скопируйте system.log в /mnt/tmp и измените корневой каталог на /mnt с помощью команды:

    chroot /mnt
    

    Теперь вы можете просматривать файл system.log с помощью команды less.

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

  7. Следует обязательно переразметить метки SELinux. Для этого необходимо создать в корневом разделе операционной системы файл .autorelabel:

    touch /mnt/.autorelabel
    
  8. Если вы изменяли корневой каталог командой chroot, то необходимо вернуться в корневой каталог initramfs при помощи команды exit или комбинации клавиш Ctrl + d.

  9. После этого отключите все разделы, которые вы подключали выше:

    umount /mnt/usr
    umount /mnt
    
  10. Перезагрузите систему:

reboot

Система начнёт загрузку в обычном режиме, переразметит метки SELinux и перезагрузится ещё раз.