Raspberry Pi'de SD kart yıpranmasını azaltmak için Home Assistant veritabanı taşınması
Home Assistant'ın sürekli büyüyen kayıt veritabanını (recorder) SD kart üzerinden ayrı bir USB SSD'ye taşıma adımları: MariaDB eklentisi kurulumu, recorder bağlantı ayarı, eski kayıtların temizlenmesi ve SD kart yazma yükünün doğrulanması.
Tehlikeli işlem — hayati risk
Bu rehber şebeke elektriği (230/400 V), yüksek akımlı bataryalar, gaz veya basınçlı sistemler gibi ölümcül yaralanma, yangın ve maddi hasara yol açabilecek işlemler içerir. Bu işler yalnızca yetkili ve ehliyetli kişilerce yapılmalıdır. Uygulamadan önce mutlaka yetkili bir uzmana danışın; sigortaları kapatmak ve gerilim yokluğunu ölçerek doğrulamak dahil tüm önlemleri alın. Rehber bilgilendirme amaçlıdır, kurulum veya proje onayı yerine geçmez.
Gerekenler
8 kalem- Raspberry Pi 4 veya daha yeni model, USB 3.0 portu boş
- USB 3.0 dış disk yuvası ve 2,5" SSD (60 GB üzeri önerilir)
- Home Assistant Operating System (HAOS) kurulu ve çalışan sistem
- SSH ya da Samba eklentisi ile dosya erişimi
- MariaDB resmî eklentisi (Add-on store'dan)
- Yedek: sistem snapshot ya da tam yedek
- Terminal erişimi için Advanced mode etkin hesap
- USB kablosu (dış yuva ile gelen, kısa ve kalın kesitli)
Giriş ve kapsam
Raspberry Pi üzerinde HAOS çalıştıran çoğu kurulumda Home Assistant, home-assistant_v2.db adlı SQLite dosyasını doğrudan SD karta yazar. Bu dosya, varlık (entity) sayısına ve kayıt tutulan sürekliliğe bağlı olarak aylar içinde birkaç GB'ye ulaşır. SQLite sürekli küçük yazma işlemleri yapar; SD kartlarda bu, yıpranmanın birincil sebeplerinden biridir. Belirtiler genelde şöyle olur: sistem aylarca sorunsuz çalışır, sonra SD kart salt-okunur hale gelir ya da Pi açılışta dosya sistemini tamir etmeye çalışır.
Bu rehberde veritabanını MariaDB eklentisiyle ayrı bir USB SSD'ye taşıyacağız. Anlatım HAOS kurulumlarına özgüdür; Docker ya da Core kurulumunda dizin yolları ve eklenti yaklaşımı farklıdır.
İşleme başlamadan önce tam bir yedek alın; veritabanı taşıma sırasında yapılandırma hataları kayıt geçmişini boşa çıkarabilir.
MariaDB eklentisi kurulumu
- Home Assistant arayüzünde sol alttaki profil simgesinden Advanced mode seçeneğini etkinleştirin. Bu, eklenti mağazasında sistem eklentilerinin görünmesini sağlar.
- Settings > Add-ons > Add-on Store yolunu izleyin ve MariaDB eklentisini arayıp kurun.
- Eklentinin Configuration sekmesinde bir root parolası belirleyin. Eklenti varsayılan olarak
homeassistantadında bir veritabanı ve aynı adda bir kullanıcı oluşturur. - Start on boot seçeneğini işaretleyin ve eklentiyi başlatın. Log sekmesinde "MariaDB is alive" satırını görene kadar bekleyin.
Bu aşamada MariaDB hâlâ Pi'nin SD kartında çalışıyor; veriyi SSD'ye taşıma adımına henüz gelmedik. Önce bağlantıyı kurup çalıştığını doğrulamak, hatayı ayırmayı kolaylaştırır.
USB SSD hazırlığı ve bağlantı
- SSD'yi dış yuvasına takın ve Pi'nin USB 3.0 portuna (mavi renkli olanlar) bağlayın. USB 2.0 port da çalışır ama veritabanı erişimi belirgin biçimde yavaşlar.
- SSD'yi bir kez FAT32 ya da exFAT ile teslim aldıysanız, HAOS üzerindeki Disk Manager eklentisiyle ya da başka bir bilgisayarda ext4 dosya sistemiyle biçimlendirin. FAT ailesi dosya sistemlerinde MariaDB'nin dosya kilitleme davranışı güvenilir değildir.
- SSD'yi Pi'ye bağladıktan sonra Settings > System > Hardware ekranında diskin listede göründüğünü doğrulayın.
SSD'yi beslemek için yuvanın harici güç Adaptörü varsa kullanın. Yalnızca USB'den beslenen 2,5" SSD'ler Pi 4 üzerinde genelde sorunsuz çalışır ama Anadolu'da yaz kış şebeke dalgalanması yaşanan yerlerde harici besleme daha güvenilir bir seçimdir.
Home Assistant recorder ayarı
Veritabanı bağlantısı configuration.yaml içindeki recorder bloğuyla tanımlanır:
recorder:
db_url: mysql://homeassistant:SIFRENIZ@core-mariadb/homeassistant?charset=utf8mb4
SIFRENIZyerine eklenti ayarında belirlediğiniz kullanıcının parolasını yazın; parolada@ya da:karakteri geçiyorsa bunları URL kodlu biçimde yazın (@için%40).- Yapılandırmayı kaydedip Home Assistant'ı yeniden başlatın.
- Settings > System > Logs ekranında
recorderbileşeniyle ilgili hata olmadığını kontrol edin. - Developer Tools > Statistics ekranında istatistiklerin göründüğünü doğrulayın; bu ekranın dolu olması, kayıt verisinin yeni veritabanına yazıldığını gösterir.
Veritabanı bu noktada MariaDB eklentisinin kendi veri hacminde, yani hâlâ SD kartta duruyor. SSD'ye taşıma için son adım, eklentinin veri dizinini harici diske bağlamaktır; bunu Settings > System > Storage ekranındaki eklenti verisini taşıma seçeneğiyle ya da Disk Manager eklentisiyle yapabilirsiniz. Taşıma öncesi MariaDB eklentisini durdurun, taşıma sonrası yeniden başlatın.
recorder purge ile veri hacmini kontrol altında tutma
Veritabanını SSD'ye taşımak yıpranma sorununu azaltır ama boyutu kontrolsüz büyüyen bir veritabanı, SSD dolunca yeni sorun üretir. recorder bloğuna şu satırları ekleyin:
recorder:
db_url: mysql://homeassistant:SIFRENIZ@core-mariadb/homeassistant?charset=utf8mb4
purge_keep_days: 14
commit_interval: 20
purge_keep_days: 14eski kayıtları 14 günde bir otomatik temizler. Enerji izleme gibi uzun vadeli verilerlong_term_statisticsiçinde ayrı tutulur ve bu temizlemeden etkilenmez.commit_interval: 20yazma işlemlerini 20 saniyelik gruplar hâlinde yaparak I/O sayısını düşürür. Varsayılan değer 1 saniyedir; artırmak geçmiş kartlarında güncellemenin birkaç saniye gecikmesine yol açabilir.
Sorun giderme
- Home Assistant başlamıyor, logda "cannot connect to database" yazıyor: MariaDB eklentisinin çalıştığını ve parolanın doğru olduğunu kontrol edin. Bağlantı dizesindeki
core-mariadbana makine adı HAOS eklenti ağına özgüdür;localhostyazmayın. - Eklenti güncellemesinden sonra bağlantı kopuyor: MariaDB eklentisini ve Home Assistant'ı sırayla yeniden başlatın; iki hizmet açılış sırası yüzünden birbirini bekliyor olabilir.
- Geçmiş kartları boş görünüyor: Eski SQLite verisi yeni veritabanına kopyalanmaz; taşıma anından itibaren yeni kayıtlar yazılır. Eski kayıtlara ihtiyacınız varsa, taşımadan önce
.storageiçindekirecorderdurumunu değil, doğrudan SQLite dosyasının yedeğini saklayın.
Kullandığınız SSD'nin veya yuvanın yazma ömrü, hız ve güç tüketimi değerleri için üreticinin veri sayfasına bakın; ucuz yuvalarda UASP desteği eksik olabilir ve bu, MariaDB performansını düşürür.
Güvenlik uyarısı
Bu rehber şebeke gerilimi (230/400 V) ya da yüksek akımlı batarya içeren işlere değiniyor. Bu tür işleri yalnızca yetkili ve deneyimli kişiler yapmalıdır; şebeke tarafındaki bağlantıları lisanslı bir elektrikçiye bırak. Koruma elemanlarını (sigorta, kaçak akım rölesi, BMS, topraklama) asla atlama ya da devre dışı bırakma. Çalışmadan önce enerjiyi kes, gerilimsizliği ölç ve ekipmanın veri sayfasındaki sınırlara uy.
Aynı kategoriden rehberler
-
Home Assistant'ta enerji sayacından günlük elektrik maliyeti template sensor ile nasıl hesaplanırOrta · 35 dk · 0 faydalı
- Home Assistant'ta statsyardımcı ile aylık ortalama oda sıcaklığı izlemeBaşlangıç · 20 dk · 0 faydalı
- Docker'da Home Assistant güncellemesi öncesi yedek alma ve geri yollamaOrta · 25 dk · 0 faydalı
-
Home Assistant otomasyonlarında mode ve max ayarlarıyla çakışan tetiklemeyi yönetmeOrta · 30 dk · 0 faydalı
Rehberler topluluk üyelerince yazılır ve editörlerce incelenir; yine de bilgilendirme amaçlıdır. Elektrik, batarya, gaz ve tesisat işlerinde yetkili bir uzmana danış. Hatalı veya tehlikeli bir yönlendirme görürsen “Raporla” ile bildir.