Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Categories:

Экстремальное сисадминство

Освоил новую технику переезда с Убунты на Арч - через kexec (на KVM):

- Положил в initrd tar, xz и средства для поднятия сети
- Собрал будущую корневую фс, запаковал через tar xJpf image.txz .
- Положил initrd, vmlinuz и image.txz на веб-сервер
- По SSH поставил в убунте kexec-tools
- Вытянул с веб-сервера initrd и vmlinuz
- kexec -l vmlinuz --initrd=initrd --command-line="root=/dev/sda break=premount" ; kexec -e
- В консоли вытянул image.txz, примонтировал старый корень, убил там всё, распаковал.
- Ctrl-D
- Profit!!!

Подумал, что можно упростить:

- Положил в initrd tar, xz и скрипт монтирования старого корня, перемещения image.txz на рамдрайв, очистки new_root и распаковки туда image.txz
- Собрал будущую корневую фс, запаковал через tar xJpf image.txz .
- Положил initrd, vmlinuz и image.txz на веб-сервер
- По SSH запустил в убунте скрипт, который поставит kexec-tools, вытянет с веб-сервера initrd, vmlinuz и image.txz и запустит kexec -l vmlinuz --initrd=initrd --command-line="root=$DETECTED_ROOTFS" ; kexec -e
- Profit!!!

После чего можно выложить на гитхаб:
- скрипт создания initrd (конфиг и хуки для mkinitcpio)
- скрипт создания минимального имиджа корневой фс (вызовы pacstrap и tar, по сути)
- скрипт вытягивания имиджей, установки-запуска kexec

Предполагается, что initrd, vmlinuz и скрипт переезда напишутся "на века", а имидж будет снапшотом девелоперского бокса и в перспективе разделится на имидж песочницы и имидж контейнера с приложением.
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments