SlideShare a Scribd company logo
Дистанционни обновления и поддръжка
на вградени Linux системи с Mender
Атанас Бунчев
atanas.bunchev@konsulko.com
atanas.bunchev@gmail.com
TuxCon 2023
TuxCon 2023, Атанас Бунчев
Съдържание

Обновления на вградени системи

The Yocto Project

Дистанционни обновления с Mender

Дистанционна поддръжка
TuxCon 2023, Атанас Бунчев
Обновления на вградени системи

Ограничения – налично пространство, скорост на мрежата

Основни изисквания:
 Надеждност – Какво става при неуспешно обновление?
 Сигурност – Дали обновлението е автентично?
 Други – частични обновления, съхранение на данни

Стратегии – A/B обновления, бинарна делта, контейнери

Обновления на множество устройства
TuxCon 2023, Атанас Бунчев
A/B обновления

Два идентични rootfs дяла – A и B

Системата стартирана от A инсталира обновление в B

При рестартиране Bootloader-ът избира активния дял
TuxCon 2023, Атанас Бунчев
Други стратегии за обновления

Делта обновления – пренася се само информация за
разликата при обновление вместо целия дял

Контейнери – подходящи за по-силни устройства,
позволяват приложенията да се обновяват индивидуално

Често се създава отделен дял за съхранение на данни и
конфигурация, независим от софтуера на устройството

Комбинация от няколко стратегии
TuxCon 2023, Атанас Бунчев
Популярни Open Source решения

Mender

RAUC

SWUpdate

swupd

UpdateHub

balena

snap

pantacor

libostree (OSTree)

Aktualizr

Aktualizr-lite

Torizon

FullMetalUpdate

Rpm-ostree

Други
TuxCon 2023, Атанас Бунчев
Популярни системи с отворен код за изграждане
на специализирани Linux дистрибуции

Yocto Project / OpenEmbedded

Buildroot

PTXdist

OpenWRT

Други
TuxCon 2023, Атанас Бунчев
The Yocto Project / OpenEmbedded

Съвместен проект на Linux Foundation

Предоставя гъвкави и удобни инструменти за изготвяне на
специализирани Linux дистрибуции
 bitbake – построява отделни пакети или цялостна система
използвайки мета данни

Poky – референтна дистрибуция изградена само от мета
данни, която може да се използва като основа за бързо
изграждане на дистрибуция за специфична машина
TuxCon 2023, Атанас Бунчев
The Yocto Project / OpenEmbedded – Мета данни

Мета данните съдържат информация за всеки пакет -
списък със необходими зависимости, източници на сорс
код, конфигурация, инструкции за компилация и
инсталация.

Логически се разделят в „слоеве“, което предоставя
изключително гъвкав механизъм за изолация,
модификация и преизползване на различните
функционалности.
TuxCon 2023, Атанас Бунчев
Mender
https://mender.io/

Open Source софтуер за обновления, но също така
предлага платени планове с допълнителни функции и
Hosting услуги

A/B обновления като основна функционалност, но с
възможност за делта обновления като допълнителна услуга

Възможно е да се използва open source версия на сървъра
на частна/лична машина
TuxCon 2023, Атанас Бунчев
Mender - Архитектура

Изграждаща система създава пакет (Mender Artifact)

Устройствата периодично проверяват за обновления

Сървърът предоставя подходящ пакет с обновление
TuxCon 2023, Атанас Бунчев
Mender – интеграция с Yocto

meta-mender – слоеве за интеграция с Yocto/OE
https://github.com/mendersoftware/meta-mender

meta-mender-community – обществено
поддържана колекция слоеве за интеграция на
Mender с Yocto/OE за различни устройства
https://github.com/mendersoftware/meta-mender-community
TuxCon 2023, Атанас Бунчев
Mender Client

Може да се стартира като daemon на вграденото
устройство, който периодично проверява
сървъра за обновления.

Може да се извиква от друго приложение, за да
провери за обновление или да инсталира такова.
 Например при обновление по USB
TuxCon 2023, Атанас Бунчев
Mender – Дялове
Стандартна система с Mender съдържа:

дял за Bootloader

два идентични
системни дяла

дял за данни
TuxCon 2023, Атанас Бунчев
Mender – Обновление на системата
TuxCon 2023, Атанас Бунчев
Mender – Избор на Bootloader

Mender може да се използва с
GRUB или U-Boot.

Bootloader-ът трябва да провери дали
системата стартира успешно след
обновление. При неуспешно стартиране се
стартира дяла с по-старата система.
TuxCon 2023, Атанас Бунчев
Mender – Делта обновления
(Включени в пакетите Mender Enterprise и Mender Professional)
TuxCon 2023, Атанас Бунчев
Mender – Модули за обновления
(Частични обновления / обновления на отделни приложения)
TuxCon 2023, Атанас Бунчев
Mender Hub
https://hub.mender.io/
Публична работилница / форум за всичко свързано с Mender:

Специфични проблеми и решения

Предоставени от потребители Update Modules

Информация за поддръжка на конкретен хардуер

Инструкции и статии за работа с Mender

Други
TuxCon 2023, Атанас Бунчев
Mender Add-ons
Добавки, които предоставят допълнителна
функционалност към Mender:

Configure – позволява настройка на устройство от уеб
интерфейса на сървъра (Mender UI)

Monitor – следи за неизправности на всяко устройство
в реално време (изисква Professional / Enterprise план)

Troubleshoot
TuxCon 2023, Атанас Бунчев
Дистанционно острстаняване на грешки
Mender Add-ons – Troubleshoot

File Transfer – Трансфер на единични файлове

Port Forward – Пренасочва порт от устройство до работна
машина с инсталиран mender-cli

Remote Terminal – Предоставя достъп до виртуална конзола
на вграденото устройство
Тези функции използват комуникация установена от вграденото устройство
към сървъра.
Самото устройство не приема мрежови връзки с цел по-добра сигурност.
TuxCon 2023, Атанас Бунчев
Благодаря Ви!
Полезни връзки:

https://www.yoctoproject.org/

https://docs.mender.io/

Mender Add-ons: Remote troubleshooting devices in the field
https://www.konsulko.com/mender-add-ons-remote-troubleshooting-devices-in-the-field

Безжично обновяване на софтуера на устройства за вграждане
с Linux (Леон Анави)
https://www.youtube.com/watch?v=uNqFstuSCPo

More Related Content

Similar to Дистанционни обновления и поддръжка на вградени Linux системи с Mender - TuxCon 2023

Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...Yosifov
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
Leon Anavi
 
install update and migration to windows 10
install update and migration to windows 10install update and migration to windows 10
install update and migration to windows 10
RaynaITSTEP
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovSvetlin Nakov
 
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
VET4SBO Level 3   module 1 - unit 2 - 0.009 bgVET4SBO Level 3   module 1 - unit 2 - 0.009 bg
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
Karel Van Isacker
 
Сигурност и защита на операционни системи за мобилни устройства.
Сигурност и защита на операционни системи за мобилни устройства.Сигурност и защита на операционни системи за мобилни устройства.
Сигурност и защита на операционни системи за мобилни устройства.
Stoyan Mechev
 

Similar to Дистанционни обновления и поддръжка на вградени Linux системи с Mender - TuxCon 2023 (10)

Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
Средства на VSTS за управление на проекти, версии на системата, извеждане на ...
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Sample IT Test 13
Sample IT Test 13Sample IT Test 13
Sample IT Test 13
 
install update and migration to windows 10
install update and migration to windows 10install update and migration to windows 10
install update and migration to windows 10
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin Nakov
 
Uroc3 8klas
Uroc3 8klasUroc3 8klas
Uroc3 8klas
 
DIPLOMA_MAGISTUR
DIPLOMA_MAGISTURDIPLOMA_MAGISTUR
DIPLOMA_MAGISTUR
 
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
VET4SBO Level 3   module 1 - unit 2 - 0.009 bgVET4SBO Level 3   module 1 - unit 2 - 0.009 bg
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
 
SVN
SVNSVN
SVN
 
Сигурност и защита на операционни системи за мобилни устройства.
Сигурност и защита на операционни системи за мобилни устройства.Сигурност и защита на операционни системи за мобилни устройства.
Сигурност и защита на операционни системи за мобилни устройства.
 

Дистанционни обновления и поддръжка на вградени Linux системи с Mender - TuxCon 2023

  • 1. Дистанционни обновления и поддръжка на вградени Linux системи с Mender Атанас Бунчев atanas.bunchev@konsulko.com atanas.bunchev@gmail.com TuxCon 2023
  • 2. TuxCon 2023, Атанас Бунчев Съдържание  Обновления на вградени системи  The Yocto Project  Дистанционни обновления с Mender  Дистанционна поддръжка
  • 3. TuxCon 2023, Атанас Бунчев Обновления на вградени системи  Ограничения – налично пространство, скорост на мрежата  Основни изисквания:  Надеждност – Какво става при неуспешно обновление?  Сигурност – Дали обновлението е автентично?  Други – частични обновления, съхранение на данни  Стратегии – A/B обновления, бинарна делта, контейнери  Обновления на множество устройства
  • 4. TuxCon 2023, Атанас Бунчев A/B обновления  Два идентични rootfs дяла – A и B  Системата стартирана от A инсталира обновление в B  При рестартиране Bootloader-ът избира активния дял
  • 5. TuxCon 2023, Атанас Бунчев Други стратегии за обновления  Делта обновления – пренася се само информация за разликата при обновление вместо целия дял  Контейнери – подходящи за по-силни устройства, позволяват приложенията да се обновяват индивидуално  Често се създава отделен дял за съхранение на данни и конфигурация, независим от софтуера на устройството  Комбинация от няколко стратегии
  • 6. TuxCon 2023, Атанас Бунчев Популярни Open Source решения  Mender  RAUC  SWUpdate  swupd  UpdateHub  balena  snap  pantacor  libostree (OSTree)  Aktualizr  Aktualizr-lite  Torizon  FullMetalUpdate  Rpm-ostree  Други
  • 7. TuxCon 2023, Атанас Бунчев Популярни системи с отворен код за изграждане на специализирани Linux дистрибуции  Yocto Project / OpenEmbedded  Buildroot  PTXdist  OpenWRT  Други
  • 8. TuxCon 2023, Атанас Бунчев The Yocto Project / OpenEmbedded  Съвместен проект на Linux Foundation  Предоставя гъвкави и удобни инструменти за изготвяне на специализирани Linux дистрибуции  bitbake – построява отделни пакети или цялостна система използвайки мета данни  Poky – референтна дистрибуция изградена само от мета данни, която може да се използва като основа за бързо изграждане на дистрибуция за специфична машина
  • 9. TuxCon 2023, Атанас Бунчев The Yocto Project / OpenEmbedded – Мета данни  Мета данните съдържат информация за всеки пакет - списък със необходими зависимости, източници на сорс код, конфигурация, инструкции за компилация и инсталация.  Логически се разделят в „слоеве“, което предоставя изключително гъвкав механизъм за изолация, модификация и преизползване на различните функционалности.
  • 10. TuxCon 2023, Атанас Бунчев Mender https://mender.io/  Open Source софтуер за обновления, но също така предлага платени планове с допълнителни функции и Hosting услуги  A/B обновления като основна функционалност, но с възможност за делта обновления като допълнителна услуга  Възможно е да се използва open source версия на сървъра на частна/лична машина
  • 11. TuxCon 2023, Атанас Бунчев Mender - Архитектура  Изграждаща система създава пакет (Mender Artifact)  Устройствата периодично проверяват за обновления  Сървърът предоставя подходящ пакет с обновление
  • 12. TuxCon 2023, Атанас Бунчев Mender – интеграция с Yocto  meta-mender – слоеве за интеграция с Yocto/OE https://github.com/mendersoftware/meta-mender  meta-mender-community – обществено поддържана колекция слоеве за интеграция на Mender с Yocto/OE за различни устройства https://github.com/mendersoftware/meta-mender-community
  • 13. TuxCon 2023, Атанас Бунчев Mender Client  Може да се стартира като daemon на вграденото устройство, който периодично проверява сървъра за обновления.  Може да се извиква от друго приложение, за да провери за обновление или да инсталира такова.  Например при обновление по USB
  • 14. TuxCon 2023, Атанас Бунчев Mender – Дялове Стандартна система с Mender съдържа:  дял за Bootloader  два идентични системни дяла  дял за данни
  • 15. TuxCon 2023, Атанас Бунчев Mender – Обновление на системата
  • 16. TuxCon 2023, Атанас Бунчев Mender – Избор на Bootloader  Mender може да се използва с GRUB или U-Boot.  Bootloader-ът трябва да провери дали системата стартира успешно след обновление. При неуспешно стартиране се стартира дяла с по-старата система.
  • 17. TuxCon 2023, Атанас Бунчев Mender – Делта обновления (Включени в пакетите Mender Enterprise и Mender Professional)
  • 18. TuxCon 2023, Атанас Бунчев Mender – Модули за обновления (Частични обновления / обновления на отделни приложения)
  • 19. TuxCon 2023, Атанас Бунчев Mender Hub https://hub.mender.io/ Публична работилница / форум за всичко свързано с Mender:  Специфични проблеми и решения  Предоставени от потребители Update Modules  Информация за поддръжка на конкретен хардуер  Инструкции и статии за работа с Mender  Други
  • 20. TuxCon 2023, Атанас Бунчев Mender Add-ons Добавки, които предоставят допълнителна функционалност към Mender:  Configure – позволява настройка на устройство от уеб интерфейса на сървъра (Mender UI)  Monitor – следи за неизправности на всяко устройство в реално време (изисква Professional / Enterprise план)  Troubleshoot
  • 21. TuxCon 2023, Атанас Бунчев Дистанционно острстаняване на грешки Mender Add-ons – Troubleshoot  File Transfer – Трансфер на единични файлове  Port Forward – Пренасочва порт от устройство до работна машина с инсталиран mender-cli  Remote Terminal – Предоставя достъп до виртуална конзола на вграденото устройство Тези функции използват комуникация установена от вграденото устройство към сървъра. Самото устройство не приема мрежови връзки с цел по-добра сигурност.
  • 22. TuxCon 2023, Атанас Бунчев Благодаря Ви! Полезни връзки:  https://www.yoctoproject.org/  https://docs.mender.io/  Mender Add-ons: Remote troubleshooting devices in the field https://www.konsulko.com/mender-add-ons-remote-troubleshooting-devices-in-the-field  Безжично обновяване на софтуера на устройства за вграждане с Linux (Леон Анави) https://www.youtube.com/watch?v=uNqFstuSCPo