- Konu Yazar
- #1
⚙️ Endüstriyel Cihazlarda Güncelleme Zorlukları
Endüstriyel Linux cihazları, fabrika ortamlarında veya uzak konumlarda kurulu oldukları için güncellemeleri zorludur. SSH üzerinden basit bir apt upgrade, laboratuvar ortamında işe yarasa da, endüstriyel cihazlar için yetersiz kalır. Bu cihazlar genellikle erişimi zor, ağ bağlantıları güvenilmez ve sürekli çalışması beklenen sistemlerdir. Başarısız bir güncelleme, elektrik kesintisi veya yeniden başlatma sonrası uygulamanın çalışmaması, rutin bir yazılım sürümünü pahalı bir servis çağrısına dönüştürebilir.
🛡️ Güvenli OTA Güncellemesinin Temelleri
Sağlam bir havadan güncelleme (OTA) sistemi, sadece dosya kopyalamaktan fazlasını yapmalıdır. Sistemi güvenli bir şekilde kurmalı, çalıştığını doğrulamalı ve başarısızlık durumunda otomatik olarak kurtarma sağlamalıdır. Pratik bir mimari şunları içerir:
- A/B sistem güncellemeleri
- Donanım destekli geri alma
- İmzalı güncelleme paketleri
- Yazılım malzeme listeleri (SBOM'lar)
- Tekrarlanabilir yapılar
Bu makale, Sfera Labs'ın Strato Pi Max'i ve Silitics'in Rugix'ini örnek alarak bu kavramları inceliyor. Bu ikili, çoklu fiziksel depolama seçenekleri ve sağlam, tekrarlanabilir güncellemeler için tasarlanmış bir yazılım yığını ile etkili bir endüstriyel donanım kombinasyonu sunar.
💡 Neden Endüstriyel OTA Güncellemeleri Farklıdır?
Endüstriyel bir Linux cihazı, masada açıldığında bitmiş sayılmaz. Ömrü boyunca işletim sistemi güvenlik düzeltmeleri, bağımlılık güncellemeleri, uygulama sürümleri ve güvenlik açığı giderme işlemleri gerektirecektir. Bu güncellemeler genellikle cihaza fiziksel erişim olmadan yapılmalıdır. Bir güncelleme sistemi bu nedenle şunları yapmalıdır:
- Güncelleme yüklenirken çalışan sistemi etkilememelidir.
- Güncelleme sırasında elektrik kesintisine dayanmalıdır.
- Yeni sistemin önyüklenebilir ve çalışır durumda olduğunu doğrulamalıdır.
- Başarısız olursa otomatik olarak önceki sürüme dönmelidir.
- Yetkisiz yazılımların yüklenmesini engellemelidir.
- Her sürüm için izlenebilirlik sağlamalıdır.
Bu, AB Siber Dayanıklılık Yasası (CRA) gibi düzenlemeler açısından da giderek daha önemli hale gelmektedir. Güvenilir bir OTA mekanizması, ürünlerin ömrü boyunca bağlı kalmasını sağlamak için gerekli altyapının önemli bir parçasıdır.
🔄 A/B Güncellemeleri: Çalışan Sistemi Üzerine Yazmayın
Sağlam OTA güncellemelerinin temel fikri basittir: çalışan işletim sistemini yerinde değiştirmeyin. Bunun yerine, genellikle A ve B olarak adlandırılan iki önyüklenebilir sistem örneğini koruyun. A çalışırken, güncelleme B'ye yüklenir. Cihaz daha sonra yeniden başlatılır ve B'yi başlatmaya çalışır. B başarılı bir şekilde başlar ve uygun sağlık kontrollerini geçerse, aktif hale gelir. Başarısız olursa, cihaz A'ya geri döner.
Bu, yerinde güncellemelerin en büyük risklerinden birini, yani bir elektrik kesintisinin sistemi kullanılamaz hale getirmesini önler. A/B güncellemeleriyle, yeni sistem yüklenirken önceki sistem kullanılabilir durumda kalır.
Ancak, A/B uygulamaları arasında önemli bir ayrım vardır. Aynı disk üzerindeki iki bölüm yazılım yedekliliği sağlarken, fiziksel olarak bağımsız iki depolama cihazı ek bir dayanıklılık katmanı sağlar.
💾 Donanım Yedekliliği de Önemlidir
Strato Pi Max, Raspberry Pi Compute Module tabanlı modüler bir endüstriyel platformdur. Çift SD kart yapılandırması, iki bağımsız SD kart üzerinde iki tam sistemin bulunmasına olanak tanır. Strato Pi Max mikrodenetleyicisi depolama yönlendirmesini kontrol eder ve aralarında geçiş yapabilir. Bu, A/B konseptinin tek bir depolama cihazındaki iki bölümle sınırlı olmadığı anlamına gelir. Her taraf ayrı fiziksel ortamlarda bulunabilir, böylece bir cihaz arızalansa bile bir kurtarma sistemi kullanılabilir durumda kalır.
🛠️ Sorun İçin Tasarlanmış Bir Donanım/Yazılım Yığını
Sfera Labs ve Silitics, Strato Pi Max'in bağımsız depolama ve donanım denetimi sağlayan donanım temelini ve Rugix'in tekrarlanabilir Linux görüntüleri, güncellemeler, geri alma ve kontrollü sistem durumu için yazılım katmanını bir araya getirerek özellikle etkili bir donanım ve yazılım yığını oluşturdu.
Rugix, sistem görüntüleri ve güncelleme paketleri oluşturan RugixBakery'den ve hedef cihazda çalışan ve güncellemeleri, A/B yuvalarını ve geri almayı yöneten RugixCtrl'den oluşur.
🚀 İlk Güncellemeyi Gönderme
Bir güncellemeyi göstermek için, LED aralığı 500ms'den 100ms'ye değiştirilir ve görüntü yeniden oluşturulur. Ortaya çıkan .rugixb paketi cihaza aktarılır ve RugixCtrl kullanılarak kurulur. İmza doğrulamasını atlamak bu gösterim için kabul edilebilir olsa da, üretim sistemleri kurulum için her zaman kriptografik olarak imzalanmış güncelleme paketleri kullanmalıdır. Kurulduktan sonra, cihaz güncellenmiş sisteme yeniden başlar ve LED'in yanıp sönme hızı gözle görülür şekilde değişir.
🚨 Güncelleme Başarısız Olduğunda Ne Olur?
Mimarinin gerçek değeri, işler ters gittiğinde ortaya çıkar. Çift SD yapılandırmasıyla, aktif sistem çalışmaya devam ederken Rugix, etkin olmayan kartı hazırlar:
- Güncelleme etkin olmayan SD karta yazılır.
- Bir watchdog tabanlı geri alma mekanizması devreye sokulur.
- Sistem yeniden başlatılır.
Eğer yeni sistem başarılı bir şekilde önyüklenemezse veya sağlık kontrollerini geçemezse, donanım destekli geri alma mekanizması devreye girer ve cihazı otomatik olarak önceki, bilinen iyi duruma döndürür. Bu, endüstriyel ortamlarda kesintisiz çalışmayı garanti altına alır.


















