Skip to content

SATA Karte Marvell 88SE9230 Chipsatz

Angeheftet Hardware
  • Ich bin sehr gespannt auf deine Ergebnisse.

  • Ich habe die Themen zusammengeführt.

  • @FrankM :
    Leider werden die Ergebnisse noch etwas dauern. Das Raid1 wurde problemlos erstellt, allerdings ist das System nach einem Neustart nicht mehr administrierbar. Siehe https://forum.frank-mankel.org/topic/445/emmc-boot-stuck-after-reboot .

    Grüße,
    Florian

    EDIT:
    Das System ist wieder administrierbar (siehe verlinkten Thread).
    Als Stabilitätstest werden jetzt per RSync 3.8TB Daten aufs SW-Raid1 kopiert.
    Mal schauen wie die Sata Karte sich macht und was dmesg sagt.
    Ich werde berichten.

    EDIT2:
    Der Stabilitätstest ist durch. Die 3.8TB Daten wurde ohne Fehlermeldungen in dmesg kopiert.

    Speedtest:

    SW-RAID1 (2xWD-RED 6TB):

    dd:

    pi@rockpro64:/srv/dev-disk-by-label-Raid1Storage$ sudo dd if=/dev/zero of=sd77.img bs=1M count=4096 conv=fdatasync
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 38.6309 s, 111 MB/s
    

    iozone:

    pi@rockpro64:/srv/dev-disk-by-label-Raid1Storage$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
            Iozone: Performance Test of File I/O
                    Version $Revision: 3.429 $
                    Compiled for 64 bit mode.
                    Build: linux
    
            Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                         Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                         Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                         Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                         Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                         Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                         Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
                         Vangel Bojaxhi, Ben England, Vikentsi Lapa.
    
            Run began: Wed Jan 30 19:53:19 2019
    
            Include fsync in write timing
            O_DIRECT feature enabled
            Auto Mode
            File size set to 102400 kB
            Record Size 4 kB
            Record Size 16 kB
            Record Size 512 kB
            Record Size 1024 kB
            Record Size 16384 kB
            Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
            Output is in kBytes/sec
            Time Resolution = 0.000001 seconds.
            Processor cache size set to 1024 kBytes.
            Processor cache line size set to 32 bytes.
            File stride size set to 17 * record size.
                                                                  random    random     bkwd    record    stride          
                  kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
              102400       4    25464    36685    50427    49394      888     1729                                       
              102400      16    40165    58097    68316    91524     3412     6889                                       
              102400     512    95485    99343   107161   131298    52080    78677                                       
              102400    1024    81958    91971   104137   128435    73100    80979                                       
              102400   16384    89566   102283   102792   140921   144198   100731                                       
    
    iozone test complete.
    

    SSD1 (Kingston SSDNow 500GB)

    dd:

    pi@rockpro64:/srv/dev-disk-by-label-Export$ sudo dd if=/dev/zero of=sd77.img bs=1M count=4096 conv=fdatasync         4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 16.2036 s, 265 MB/s
    

    iozone:

    pi@rockpro64:/srv/dev-disk-by-label-Export$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
            Iozone: Performance Test of File I/O
                    Version $Revision: 3.429 $
                    Compiled for 64 bit mode.
                    Build: linux
    
            Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                         Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                         Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                         Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                         Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                         Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                         Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
                         Vangel Bojaxhi, Ben England, Vikentsi Lapa.
    
            Run began: Wed Jan 30 20:09:46 2019
    
            Include fsync in write timing
            O_DIRECT feature enabled
            Auto Mode
            File size set to 102400 kB
            Record Size 4 kB
            Record Size 16 kB
            Record Size 512 kB
            Record Size 1024 kB
            Record Size 16384 kB
            Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
            Output is in kBytes/sec
            Time Resolution = 0.000001 seconds.
            Processor cache size set to 1024 kBytes.
            Processor cache line size set to 32 bytes.
            File stride size set to 17 * record size.
                                                                  random    random     bkwd    record    stride          
                  kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
              102400       4    45141    66137    69723    70946    21840    63277                                       
              102400      16   136172   140168   154485   183570    55734   146870                                       
              102400     512   388396   361469   298032   306411   272152   360291                                       
              102400    1024   395404   379891   336627   335560   326960   387305                                       
              102400   16384   150878   170563   133750   147378   116889   484788                                       
    
    iozone test complete.
    

    SSD2 (Samsung SSD850 500GB):

    dd:

    pi@rockpro64:/srv/dev-disk-by-label-SSD850$ sudo dd if=/dev/zero of=sd77.img bs=1M count=4096 conv=fdatasync         4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 13.6532 s, 315 MB/s
    

    iozone:

    pi@rockpro64:/srv/dev-disk-by-label-SSD850$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
            Iozone: Performance Test of File I/O
                    Version $Revision: 3.429 $
                    Compiled for 64 bit mode.
                    Build: linux
    
            Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
                         Al Slater, Scott Rhine, Mike Wisner, Ken Goss
                         Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
                         Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
                         Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
                         Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
                         Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
                         Vangel Bojaxhi, Ben England, Vikentsi Lapa.
    
            Run began: Wed Jan 30 20:13:46 2019
    
            Include fsync in write timing
            O_DIRECT feature enabled
            Auto Mode
            File size set to 102400 kB
            Record Size 4 kB
            Record Size 16 kB
            Record Size 512 kB
            Record Size 1024 kB
            Record Size 16384 kB
            Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
            Output is in kBytes/sec
            Time Resolution = 0.000001 seconds.
            Processor cache size set to 1024 kBytes.
            Processor cache line size set to 32 bytes.
            File stride size set to 17 * record size.
                                                                  random    random     bkwd    record    stride          
                  kB  reclen    write  rewrite    read    reread    read     write     read   rewrite      read   fwrite frewrite    fread  freread
              102400       4    40543    70208    73986    73104    30564    68626                                       
              102400      16   118034   156574   173566   190123    91171   156537                                       
              102400     512   393457   364015   360967   355865   332180   359108                                       
              102400    1024   410187   393582   401007   391708   368777   401934                                       
              102400   16384   414139   486653   484318   487278   483865   479006                                       
    
    iozone test complete.
    

    Während der Tests wurden keinerlei Fehlermeldungen in dmesg erzeugt.

    Grüße.

  • Leider sind beim Stress Testen des Controllers (kopieren von 500GB vom SW-RAID1 parallel auf beide SSDs)
    wiederholt folgende Fehler in dmesg aufgetaucht:

    [177554.379675] ata3.00: exception Emask 0x0 SAct 0x1f000000 SErr 0x0 action 0x6 frozen
    [177554.382198] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.384513] ata3.00: cmd 61/08:c0:00:09:80/00:00:16:00:00/40 tag 24 ncq dma 4096 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.389434] ata3.00: status: { DRDY }
    [177554.391423] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.393559] ata3.00: cmd 61/10:c8:10:09:81/00:00:16:00:00/40 tag 25 ncq dma 8192 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.398530] ata3.00: status: { DRDY }
    [177554.400704] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.402878] ata3.00: cmd 61/08:d0:38:45:86/00:00:16:00:00/40 tag 26 ncq dma 4096 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.407762] ata3.00: status: { DRDY }
    [177554.409759] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.411909] ata3.00: cmd 61/08:d8:b8:08:00/00:00:00:00:00/40 tag 27 ncq dma 4096 out
                             res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.416582] ata3.00: status: { DRDY }
    [177554.418559] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.420735] ata3.00: cmd 61/28:e0:38:08:00/00:00:0b:00:00/40 tag 28 ncq dma 20480 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.425796] ata3.00: status: { DRDY }
    [177554.428043] ata3: hard resetting link
    [177554.748386] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [177554.752956] ata3.00: configured for UDMA/133
    [177554.755160] ata3: EH complete
    [177677.262098] ata3.00: NCQ disabled due to excessive errors
    

    Der Kopierprozess auf die jeweilige SSD welche dann resetet stockt dann einige Sekunden und wird dann fortgesetzt. Dies passiert bisher nur bei den SSDs und nicht parallel.
    Die Lesegeschwindigkeit vom RAID1 sind meiner Meinung nach gut und begrenzt natürlich die Schreibgeschwindigkeiten auf die SSDs:

    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.47    0.00   27.39   26.88    0.00   45.26
    
    Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
    mtdblock0         0.00         0.00         0.00          0          0
    mtdblock1         0.00         0.00         0.00          0          0
    mtdblock2         0.00         0.00         0.00          0          0
    mmcblk1          16.40         0.06         0.00          0          0
    mmcblk1boot1      0.00         0.00         0.00          0          0
    mmcblk1boot0      0.00         0.00         0.00          0          0
    mmcblk0           0.00         0.00         0.00          0          0
    sdc             197.40         0.00       101.42          0        507
    sdd             467.60       116.38         0.01        581          0
    sdb             476.60       118.60         0.01        592          0
    sda             345.60         0.00       116.34          0        581
    md0             942.40       235.03         0.00       1175          0
    

    Viele Grüße

  • Da ich nun etwas neugierig geworden bin auf die Karte, habe ich mir diese mal besorgt.

    IMG_20190201_150932_ergebnis.jpg

    Hier mal der Vergleich mit der PCIe-SATA Karte, die von Pine64 vertrieben wird. (Pine64-Karte ist links im Bild)

    IMG_20190201_151325_ergebnis.jpg

    Die 9230 hat vier SATA-Anschlüsse. Außerdem hat die Karte zwei Stiftleisten, wo man was anschließen kann. Dazu später mehr.

    Als erstes teste ich einfach mal meine vorhandene NAS-Installation, also alte Karte raus, die Neue rein und neustarten.

    System

    rock64@rockpro64v_2_1:~$ uname -a
    Linux rockpro64v_2_1 4.20.0-1083-ayufan-g686e1f1aa461 #ayufan SMP PREEMPT Sun Dec 30 13:42:26 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Nachsehen, ob der Controller erkannt wird.

    lspci

    rock64@rockpro64v_2_1:~$ sudo lspci -vvv
    00:00.0 PCI bridge: Rockchip Inc. RK3399 PCI Express Root Port Device 0100 (prog-if 00 [Normal decode])
    	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    	Latency: 0
    	Interrupt: pin A routed to IRQ 255
    	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    	I/O behind bridge: 00000000-00000fff
    	Memory behind bridge: fa000000-fa0fffff
    	Prefetchable memory behind bridge: 00000000-000fffff
    	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
    		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
    	Capabilities: [80] Power Management version 3
    		Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
    		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
    	Capabilities: [90] MSI: Enable- Count=1/1 Maskable+ 64bit+
    		Address: 0000000000000000  Data: 0000
    		Masking: 00000000  Pending: 00000000
    	Capabilities: [b0] MSI-X: Enable- Count=1 Masked-
    		Vector table: BAR=0 offset=00000000
    		PBA: BAR=0 offset=00000008
    	Capabilities: [c0] Express (v2) Root Port (Slot+), MSI 00
    		DevCap:	MaxPayload 256 bytes, PhantFunc 0
    			ExtTag- RBE+
    		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
    			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
    			MaxPayload 256 bytes, MaxReadReq 512 bytes
    		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
    		LnkCap:	Port #0, Speed 5GT/s, Width x4, ASPM L1, Exit Latency L0s <256ns, L1 <8us
    			ClockPM- Surprise- LLActRep- BwNot+ ASPMOptComp+
    		LnkCtl:	ASPM Disabled; RCB 128 bytes Disabled- CommClk-
    			ExtSynch- ClockPM- AutWidDis- BWInt+ AutBWInt+
    		LnkSta:	Speed 5GT/s, Width x2, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
    		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
    			Slot #0, PowerLimit 0.000W; Interlock- NoCompl-
    		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
    			Control: AttnInd Off, PwrInd Off, Power+ Interlock-
    		SltSta:	Status: AttnBtn- PowerFlt- MRL+ CmdCplt- PresDet- Interlock-
    			Changed: MRL- PresDet- LinkState-
    		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
    		RootCap: CRSVisible-
    		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
    		DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR+, OBFF Via message ARIFwd+
    		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled ARIFwd-
    		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
    			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    			 Compliance De-emphasis: -6dB
    		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
    			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    	Capabilities: [100 v2] Advanced Error Reporting
    		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
    		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
    		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
    	Capabilities: [274 v1] Transaction Processing Hints
    		Interrupt vector mode supported
    		Device specific mode supported
    		Steering table in TPH capability structure
    
    01:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller (rev 11) (prog-if 01 [AHCI 1.0])
    	Subsystem: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller
    	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    	Interrupt: pin A routed to IRQ 230
    	Region 0: I/O ports at 0000
    	Region 1: I/O ports at 0000
    	Region 2: I/O ports at 0000
    	Region 3: I/O ports at 0000
    	Region 4: I/O ports at 0000
    	Region 5: Memory at fa010000 (32-bit, non-prefetchable) [size=2K]
    	Expansion ROM at fa000000 [disabled] [size=64K]
    	Capabilities: [40] Power Management version 3
    		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
    		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
    	Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit-
    		Address: fee30040  Data: 0000
    	Capabilities: [70] Express (v2) Legacy Endpoint, MSI 00
    		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <1us, L1 <8us
    			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
    		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
    			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
    			MaxPayload 256 bytes, MaxReadReq 512 bytes
    		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
    		LnkCap:	Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
    			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
    		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk-
    			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
    		LnkSta:	Speed 5GT/s, Width x2, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
    		DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
    		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
    		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
    			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    			 Compliance De-emphasis: -6dB
    		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
    			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
    	Capabilities: [e0] SATA HBA v0.0 BAR4 Offset=00000004
    	Capabilities: [100 v1] Advanced Error Reporting
    		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
    		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
    		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
    		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
    		AERCap:	First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
    

    Ok, der Controller wird einwandfrei erkannt. Eine Suche nach den Festplatten war dann leider erfolglos. Diese wurden nicht erkannt. Aber dafür gibt es ja im Internet viele Menschen, die an einer gemeinsamen Sache arbeiten und @flockeee hat die Lösung ja in diesem Thread schon gepostet. Danke dafür!!

    /etc/udev/rules.d

    Wir erstellen in /etc/udev/rules.d eine Datei mit dem Namen 99-9230.rules. Die 99 besagt aus, das diese Datei als letztes ausgeführt wird (wenn ich mich nicht irre), das 9230 kann man frei wählen.

    cd /etc/udev/rules.d
    sudo nano 99-9230.rules
    

    Der Inhalt der Datei

    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1b4b", ATTR{device}=="0x9230", RUN+="/bin/bash -c 'echo %k > /sys/bus/pci/drivers/ahci/bind'"
    

    Dazu kann ich leider nicht so viel schreiben. Zum Nachlesen -> udev

    Danach Neustarten!

    HDD Check

    Danach findet man die HDD's 🙂

    rock64@rockpro64v_2_1:/etc/udev/rules.d$ lsblk -S
    NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
    sda  0:0:0:0    disk ATA      ST2000LM015-2E81 SDM1 sata
    sdb  2:0:0:0    disk ATA      ST2000LM015-2E81 SDM1 sata
    

    Mit fdisk -l

    Disk /dev/sda: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: ECA86F86-787E-483F-BD79-DC980BCA9447
    
    Device     Start        End    Sectors  Size Type
    /dev/sda1   2048 3907029134 3907027087  1,8T Linux filesystem
    
    
    Disk /dev/sdb: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 1978A3C9-E914-41FB-8788-5518DBB77B2F
    
    Device     Start        End    Sectors  Size Type
    /dev/sdb1   2048 3907029134 3907027087  1,8T Linux filesystem
    

    Ok, alles da. Dann rufe ich mal mein Script auf und hänge die verschlüsselten Platten als RAID1 ein.

    Fertig!

    Kontrolle

    rock64@rockpro64v_2_1:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            980M     0  980M   0% /dev
    tmpfs           199M  640K  198M   1% /run
    /dev/mmcblk0p7   29G   15G   13G  55% /
    tmpfs           992M     0  992M   0% /dev/shm
    tmpfs           5,0M     0  5,0M   0% /run/lock
    tmpfs           992M     0  992M   0% /sys/fs/cgroup
    /dev/mmcblk0p6  112M  4,0K  112M   1% /boot/efi
    tmpfs           199M     0  199M   0% /run/user/1000
    /dev/md0        1,8T  645G  1,1T  38% /mnt/raid
    

    Status RAID1

    rock64@rockpro64v_2_1:~$ cat /proc/mdstat 
    Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
    md0 : active raid1 dm-1[2] dm-0[1]
          1953379392 blocks super 1.2 [2/2] [UU]
          bitmap: 0/15 pages [0KB], 65536KB chunk
    
    unused devices: <none>
    

    So weit sieht alles gut aus, dann machen wir mal was Stress! 🙂

    Steckanschlüsse

    IMG_20190201_155415_ergebnis.jpg

    Die blaue LED ist dauernd an und fängt bei Schreib-/Lesezugriffen an zu blinken. Was der andere Anschluss macht, habe ich noch nicht raus. Beide Pfostenstecker sind für PWR LED. Siehe -> Klick Ich habe nur an einem Pfostenstecker die LED zum Leuchten bekommen (siehe Bild).

    Fazit

    Danke @flockeee , ich halte Dich auf dem Laufenden was die Stabilität angeht. Ich hoffe, das ich jetzt wieder ein stabiles NAS habe. Ich bin gespannt 😉

    Zum Schluß noch die Ausgabe von dmesg

  • Erster Stresstest erfolgreich. 🙂

    Hardware

    • ROCKPro64 v2.1 2GB RAM
    • SD-Karte (als System)
    • PCIe SATA-Karte 88SE9230
    • 2 * 2TB HDD's als RAID1
    • 1 * 1TB HDD (USB3)

    Software

    rock64@rockpro64v_2_1:~$ uname -a
    Linux rockpro64v_2_1 4.20.0-1083-ayufan-g686e1f1aa461 #ayufan SMP PREEMPT Sun Dec 30 13:42:26 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Speedtest USB3-HDD

     rock64@rockpro64v_2_1:/media$ sudo dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
     4096+0 records in
     4096+0 records out
     4294967296 bytes (4,3 GB, 4,0 GiB) copied, 44,7297 s, 96,0 MB/s
    

    Die HDD hat ein btrfs Filesystem

    rock64@rockpro64v_2_1:~$ sudo blkid /dev/sdc1
    /dev/sdc1: LABEL="1TB" UUID="99950e1f-5637-4cb8-9985-e9deea6c8f96" UUID_SUB="48ae2955-33d1-46a6-9067-afd65a04de2b" TYPE="btrfs" PARTUUID="b9aa5cfb-01"
    

    Backup Job

    Die Aufgabe ist es, mein RAID1 mittels Restic auf die angeschlossene USB HDD zu sichern. Also etwas Stress für den ROCKPro64, da die Daten alle verschlüsselt werden. Und lesender Stress auf das RAID1.

    rock64@rockpro64v_2_1:~$ sudo ./backup.sh 
    open repository
    repository bad662c2 opened successfully, password is correct
    created new cache in /home/rock64/.cache/restic
    found 1 old cache directories in /home/rock64/.cache/restic, pass --cleanup-cache to remove them
    
    Files:       558914 new,     0 changed,     0 unmodified
    Dirs:            1 new,     0 changed,     0 unmodified
    Added to the repo: 285.754 GiB
    
    processed 558914 files, 648.243 GiB in 3:17:41
    snapshot 19c4ea75 saved
    

    DMESG

    pastebin

    Fazit

    Der Lesetest war erfolgreich, keine Probleme festgestellt. Das die HDD am USB3 ein btrfs Filesystem hat ist Zufall, das ist mir erst hinterher aufgefallen. Meine früheren Erfahrungen mit btrfs auf einem ROCKPro64 waren nicht so positiv. Produktiv würde ich eher ext4 einsetzen.

    Als nächstes brauchen wir mal richtig Stress beim Schreiben auf das RAID1 😉

  • Alles so wie oben, nun der Schreibtest.

    Job

    Wir ziehen mal von einem anderen NAS ein paar Daten

    sshpass -p "password" rsync -vraze 'ssh' --exclude-from "excludes.txt" root@192.168.3.243:/mnt/nas/ /mnt/raid/write_test/
    

    Ergebnis

    sent 909,539 bytes  received 208,162,189,243 bytes  20,487,485.73 bytes/sec
    total size is 222,765,913,987  speedup is 1.07
    

    DMESG

    Kein besonderer Eintrag, alles sauber.

    Fazit

    Scheint so, als wenn man mit dieser PCIe SATA-Karte die bessere Lösung, zu der preiswerten Pine64-Karte hat. Evt. sind auch nur die Treiber der Marvell Karte besser. Im Moment, von mir eine Kaufempfehlung!

  • @flockeee sagte in SATA Karte Marvell 88SE9230 Chipsatz:

    Leider sind beim Stress Testen des Controllers (kopieren von 500GB vom SW-RAID1 parallel auf beide SSDs)
    wiederholt folgende Fehler in dmesg aufgetaucht:

    [177554.379675] ata3.00: exception Emask 0x0 SAct 0x1f000000 SErr 0x0 action 0x6 frozen
    [177554.382198] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.384513] ata3.00: cmd 61/08:c0:00:09:80/00:00:16:00:00/40 tag 24 ncq dma 4096 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.389434] ata3.00: status: { DRDY }
    [177554.391423] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.393559] ata3.00: cmd 61/10:c8:10:09:81/00:00:16:00:00/40 tag 25 ncq dma 8192 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.398530] ata3.00: status: { DRDY }
    [177554.400704] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.402878] ata3.00: cmd 61/08:d0:38:45:86/00:00:16:00:00/40 tag 26 ncq dma 4096 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.407762] ata3.00: status: { DRDY }
    [177554.409759] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.411909] ata3.00: cmd 61/08:d8:b8:08:00/00:00:00:00:00/40 tag 27 ncq dma 4096 out
                             res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.416582] ata3.00: status: { DRDY }
    [177554.418559] ata3.00: failed command: WRITE FPDMA QUEUED
    [177554.420735] ata3.00: cmd 61/28:e0:38:08:00/00:00:0b:00:00/40 tag 28 ncq dma 20480 out
                             res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
    [177554.425796] ata3.00: status: { DRDY }
    [177554.428043] ata3: hard resetting link
    [177554.748386] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [177554.752956] ata3.00: configured for UDMA/133
    [177554.755160] ata3: EH complete
    [177677.262098] ata3.00: NCQ disabled due to excessive errors
    

    Der Kopierprozess auf die jeweilige SSD welche dann resetet stockt dann einige Sekunden und wird dann fortgesetzt. >Dies passiert bisher nur bei den SSDs und nicht parallel.
    ...

    Ich habe oben genannte Probleme mit einem Firmwareupdate* des 88SE9230 in den Griff bekommen. Ein erneuter Stresstest produziert keine der obengenannten Fehlermeldungen mehr bei gleichem Testmuster.

    Zum Flashen des Controllers bin ich folgendermaßen vorgegangen:

    1. Sata Controller (hier: DeLOCK 89395) in ein x64/x86 system stecken
    2. Bootbaren USB Stick mit FreeDos präparieren und Dateien aus obengenanntem Archiv ins Hauptverzeichnis legen
    3. Vom USB Stick ins FreeDos booten
    4. In der Kommandozeile "go.bat -y" ausführen
    5. Warten bis der Flash vollständig ist
    6. Neustart

    ACHTUNG: DIESE METHODE BEINHALTET KEIN (FUNKTIONIERENDES) BACKUP DER VORHANDENEN FIRMWARE DES CONTROLLERS! FLASHEN AUF EIGENES RISIKO!

    Ich habe zuerst die allerneuste Version 1.0.0.1028 bios + 2.3.0.1078 fw geflasht. Mit dieser Version gab es Fehlermeldungen in dmesg über den controller init und die angeschlossenen Platten wurden nicht angezeigt. Ein Downgrade auf obengenannte Version löste das Problem.

    Viele Grüße,
    Florian

  • Als kleine Ergänzung.

    @flockeee benutzt 4 Festplatten an seiner Karte 2 * HDD (SW-Raid) & 2 * SSD, ich benutze nur 2 * HDD als RAID1. Bei seinem Stresstest werden wohl alle 4 Platten gleichzeitig genutzt, was wohl zu den Fehlern führt mit der alten Firmware Version.

    Ich konnte mit meiner Konfiguration, bis jetzt, keine Fehler feststellen.

    Danke für den konstruktiven Beitrag. Vielleicht wage ich mich da auch mal ran.

    FreeDOS -> http://www.freedos.org/download/

  • Kurz als Hinweis, Kernel 5.0.0 crasht bei mir.

    Das oben geschriebene muss ich revidieren. Heute nochmal in Ruhe getestet - funktioniert!!

    rock64@rp64v_2_1_NAS:~$ uname -a
    Linux rp64v_2_1_NAS 5.0.0-1101-ayufan-g41eeb7cd789e #ayufan SMP PREEMPT Fri Mar 8 22:14:59 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
    
  • Der LAN-Fix im 1011er bringt ganz gute Raten. Lesend, ein par Filme kopieren.

    bfd247ba-5e1b-424d-affb-4f682ebc6f54-grafik.png

  • Mal kurz was an Infos vom heutigen Tag aus dem IRC.

    Ein User(Linu) hatte dort massive Probleme mit der SATA-Karte, konnte aber schon nicht vernünftig booten. 4.4er Kernel ging, alle anderen Kernel verursachten Probleme.

    Der User bootete von der eMMC-Karte! Das Bootproblem lies sich mit folgendem Befehl beheben

    mmc_cmdqueue=off
    

    Danke an den User nuumio für den Tipp.

    Die SATA-Karte funktioniert aber nur mit einem Mainline-Kernel vom Kamil. Nix neues für uns 😉

    Und wieder ein glücklicher ROCKPro64 User mit NAS 🙂

  • Heute mal mit dem neuen Release 0.10.x von Kamil testen. u-boot im SPI!

    Mit pci=nomsi geht es nicht. Die Karte wird zwar erkannt, aber keine angeschlossenen Laufwerke.

    Mit

    cd /etc/udev/rules.d
    

    dann

    nano 98-sata.rules
    

    und

    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1b4b", ATTR{device}=="0x9230", RUN+="/bin/bash -c 'echo %k > /sys/bus/pci/drivers/ahci/bind'"
    

    kann ich die Platte sehen.

    root@rockpro64:~# blkid
    /dev/sda1: PARTLABEL="loader1" PARTUUID="37466429-e4a4-495c-b9a1-3f74625a3cae"
    /dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="boot-efi" LABEL="boot-efi" UUID="ABCD-FC7D" TYPE="vfat" PARTLABEL="boot_efi" PARTUUID="72e36967-4050-4bb3-8f8f-bf6755c38f28"
    /dev/sda3: LABEL="linux-boot" UUID="8e289a3e-0f9b-4da1-a147-51e03390637c" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="fe944fd2-3e42-4202-8a95-656e9bdb4be6"
    /dev/sda4: LABEL="linux-root" UUID="3e9513c6-dfd1-48c9-bee2-04bb5a153056" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="d2d1dd88-030d-4f74-998f-7c9ce7d385d0"
    /dev/sdb1: PARTLABEL="loader1" PARTUUID="615d1c43-7774-43eb-b31f-b586ed7c8af4"
    /dev/sdb2: SEC_TYPE="msdos" LABEL_FATBOOT="boot-efi" LABEL="boot-efi" UUID="E616-9C0A" TYPE="vfat" PARTLABEL="boot_efi" PARTUUID="8b62024d-dd94-4022-a43f-dc91766cd611"
    /dev/sdb3: LABEL="linux-boot" UUID="d1a97607-270c-494b-a360-9231b52fd7ef" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="e1c825e9-60f1-479d-9ab4-0a853a5da9f2"
    /dev/sdb4: LABEL="linux-root" UUID="1ada358f-1688-4557-ae4e-2942db99a0ff" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="e07545eb-3cf2-4814-8985-728554cd20ae"
    

    Aber von der Karte wird nicht gebootet 😞

  • Ok, es gibt noch eine andere Möglichkeit.

    Kamil hat mir noch ein wenig geholfen. Mit folgender Änderung werden die Platten gefunden.

    hmm, I had to add /etc/default/extlinuxlibahci.skip_host_reset=1

    Sieht dann so aus.

    # Configure timeout to choose the kernel
    # TIMEOUT="10"
    
    # Configure default kernel to boot: check all kernels in `/boot/extlinux/extlinux.conf`
    # DEFAULT="kernel-4.4.126-rockchip-ayufan-253"
    
    # Configure additional kernel configuration options
    APPEND="$APPEND root=LABEL=linux-root rootwait rootfstype=ext4 libahci.skip_host_reset=1"
    

    Danach waren die Platten zu sehen.

    root@rockpro64:/tmp/etc/default# blkid
    /dev/sda2: SEC_TYPE="msdos" LABEL_FATBOOT="boot-efi" LABEL="boot-efi" UUID="ABCD-FC7D" TYPE="vfat" PARTLABEL="boot_efi" PARTUUID="72e36967-4050-4bb3-8f8f-bf6755c38f28"
    /dev/sda3: LABEL="linux-boot" UUID="8e289a3e-0f9b-4da1-a147-51e03390637c" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="fe944fd2-3e42-4202-8a95-656e9bdb4be6"
    /dev/sda4: LABEL="linux-root" UUID="3e9513c6-dfd1-48c9-bee2-04bb5a153056" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="d2d1dd88-030d-4f74-998f-7c9ce7d385d0"
    /dev/sdb2: SEC_TYPE="msdos" LABEL_FATBOOT="boot-efi" LABEL="boot-efi" UUID="56C9-F745" TYPE="vfat" PARTLABEL="boot_efi" PARTUUID="919c8f73-5f25-4a01-9072-3a5ed9a88ff2"
    /dev/sdb3: LABEL="linux-boot" UUID="23c19647-f4a1-4197-a877-f1bb03456bef" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="093d0cc0-d122-4dce-aeb5-4e266b4b7d9d"
    /dev/sdb4: LABEL="linux-root" UUID="f1c74331-8318-4ee8-a4f7-f0c169fb9944" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="964ab457-58d5-40c4-bb02-dfd37bd2f0da"
    /dev/sda1: PARTLABEL="loader1" PARTUUID="37466429-e4a4-495c-b9a1-3f74625a3cae"
    /dev/sdb1: PARTLABEL="loader1" PARTUUID="33f692b3-54cb-4a37-b602-21a2baf32fa0"
    

    Aber auch hiermit ist ein Boot von der SATA Platte nicht möglich.

    Ich möchte hier noch was vom kamil zitieren.

    (11:44:09) ayufanWithPM: will look later, but this controller is tricky, also on x86 as well
    (11:44:16) ayufanWithPM: jms585 seems to be significantly more stable

    Evt. bekommt er das gefixt 😉