Hlavní navigace

Banana Pi R1: připojení SATA disku

22. 4. 2015
Doba čtení: 6 minut

Sdílet

Systém na Banana Pi R1 jde sice provozovat z SD karty, ale nejlepší je připojit 2,5" SATA disk a na ten přesunout systém. Pak může počítač plnit funkci NASu. Před zprovoznění disku je však potřeba nejprve opravit SATA napájení. S rozšiřující kartou lze připojit i více disků a zprovoznit RAID.

SD karty nejsou velké, ale hlavně nejsou určené pro použití jako systémový disk. Neustálý zápis, který je často na jedno místo pak působí další rychlé opotřebení SD karty. Životnost SD karty lze prodloužit použitím speciálního souborového systému nebo použitím speciální distribuce, které zapisují jenom úpravy konfigurace. Nebo se dá problému vyhnout, pokud se SD karta připojí v režimu read-only.

Nejlepším řešením v případě Banana Pi je, připojit 2,5" SATA disk a na ten přesunout systém a na SD kartě ponechat jen zaváděcí data. Zabrání se tak zničení SD karty a získá velký úložný prostor.

Oprava napájení disku

Aktuální verze systému Bananian Linux (březen 2015) nemá dořešenu konfiguraci napájení pro SATA a proto disky napájené přímo z Banana Pi R1 nefungují. Řešením je opravit konfiguraci. Konfigurační proměnné pro kernel jsou v binárním souboru script.bin, který se nachází na zaváděcím oddíle.

Dle informací na internetu u počítačů Banana model M1Pro, SATA napájení není směrováno přes PMU AXP209. Proto u těchto modelů by problém s napájením disku neměl být, ale zároveň to znamená, že disk nemůže být zálohován z baterie.

Následující příkazy provedou připojení zaváděcího oddílu, vytvoření záložní kopie původního konfiguračního souboru a převedení souboru do textové podoby:

# mount  /dev/mmcblk0p1 /boot ; cd /boot
# cp  script.bin script.bin.orig
# bin2fex  script.bin script.fex

V textovém editoru otevřete soubor script.fex a upravte parametr sata_power_en =. Upravený řádek musí vypadat:

sata_power_en = port:PB03<1><default><default><0>

Následující příkaz upravený textový soubor převede do binární podoby a přepíše původní soubor:

# fex2bin  script.fex script.bin

Po restartu počítače bude na 5V napájecí větvi správné/dostatečné napětí. Rozdíl před a po jde lehce ověřit voltmetrem na 5V pinu konektoru J12. Napětí před úpravou bylo 4.57V a po 5.09V.

Po opravě konfigurace napětí 5V napájecí větve a za předpokladu, že přívod napájení je dostatečně dimenzován, a je použit dobrý zdroj. Není problém s Banana Pi R1 provozovat 2.5" disk napájený přímo z konektoru počítače. Bez problému počítač funguje s rotačním diskem s 7200 otáčkami i se SSD diskem. Odběr disků dle údajů na štítku je 0.65A/5V nebo 1A/5V.

Rychlost SATA rozhraní

Rychlost SATA rozhraní díky implementaci na SoC A20 nedosahuje maximálních možných rychlostí. V reálném provozu může být rychlost SATA rozhraní maximálně write/read cca 45/200 MByte/sec. Pokud se tato rychlost porovná s rychlostí přenosu disku připojeného do USB 2.0, je na tom SATA nepopiratelně lépe.

Orientační test čtení programem hdparm s rotačním diskem:

# hdparm -Tt /dev/sda
/dev/sda:
 Timing cached reads:   822 MB in  2.00 seconds = 410.38 MB/sec
 Timing buffered disk reads: 278 MB in  3.01 seconds =  92.21 MB/sec
root@bananapi:~# hdparm -Tt /dev/sda

Orientační test čtení s SSD diskem:

/dev/sda:
 Timing cached reads:   766 MB in  2.00 seconds = 382.64 MB/sec
 Timing buffered disk reads: 384 MB in  3.00 seconds = 127.99 MB/sec

Podrobný test SATA rozhraní a disků na Banana Pidalší testy SATA rozhraní lze nalézt na Internetu.

RAID

Banana Pi R1 obsahuje jeden SATA port. Přesto pro ty, kdo chtějí provozovat více disků a softwarový RAID, existuje možnost připojení více disků. K tomuto účelu slouží SATA port multiplier. Jedná se o zařízení, které umožňuje k jednomu SATA rozhraní připojit více SATA zařízení. SATA řadič však musí podporovat CBS (Command-based switching) nebo FIS (FIS-based switching).

Na Banana Pi je SoC A20, který podporuje CBS. Je tedy potřeba SATA port multiplier také s CBS. FIS based switching je rychlejší než CBS, ale na Banana Pi stejně nelze očekávat maximální rychlost. SATA port multipliery s CBS vyjdou i levněji.

Funkčnost s Banana Pi mají potvrzeny SATA port multipliery s čipy:

  • Silicon Image's Sil3726 – PCI vendor/device ID v dmesg výstupu: 0×1095:0×3726
  • SIL5744 – 0×1095:0×5744
  • JMB321 – 0×197b:0×0325

Souborový systém

Zajímavou volbou může být souborový sytém BTRFS, ale je třeba vzít na zřetel, že jeho kód je stále ve vývoji! Snapshoty a další výhod BTRFS se dají využít pro systém i pro data. Distribuční jádro (kernel) Bananian Linuxu však nemá podporu BTRFS přímo v sobě, takže v takovém případě by bylo třeba nejdříve zkompilovat vlastní jádro.

V případě použití SSD disku je potřeba zvolit souborový systém s podporou TRIM a případně dle toho do-nastavit systém. Jako výchozí souborový systém (file-systém) je v Bananian Linuxu zvolen EXT4. Pro systémový oddíl je tedy nejschůdnější volbou použít opět souborový systém EXT4, který podporuje i TRIM. Případný datový oddíl pak může být řešen zvlášť i s jiným souborovým systémem, zvoleným dle konkrétních potřeb, preferencí a zvyku administrátora.

Systém na SATA disku

Pokud jste při běhu operačního systému z SD karty vyzkoušeli, že SATA disk funguje, můžete přikročit k přesunutí systému na disk.

Přesunutí systému je možno provést i z běžícího počítače Banana Pi, pak je potřeba vypnout všechny programy, které by mohli měnit během přesunu soubory. Nejlepší je přesun provést hned po prvním spuštění, kdy na počítači není ještě skoro nic nainstalováno.

Jednoduché a bezproblémové přesunutí lze provést, pokud přesouvaný operační systém není spuštěn. To lze provést po vypnutí počítače a připojení SD karty a disku k jinému počítači, kde se provede kopírování.
Je možno i přímo instalační obraz systému binárně nahrát na disk.

Protože z prvního oddílu SD karty počítač zavádí operační systém. I po přesunutí systému bude dále potřeba SD karta a její první oddíl s jádrem systému a dalšími soubory!

Vytvoření souborového systému EXT4 na disku sdXY:

# mkfs.ext4  /dev/sdXY

Připojení disku sdXY do adresáře /mnt a zkopírování kořenového adresáře programem rsync do adresáře  /mnt.

# mount /dev/sdXY /mnt
# rsync -av --delete --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} / /mnt/

V případě kopírování SD karty vyjmuté z vypnutého počítače Banana Pi R1 bude příkaz pro kopírování jednodušší a bude vypadat například takto:

# rsync -av /media/bananian /mnt/

Na závěr je potřeba upravit parametry zavádění v souboru uEnv.txt, který je uložen v zaváděcím oddíle (první oddíle SD karty). Je potřeba upravit parametr root. Pokud je systém na prvním oddíle disku bude tento parametr vypadat následovně:

root=/dev/sda1

Zbytek řádku ani ostatní řádky neupravujte.

Průběh nabíhaní operačního systému sledujte na sériové konzoli, kde v případně špatného provedení bude vidět zastavení bootovaní a podrobná informace o problému.

Při provádění výše zmíněných příkazů příkazy slepě nekopírujte, ale bedlivě rozmýšlejte a kontrolujte, co zadáváte. Při špatném použití můžete přijít i o všechna data!

Informace o disku

Nedůležitější informace o disku poskytuje S.M.A.R.T.. K tomu slouží program smartctl z balíčku smartmontools. Další užitečné programy jsou hddtemp, který vypisuje teplotu disku a program hdparm, který umožňuje i různé velmi pokročilé a nebezpečné nastavení.

Cloud 24 - tip 1

Nyní máte zprovozněn SATA disk. Můžete na počítač Banana Pi R1 nakopírovat data, začít ho používat jako NAS a otestovat výkonnostní parametry SATA rozhraní.

Popis všech síťových rozhraní bude v následujícím článku, včetně jejich zprovoznění. Pak bude možno počítač Banana Pi R1 použít jako gigabitový switch a router.

Byl pro vás článek přínosný?

Autor článku

Josef Jebavý je profesí linuxový admin a vývojář softwaru, ale zabývá se i hardwarem a elektronikou. Mimo dílnu a počítačové pracoviště se obvykle věnuje sportu.