1 puan yazan GN⁺ 2024-07-05 | 1 yorum | WhatsApp'ta paylaş
  • Eski bir OpenWRT yönlendirici tabanlı ağ sürücüsünü SBC+HDD kombinasyonu ile değiştirip samba, git, rsyncd ve dnf deposunu korurken darboğazları azaltmayı amaçlayan bir deneme
  • Libre Computer AML-S805X-AC, €20'luk kartta 4 çekirdekli ARM Cortex-A53, 1GB RAM, USB'den önyükleme ve Debian desteği sunuyor; ancak LAN 100Mb ile sınırlı ve iki USB-A portu da USB 2.0 seviyesinde kalıyor
  • HDD hariç toplam maliyet yaklaşık €43 ile düşük, ancak HDD muhafazası, güç kaynağı, micro-USB kablosu ve isteğe bağlı TTL-to-USB adaptörü de gerekiyor
  • Resmi Debian 12 tabanlı imaj, MBR içindeki bir EFI bölümü ve btrfs kök bölümü kullanıyor; ilk açılıştaki otomatik yeniden boyutlandırma USB belleklerde kararsız ve yavaş çalışıyor
  • JMicron JMS578 HDD muhafazasında UAS hatası atlatılarak gecikmeler giderildi, ancak ext4 üzerinde yaklaşık 23.95MB/s seviyesinde kaldığı için, güç tasarrufu gibi güçlü bir neden yoksa önermek zor

OpenWRT yönlendiriciden SBC NAS'a geçiş

  • Mevcut cihaz, HDD bağlı eski bir yönlendiriciydi ve OpenWRT kurulduktan sonra yönlendirici olarak değil, ağ sürücüsü olarak kullanılıyordu
  • Yeni cihazın samba, git, rsyncd ve dnf deposunu aynen korurken daha hızlı çalışması gerekiyordu
    • Eski yönlendiricinin CPU'su zayıftı ve SSH üzerinden rsync işlemlerinde zorlanıyordu
    • RAM yetersizdi; 15MB'tan büyük ikili dosyalar içeren git push commit'lerinde takılıyordu
  • Aday seçeneklerden biri Libre Computer'ın AML-S805X-AC kartıydı
    • LAN portu var ama yalnızca 100Mb destekliyor
    • İki USB-A portu da yalnızca USB 2.0 destekliyor
    • 4 çekirdekli ARM Cortex-A53, 1GB RAM, USB'den önyükleme ve güncel Debian desteği sunuyor
    • Ayrı bir tedarik zorluğu olmadan satın alınabiliyordu

Düşük ağ özellikleri ve gerçek kullanım senaryosu

  • 100Mb ağ bağlantısı bugünün ölçülerine göre düşük bir özellik, ancak asıl kullanım amacı yaklaşık 200 bin küçük dosya içeren bir dizinin kopyasını tutmaktı
  • SBC USB 3.0 desteklese bile, 1Gb ağ bağlantısının senkronizasyon hızını ciddi ölçüde artırması zor görünüyordu
  • NAS kurulumu yalnızca kartla bitmediği için ek parçalara ihtiyaç vardı
    • Kartın USB-A portları port başına en fazla 900mA sağlayabiliyor
    • Harici güç beslemeli bir HDD muhafazası gerekiyordu
    • En az 3A güç kaynağı ve 3A taşıyabilen bir micro-USB kablosu gerekliydi

€43'lük yapı ve fiziksel montaj

  • HDD hariç toplam maliyet €43 idi
    • SBC: €20
    • HDD muhafazası: €12
    • 3A güç kaynağı: €5
    • micro-USB kablosu: €3
    • 4 vida ve 12 somun: €0
    • TTL-to-USB adaptörü: €3, çünkü kartta HDMI çıkışı var ve bu nedenle isteğe bağlı
  • HDD maliyete dahil edilmedi; elde yedek HDD olduğu varsayıldı
  • HDD muhafazası, 2.5 inçlik küçük bir plastik kutu sanılarak alınmıştı ama aslında 3.5 inçlik bir kutu çıktı
  • Kasadaki boşluk nedeniyle SBC'nin de HDD muhafazasının içine birlikte yerleştirilmesine karar verildi

Önyükleme ve Debian imajındaki pürüzler

  • TTL-to-USB adaptörü kartın GPIO'suna bağlandı ve screen ile erişim sağlandı
$ sudo screen /dev/ttyUSB0 115200
  • İlk çıktıda Libre Computer AML-S805X-AC, Amlogic Meson GXL ve DRAM: 512 MiB (effective 1 GiB) bilgileri görünüyordu
    • Ardından Debian 12 imajı bir USB belleğe dd ile yazıldıktan sonra free(1) 1GB belleği tanıdı
  • Libre Computer'ın resmi OS imajı, standart Debian tabanlı
    • Disk imajı 2.25GiB boyutunda
    • MBR düzeni içinde bir EFI bölümü bulunuyor
    • İkinci bölüm btrfs ve ilk açılışta kalan alanı dolduracak şekilde otomatik olarak yeniden boyutlandırılıyor
  • USB belleklerde otomatik yeniden boyutlandırma güvenilir değildi
    • Eldeki 3 USB bellekten biri yeniden boyutlandırma sırasında kalıcı olarak takıldı
    • Bir diğeri işlemi tamamladı ama sonrasında çok yavaşladı
  • OS imajını üretmekte kullanılan deponun açık olmaması da ayrı bir sorun olarak kaldı
    • İlgili açıklama, distribution builder'ın müşteri IP'si ve entegrasyonlar içeren proprietary bir ticari teklif olduğu için yayımlanamayacağını söylüyor
    • Ayrıca, standart dağıtımda birkaç ayar dışında değişiklik yapılmadığından, imajı analiz etmek isteyenlere bootstrap sonrası diff bakmaları öneriliyor

HDD muhafazası hataları ve nihai performans

  • HDD muhafazası karta bağlandıktan sonra süreç USB belleğe göre çok daha hızlıydı, ama yine de rastgele noktalarda beklenmedik gecikmeler yaşanıyordu
  • Oturum açıldıktan hemen sonra çekirdekte uas_eh_abort_handler hatası oluştu
  • lsusb çıktısı, muhafazanın içinde JMicron JMS578 SATA 6Gb/s aygıtı olduğunu gösterdi
Bus 001 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
  • Çözüm, çekirdek komut satırına usb-storage.quirks=152d:0578:u ekleyerek UAS'ı kapatmak oldu
    • Bu değişiklikten sonra gecikmeler kayboldu
    • Ancak benchmark sonuçları etkileyici değildi
  • USB 2.0 bağlantısında dd ile 524MB yazma ve sync dahil toplam süre real 0m21.876s oldu
    • ext4 bölümü üzerinden hesaplanan değer 23.95MB/s idi
  • Sonuç olarak bu yapılandırmayı önermek zor
    • SBC tercih edilmesinin nedenlerinden biri güç tüketimini azaltmaktı
    • Benzer kısıtlar yoksa, sorunlu ucuz cihazlarla uğraşmak için pek neden yok

1 yorum

 
GN⁺ 2024-07-05
Hacker News görüşleri
  • Gizli ipucu eski Fujitsu masaüstü/NUC PC’ler. Almanya’da birçok şirket bunları düzenli olarak yenilediği için eBay’de ikinci el fiyatları düşük oluyor.
    Güç tüketimi önemliyse "$model energy consumption white paper" diye aratınca boşta güç tüketimi gibi oldukça doğru veriler bulunuyor; örnek: https://sp.ts.fujitsu.com/dmsp/Publications/public/wp-energy...
    Bir NUC’ta Linux’ta SATA denetleyicisinin güç tasarrufu özelliğini açtıktan sonra, PDF’de 9W yazmasına rağmen boşta güç tüketimi 5W’a kadar düştü.
    Rastgele bir tek kartlı bilgisayar yerine gerçek bir PC kullanınca bağlantı seçenekleri, genişletilebilirlik ve yazılım desteği çok daha iyi oluyor; tek kartlı bilgisayarların çoğu ise çıktıkları dönemin derme çatma kernel’ına bağlı kalıyor ve satıcının kaderine terk ettiği Armbian fork’unu eski bir kernel’la harmanlayıp güncel dağıtım gibi kullanmak gerekiyor.

    • Parkytowers, çeşitli thin client yeniden kullanım bilgilerini toplayan bir site; güç tüketimi, Linux uyumluluğu ve yapılabilecek donanım modifikasyonları gibi şeyleri bulmak için adeta altın madeni: https://www.parkytowers.me.uk/thin/hware/hardware.shtml
    • Bu bilgiyi çok geniş yayarsanız ikinci el piyasa fiyatları artabilir; bu da ultra ucuz PC stoklarını kollayanların zararına olur.
      Garip şekilde, ucuz işlem gücüne hayır demek zor.
    • Yaklaşık 200 dolara bir Lenovo thin client alıp Debian ev sunucusu olarak kullanıyorum; neredeyse her amaca çok iyi uyuyor ve Raspberry Pi’den ya da yeni bir mini PC’den çok daha iyi fiyat/performans sunuyor.
      Tek dezavantajı, birden fazla 2.5/3.5 inç disk koyacak yer olmaması; bu da daha çok tercih meselesi sayılır.
    • Avustralya’da her hafta açık artırma sitelerine leasing süresi bitmiş binlerce Dell 7060 SFF ve 7060 Micro PC düşüyor.
      Şu anda leasing’den çıkan Dell’lerde Intel 8. nesil CPU, TPM, USB-C gibi modern özellikler de var.
    • Dell/HP SFF PC için de aynı tavsiyeyi duymuştum. Bu arada bağlantı kullanıcı adı/parola ile giriş gerektiriyor.
  • Raspberry Pi tarzı NAS denemeleri, özellikle birden fazla güç adaptörü kullanıp kasayı kesip biçme gibi şeyler içeriyorsa bana şüpheli geliyor. Hepsi fazla uğraştırıcı ve yavaş; üstelik “o kadar da ucuz” değilmiş hissi veriyor.
    Önemli kişisel verileri USB sürücülerde tutmak da biraz riskli hissettiriyor. Evi yakmaz belki ama yine de içime sinmiyor.
    Asıl avantajı küçük form faktörü ve “düşük” güç tüketimi; ama tamamı 43 dolar olsa bile birkaç dolar tasarruf için 100Mbit ağa katlanılır mı, yoksa 150 dolar verip 2.5Gig mi kullanılır diye düşündürüyor.
    Alternatif çok: Fujitsu Futro S920 (ikinci el 75 doların altında, yaklaşık 10W), FriendlyElec NanoPI R6C (150 doların altında, yaklaşık 2W, https://www.friendlyelec.com/index.php?route=product/product...), FriendlyElec Nas Kit (150 doların altında, yaklaşık 5W, https://www.friendlyelec.com/index.php?route=product/product...), Dell T20/T30 (ikinci el 100 doların altında, yaklaşık 25W), Fujitsu Celsius W570 (ikinci el 100 doların altında, yaklaşık 15W).
    Kişisel NAS/ev sunucum Fujitsu D3417-B, Intel Xeon 1225v5, 64GB ECC RAM, WD SN850x 2TB NVMe, Pico PSU 120 yapılandırmasında; daha pahalı ama kararlı, güçlü ve boşta güç tüketimi 10W’ın altında.

    • Elmayla armudu karşılaştırmak gibi. Yazıda kullanılan tek kartlı bilgisayar boşta 0,75W, maksimum yükte 4W tüketiyor.
  • Her şey yolunda giderken herkes depolama uzmanıdır. Bir şey bozulunca RAID dizisine bir disk daha eklemiş olmanız, yedek için bir NAS daha bulundurmanız ya da verileri gönderecek bir harici lokasyon daha ayarlamış olmanız gerektiğini düşünürsünüz.
    Artık ucuz çözümlere yönelmiyorum. Yine de cazibesini anlıyorum.

    • Bunların hepsi strateji meselesi; cihazın fiyat seviyesi bunu etkilemez.
      Daha fazla diske ihtiyacınız varsa daha fazla disk alırsınız; yedek NAS gerekiyorsa bir tane daha alırsınız. Offsite kopya gerekiyorsa alan satın alır ya da dış lokasyon için NAS ve disk alırsınız.
      Cihazın fiyat seviyesi burada hiçbir şeyi değiştirmez.
    • Ne sakladığınıza bağlı.
      İş belgeleri, muhasebe kayıtları, aile fotoğraflarıysa güvenli şekilde tutmak istersiniz.
      Ama NAS yalnızca 20TB korsan film ve TV programı barındırıyorsa, en ucuz diski alıp ne olacağını görmek çok daha rahattır.
    • Bugünün çocukları eski disklerin ne kadar sık bozulduğunu hiç bilmiyor.
    • Birkaç tekil harici diski 1-2 haftada bir eski usul USB üzerinden eşitliyorum. Ev içinde yapılan bir sneakernet bu.
      Freefilesync gibi araçlarla kolay ve hızlı; yanlışlıkla silinenleri de gözle kontrol edebiliyorsunuz.
      Çok ucuzdu ve 10 yıldan uzun süredir iyi dayandı. Disk arızası, kullanıcı hatası, istenmeyen yazılım bug’ları/hataları nedeniyle veri kaybı yaşadım ama sorun olmadı.
    • O zaman ucuz olandan 2 tane alın. Nasıl olsa yedeğe ihtiyacınız var.
  • Böyle bir NAS kurunca dosyalara nasıl erişildiğini merak ediyorum. NFS mi, SFTP mi?
    Ev dışından nasıl erişildiğini de merak ediyorum. Sürekli bağlı tutulan bir VPN mi, yoksa NAT hole punching’i iyi yapan bir yöntem var mı?
    Syncthing, tüm bilgisayarların hangi ağda olursa olsun aynı dosyaları senkronize etmesini sağlaması açısından istediğime benziyor; ama her zaman tüm dosyaları kopyalamaya çalışıyor. İstediğim şey, dosyaların yalnızca NAS’ta durması ve her yerden erişilebilmesi
    Nextcloud da istediğime benziyor ama daha önce denediğimde kararsız ve güvenmesi zor görünmüştü; ayrıca gereksiz çok fazla iş yapıyor gibiydi

    • Sırayla yanıtlayacak olursam, kendi NAS’ımda çoğu istemciyi kapsamak için NFS ve SMB kullanıyorum
      Uzaktan erişim için Tailscale ile dışa açtığım bir SSH bastion kullanıyorum. VPN sayılır ama WireGuard tabanlı olduğu için pek rahatsız etmiyor. Ancak upload hattım gigabit, bu yüzden ortama göre değişebilir
      NAS’ta 28 TB alan var ve yedekleme stratejisini hâlâ düşünüyorum. Şimdilik içinde yalnızca Dropbox ve kaybolsa sorun olmayacak çeşitli dosyalar var
      Başka hizmet olarak Dropbox’ı epey kullanıyorum ama bugünlerde 2 TB çok büyük sayılmaz. Üstelik dosya sayısı 500 bini geçtiği için nazlanabiliyor da
      Bu kişisel bir kurulum ve kişiden kişiye epey değişir diye düşünüyorum
    • Synology bunların hepsini yapıyor
      Evde ve ofiste birer tane olmak üzere iki cihaz kullanıyorum; tek şikâyetim biraz fazla “aptal hatası önleme” yapması. Yine de web tabanlı GUI’si harika
      NAT ve dinamik IP’yi aşmayı sağlayan ücretsiz yazılımı da var ve iyi çalışıyor (quickconnect.to). Genelde SFTP ve medya sunucusu olarak kullanıyorum
    • Syncthing ile küçük veri kümelerini dizüstü bilgisayar, telefon ve NAS arasında senkronize ediyorum. Üretim ve yaratıcı işlerimin çoğu bununla karşılanıyor
      LAN’da sadece SMB kullanıyorum; ihtiyaçlarım için yeterli
      Linux ISO koleksiyonuma uzaktan erişirken Plex kullanıyorum
    • LAN içinde genelde yalnızca SMB paylaşımı kullanıyorum. Mütevazı ihtiyaçlarım için yeterli
      Eskiden WebDAV veya FTP de kullanıyordum; belirli kullanım amacına göre değişir
      Ev dışından erişimde VPN şart. Günümüzde yalnızca port forwarding bırakmak fazla riskli
    • VPN kısmı için kolay çözüm Zerotier veya Tailscale. Doğru hatırlıyorsam Zerotier şifrelemede chacha20 kullanıyor; AES’ten daha hızlı ve özellikle güç bütçesi dar tek kart bilgisayarlar için avantajlı
  • usb-storage.quirks=152d:0578:u değerini kernel komut satırına ekleyip UAS’ı kapatmak gerektiği kısmında ben olsam cihazı doğrudan çöpe atıp vazgeçerdim
    İnsanların böyle sorunları sonuna kadar debug edecek sabrı nasıl bulduğunu bilmiyorum. Bu projenin amacının ucuz ve basit yapmak olduğunu anlıyorum ama zaman maliyeti yüksek ve hiç de basit değil

  • Bu kartın imaj oluşturucusu epey şüpheli görünüyor
    “Dağıtım oluşturucu birçok müşteri IP’si ve entegrasyonu içerdiği için yayımlanamayan tescilli bir ticari sunumdur” açıklaması tedarik zinciri enjeksiyon aracı gibi hissettiriyor

    • Bağlantısı verilen https://hub.libre.computer/t/source-code-git-repository-for-... yazısını okuyunca Libre Computer hakkındaki izlenimim ciddi biçimde kötüleşti
      UEFI koyup genel imajları doğrudan kullanabilmek büyük avantaj; ama varsayılan imajı ve özellikle firmware’i tescilli bir süreç hâline getirmek o kadar büyük bir kırmızı bayrak ki bütünü şüpheli kılıyor
      Firmware özgür/açık kaynak olsaydı ve yalnızca özgür/açık kaynak girdilerle doğrudan derlenebilseydi kabul edilebilir olabilirdi. Ancak o tartışmadan bakınca bu net değil
      UEFI sayesinde genel imaj desteği vermek büyük avantaj; fakat bunun varsayılan olmaması şirketin değerlerini ve kültürünü sorgulatıyor
    • Ev kullanımı için “NAS” taklidi yapan cargo cult yaklaşımından kaçınmak için bir neden daha. Diski doğrudan bilgisayara takmak yeterli
  • Cahiliyet olabilir ama NAS sunucusunun neden ECC bellek olmadan yapıldığını merak ediyorum

    • Çünkü ECC olmayan bellek daha ucuz. Başka bir neden aklıma gelmiyor. Bunun dışındaki açıklamalar ucuz yapma amacını örtmeye çalışan yalan olur
    • Çünkü NAS neredeyse hiçbir şey yapmaz. 4 TB RAM takıp birden fazla veritabanı çalıştırmıyorsun
      Kurumsal sunucularda bile ECC’nin gerçekten gerekli olup olmadığı tartışmalı
  • Oldukça hoş. Bu kullanım senaryosuna iyi uyuyor gibi. Ben olsam biraz daha harcayıp gigabit portu olanı seçerdim
    Jeff Geerling videolarına bakınca bu küçük tek kart bilgisayarlarla bile epey performanslı bir NAS kurulabiliyor gibi görünüyor

    • Güncel nesil Arm tek kart bilgisayarlarsa, özellikle yalnızca NAS çalıştırılacaksa, pratikte oldukça yeterliler
      Pi 4 veya Pi 5, RK3566 ya da RK3588 kullanan Rockchip kartlarda USB sabit disk/SSD takabilir veya günümüzde çoğuna M.2 sürücü ya da SATA sabit disk/SSD adaptörü ekleyebilirsiniz. 1 Gbps’de, hatta bazen 2.5 Gbps’de bile RAID’i büyük sorun yaşamadan çalıştırabilirler
      OpenMediaVault kullananlar da var, fena değil. Benim NAS’larım bare Debian üzerinde Ansible + ZFS ile kurulu; benim için bu yöntemi yönetmek daha basit: https://github.com/geerlingguy/arm-nas
      Raspberry Pi’ye gitmeyecek olsam Radxa veya Libre Computer seçerdim. İkisinin de güncel kartlar için imajları iyi; ancak HDMI çıkışı sorununu neredeyse her zaman yaşadığım için SSH veya seri konsol üzerinden kurulum yapmaya hazır olmak gerekiyor
  • Bu başlıktaki diğer içeriklerde de söylendiği gibi, ikinci el piyasasına düşen yenilenmiş SFF ofis PC’lerinin fiyat/performansı gerçekten çok yüksek
    Eskiden HP ultradesk serisinden birini çok ucuza almıştım; elime ulaştığında ikinci el değil, elde kalmış stok olduğu için sıfır üründü ve perakende fiyatının yaklaşık %20’sine gelmişti. Çok sessizdi ve enerji verimliliği de mükemmeldi
    CPU en üst seviye değil ama 10. ya da 11. nesil olduğu için medya sunucusu amaçlı donanımsal kodlama için kusursuz
    RAID ve birden çok sabit disk için gereken tüm donanıma sahip değil, ama bir NVMe önyükleme diski ve bir 16TB sabit disk benim ihtiyaçlarım için yeterli. Medya olduğu için kaybetsem de endişelenmiyorum
    Bu kutular ucuz olduğundan, tek bir “dağıtım” içinde farklı işleri üstlenen birden fazla cihaz bulundurabilirsiniz. Bir ara NAS, medya sunucusu, CCTV IP kamerası ve homeassistant için ayrı ayrı kutular kullanıyordum; hepsi sorunsuz çalışıyordu
    Neyse ki birden çok cihazı birlikte orkestre etmek için Kubernetes gibi bir şeye kalkışacak kadar mazoşist değildim
    Bu elbette homelab/kişisel kullanım ölçüsünde geçerli. Daha ciddi kullanım için önermem. Ama bu makineler basitçe iyi çalışıyor ve standart x86 PC oldukları için daha özel platformlarda yaşanan donanım ayarı ve uyumluluk sorunlarının çoğunu ortadan kaldırıyor

    • Tek bir RAID 1 yerine, her birinde verinin bir kopyası bulunan 2 tek diskli cihaz daha iyi olurdu
  • Kendilerine Libre Computer deyip kullanıcıların kendi imajlarını oluşturabileceği araçları yayımlamamaları ironik