Cubie Board 2, SATA Port Multiplier a RAID

Autor: | 24. 3. 2019 | IT, Linux

Štítky: armbian | cubie board 2 | hdd | linux | nas | sata

Protože jsem v minulosti málem přišel o 2 TB dat, začal jsem více přemýšlet o rozšíření svých záloh (duplicitě dat). Vlastním mikropočítač Cubie Board 2 se SATA portem. Vytvořil jsem si z Cubie Boardu vlastní NAS s distribucí Armbian. V rámci zálohování jsem začal uvažovat o softwarovém RAIDU 1 (zrcadlení dat – mirroring). Tzn. mít stejná data na dvou HDD.

Jeden SATA port, ale 2 HDD

Když jsem vyřešil napájení 3,5 disků, tak vyvstala otázka, jak připojit 2 HDD do jednoho SATA portu. Trochu jsem hledal a objevil jsem možnost využít SATA port multiplikátor. Velmi jednoduše řečeno – rozdvojku pro SATA port. K tomuto účelu jsem našel na Alliexpressu rozšiřující destičku, kde jeden konec připojím do Cubie Boardu a na druhé straně mohu připojit až 5 SATA zařízení. Podotýkám, že lze očekávat zpomalení přenosu dat skrze SATA port, ovšem to mi nijak zásadně nevadí.

SATA port multiplikator

Nastavení Armbianu – podpora SATA port multiplier

SATA port multiplier je v základním nastavení v jádře vypnuto. Je třeba tuto podporu zapnout. Zapnutí není nijak složité. Stačí při bootování jádra přidat parametr: ahci_sunxi.enable_pmp=1

Chvíli jsem hledal, kde tento parametr nastavím. Nabízelo se přidat ho do /boot/armbianEnv.txt. To mi ovšem nezabralo. Pak tedy nezbylo než editovat /boot/boot.cmd a rozšířit řádek s parametry při bootování o zmiňovaný parametr. Přidal jsem ho úplně nakonec.

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} ubootso
urce=${devtype} ${extraargs} ${extraboardargs} ahci_sunxi.enable_pmp=1"

To ovšem nestačí. Je třeba rekompilovat boot.scr. To zajistí tento příkaz:

mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

Po tomto restartovat systém a podpora SATA port multiplier je zapnuta.

root@cubieboard2:/boot# dmesg | grep -i sata

[    2.545376] ahci-sunxi 1c18000.sata: Linked as a consumer to regulator.11
[    2.602751] ahci-sunxi 1c18000.sata: SSS flag set, parallel bus scan disabled
[    2.602782] ahci-sunxi 1c18000.sata: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
[    2.602796] ahci-sunxi 1c18000.sata: flags: ncq sntf stag pm led clo only pmp pio slum part ccc  
[    2.604372] ata1: SATA max UDMA/133 mmio [mem 0x01c18000-0x01c18fff] port 0x100 irq 35
[    8.114688] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    8.434177] ata1.00: SATA link down (SStatus 0 SControl 320)
[    8.910932] ata1.01: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[    9.226129] ata1.02: SATA link down (SStatus 0 SControl 320)
[    9.542125] ata1.03: SATA link down (SStatus 0 SControl 320)
[    9.858128] ata1.04: SATA link down (SStatus 0 SControl 320)

 

Zásadní problém a risk

V průběhu nastavování jsem narazil na jeden velký háček. V rámci hledání řešení v diskusních fórech jsem zjistil, že SATA multipliery založené na levných čipech JMB321/JMB393 mají sklony k poškozování dat. Čipy mají sklony k přehřátí a poškození dat na discích. No a to je i případ mnou zakoupené destičky.

Původně nadějné řešení a teď jsem přišel o iluze. Škoda, že už jsem za destičku zaplatil. Zároveň je to paradox – místo abych zvýšil bezpečnost svých dat, tak bych je vystavil ještě většímu risku než bez použití SATA multiplieru. K zrcadlení dat není dobré vůbec spoléhat na SATA port multiplier.

Řešením bude koupě jiné destičky namísto Cubie Board 2, která bude mít rovnou 2 SATA porty. Nebo se nabízí varianta připojit druhý disk přes USB Cubie Board 2 a zrcadlit data skrze USB.

Další články