Vytvořeno: 24.3.2019
Poznámka k aktuálnosti: Toto je dobový článek. Postup vychází z testů na Cubieboardu 2 s Armbianem a dnes už ho beru hlavně jako dokumentační zkušenost.
Cubie Board 2 má jen jeden SATA port, takže když jsem začal přemýšlet o softwarovém RAID1 pro zálohy, řešil jsem, jak k desce připojit dva HDD. Teoreticky to šlo přes SATA port multiplier, jenže právě tam se ukázalo zásadní riziko integrity dat.
Po vyřešení napájení 3,5„ disků jsem hledal možnost, jak připojit víc zařízení do jednoho SATA portu. Narazil jsem na SATA port multiplier, tedy rozbočení jednoho SATA portu na více zařízení. Pro test jsem pořídil destičku z AliExpressu, která umožňuje připojit až pět SATA zařízení.
Počítal jsem s tím, že se propustnost jednoho SATA portu musí mezi zařízení dělit, ale pro domácí zálohy to samo o sobě nebyl zásadní problém.
V základním kernelu byla podpora SATA port multiplier vypnutá. Bylo potřeba při bootu přidat parametr:
ahci_sunxi.enable_pmp=1
Nejdřív jsem zkoušel /boot/armbianEnv.txt, ale bez výsledku. Zabralo až doplnění parametru do /boot/boot.cmd, konkrétně na konec řádku s bootargs podle diskuse v armbian/build issues:
setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} hdmi.audio=EDID:0 disp.screen0_output_mode=${disp_mode} panic=10 consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} ubootsource=${devtype} ${extraargs} ${extraboardargs} ahci_sunxi.enable_pmp=1"
Pak bylo nutné znovu přegenerovat boot.scr:
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
Po restartu šlo v dmesg ověřit, že je podpora PMP aktivní:
dmesg | grep -i sata
Důležitý byl zejména řádek s flagem pmp.
Během dalšího hledání jsem narazil na to, že levné multipliery postavené na čipech JMB321 nebo JMB393 mají podle zkušeností uživatelů sklony k přehřívání a poškozování dat. A právě to byl případ i destičky, kterou jsem koupil.
Místo zvýšení bezpečnosti dat jsem si tak přidal další rizikovou vrstvu. Pro zrcadlení dat přes RAID1 mi to nakonec přestalo dávat smysl.
Výsledek pro mě byl jednoduchý: