Skip to content

ROCKPro64 - PCIe SATA-Karte mit JMicron JMS585- Chip

Angeheftet Hardware
  • Nachdem ich ja die Tage wieder viel mit dem Marvell Controller zu kämpfen hatte, hatte ich ja einen Tipp vom Kamil bekommen.

    (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

    Da man ja in Zeiten von Corona viel Zeit hat, habe ich mal eine Karte geordert. Um es anderen Usern einfacher zu machen, kommt jetzt hier der Link zum Produkt. Meine Bitte, wenn möglich irgendwo lokal bestellen. Unterstützt Eure Händler vor Ort.

    Die Karte kam dann heute an. Sie war in einer Pappschachtel verpackt, so wie man es kennt. Der Lieferumfang.

    • PCIe SATA Karte
    • 5 SATA-Kabel
    • Low Profil Bracket
    • Treiber-CD
    • Ein Zettel als Bedienungsanleitung

    JMS_585_2.jpg

    Dann mal die Karte in den ROCKPro64, ein frisches Release 0.10.10 auf eine SD-Karte und einschalten. Erst mal sehe ich gar nichts, keine LED und nix. Ohhhh

    Ok, mal nachschauen was los ist.

    Kernel

     root@rockpro64:/mnt/home/rock64# uname -a
     Linux rockpro64 5.6.0-1134-ayufan-g652fb97d87eb #ayufan SMP Thu Apr 9 22:26:01 UTC 2020 aarch64 GNU/Linux
    

    lspci

    root@rockpro64:~# lspci   
     00:00.0 PCI bridge: Fuzhou Rockchip Electronics Co., Ltd RK3399 PCI Express Root Port
     01:00.0 SATA controller: JMicron Technology Corp. Device 0585
    

    Und in lang

    root@rockpro64:~# lspci -vvv
    00:00.0 PCI bridge: Fuzhou Rockchip Electronics Co., Ltd RK3399 PCI Express Root Port (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 229
    	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: 00000000fee30040  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 2.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 2.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: 2.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
    	Kernel driver in use: pcieport
    
    01:00.0 SATA controller: JMicron Technology Corp. Device 0585 (prog-if 01 [AHCI 1.0])
    	Subsystem: JMicron Technology Corp. Device 0000
    	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 230
    	Region 0: I/O ports at <unassigned> [disabled]
    	Region 1: I/O ports at <unassigned> [disabled]
    	Region 2: I/O ports at <unassigned> [disabled]
    	Region 3: I/O ports at <unassigned> [disabled]
    	Region 4: I/O ports at <unassigned> [disabled]
    	Region 5: Memory at fa010000 (32-bit, non-prefetchable) [size=8K]
    	[virtual] Expansion ROM at fa000000 [disabled] [size=64K]
    	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=8/8 Maskable+ 64bit+
    		Address: 00000000fee30040  Data: 0000
    		Masking: 000000e0  Pending: 00000000
    	Capabilities: [c0] Express (v2) Legacy Endpoint, MSI 00
    		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <1us, L1 <1us
    			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
    		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
    			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
    			MaxPayload 256 bytes, MaxReadReq 512 bytes
    		DevSta:	CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
    		LnkCap:	Port #0, Speed 8GT/s, Width x2, ASPM not supported, Exit Latency L0s <256ns, L1 <8us
    			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
    		LnkCtl:	ASPM Disabled; RCB 64 bytes Disabled- CommClk-
    			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
    		LnkSta:	Speed 2.5GT/s, Width x2, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
    		DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR-, OBFF Via message
    		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
    		LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
    			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
    			 Compliance De-emphasis: -6dB
    		LnkSta2: Current De-emphasis Level: -3.5dB, 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: [150 v1] Device Serial Number 00-00-00-00-00-00-00-00
    	Capabilities: [160 v1] Power Budgeting <?>
    	Capabilities: [1b8 v1] Latency Tolerance Reporting
    		Max snoop latency: 0ns
    		Max no snoop latency: 0ns
    	Capabilities: [300 v1] #19
    	Capabilities: [900 v1] L1 PM Substates
    		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
    			  PortCommonModeRestoreTime=255us PortTPowerOnTime=10us
    		L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
    			   T_CommonMode=0us LTR1.2_Threshold=0ns
    		L1SubCtl2: T_PwrOn=10us
    	Kernel driver in use: ahci
    

    Ok, ich hatte gar keine HDD angesteckt. Also nachholen. Hot Swap, nennt man das so? Einfach angeschlossen. Sieht dann so aus.

    [  215.156237] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)           
    [  215.405186] ata1.00: ATA-10: ST2000LM015-2E8174, SDM1, max UDMA/133          
    [  215.406120] ata1.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 32), AA  
    [  215.456688] ata1.00: configured for UDMA/133                                 
    [  215.458198] scsi 0:0:0:0: Direct-Access     ATA      ST2000LM015-2E81 SDM1 P5
    [  215.461053] sd 0:0:0:0: Attached scsi generic sg0 type 0                     
    [  215.461287] sd 0:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1)
    [  215.462714] sd 0:0:0:0: [sda] 4096-byte physical blocks                      
    [  215.463359] sd 0:0:0:0: [sda] Write Protect is off                           
    [  215.464010] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doeA
    [  215.614516] GPT:Primary header thinks Alt. header is not at the end of the d.
    [  215.615215] GPT:3906241 != 3907029167                                        
    [  215.615554] GPT:Alternate GPT header not at the end of the disk.             
    [  215.616105] GPT:3906241 != 3907029167                                        
    [  215.616463] GPT: Use GNU Parted to correct GPT errors.                       
    [  215.616955]  sda: sda1 sda2 sda3 sda4                                        
    [  215.618720] sd 0:0:0:0: [sda] Attached SCSI disk  
    

    Und hier ist die Platte.

    root@rockpro64:~# blkid
    /dev/mmcblk1: PTUUID="4d25499d-a0f3-454b-b6fe-8067d944b0b6" PTTYPE="gpt"
    /dev/mmcblk1p1: PARTLABEL="loader1" PARTUUID="33f692b3-54cb-4a37-b602-21a2baf32fa0"
    /dev/mmcblk1p2: 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/mmcblk1p3: LABEL="linux-boot" UUID="23c19647-f4a1-4197-a877-f1bb03456bef" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="093d0cc0-d122-4dce-aeb5-4e266b4b7d9d"
    /dev/mmcblk1p4: 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="33f692b3-54cb-4a37-b602-21a2baf32fa0"
    /dev/sda2: 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/sda3: LABEL="linux-boot" UUID="23c19647-f4a1-4197-a877-f1bb03456bef" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="093d0cc0-d122-4dce-aeb5-4e266b4b7d9d"
    /dev/sda4: LABEL="linux-root" UUID="f1c74331-8318-4ee8-a4f7-f0c169fb9944" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="964ab457-58d5-40c4-bb02-dfd37bd2f0da"
    

    Ein erster schneller Schreibtest

    2,5 Zoll HDD 2TB

    root@rockpro64:/tmp/home/rock64# 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, 36.6512 s, 117 MB/s
    

    2,5 Zoll SSD Kingston 30GB

    root@rockpro64:/mnt/home/rock64# 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, 11.5676 s, 371 MB/s
    

    Mehr Tests folgen. Wie? Booten von SATA, Schreibgeschwindigkeit zwischen den Platten usw.

    Bootlog

  • Zwei HDDs angeschlossen.

    • 2,5 Zoll HDD 1,8TB Seagate BarraCuda

    Einmal nach /mnt und einmal nach /tmp gemountet.

    4GB File in /mnt erzeugen

    root@rockpro64:/# dd if=/dev/zero of=/mnt/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, 34.5184 s, 124 MB/s
    

    Und dann syncen wir das mal mit /tmp

    root@rockpro64:/# rsync -av --progress /mnt /tmp
    sending incremental file list
    mnt/
    mnt/sd.img
      4,294,967,296 100%   98.55MB/s    0:00:41 (xfr#1, to-chk=1/3)
    mnt/lost+found/
    
    sent 4,296,016,028 bytes  received 47 bytes  101,082,731.18 bytes/sec
    total size is 4,294,967,296  speedup is 1.00
    
  • Test ob der ROCKPro64 auch ein System startet, wenn an der SATA Karte eine HDD angeschlossen ist.

    Start Log

    Der bekannte Test

    rock64@rockpro64:~$ 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, 36.6207 s, 117 MB/s
    
  • Mit Kamil heute Nachmittag ein wenig getestet. Dazu haben wir mal 5 Festplatten an die SATA-Karte angeschlossen. Yeah.

    IMG_20200415_193900_ergebnis.jpg

    Doch es gab ein kleines Problem, Kamil wusste das schon vorher 🙂 Nachdem ich nur noch eine Festplatte mit Bootdevice hatte und diese als Device 4:0 angeschlossen war (entspricht dem Port 5 auf der Karte) bootete das System nicht mehr.

    Das hat Kamil im u-boot eben mal gefixt. Der neue u-boot 2020.01-ayufan-2014-gff2cdd38 enthält einen Fix dafür.

    • ayufan: rockchip: allow to boot scsi4, as JMS585 can have 5 drives

    Und nun bootet die Karte von scsi4 und kann an den anderen Anschlüssen noch 4 andere Laufwerke betreiben.

    df -h

    root@rockpro64:~# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            918M     0  918M   0% /dev
    tmpfs           192M  2.8M  189M   2% /run
    /dev/sde4        28G  5.1G   22G  20% /
    tmpfs           957M     0  957M   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           957M     0  957M   0% /sys/fs/cgroup
    /dev/sde3       105M   44M   54M  45% /boot
    /dev/sde2        12M     0   12M   0% /boot/efi
    tmpfs           192M     0  192M   0% /run/user/1000
    

    blkid

    root@rockpro64:~# blkid
    /dev/sda1: UUID="ed9e991a-0345-4200-b9ae-f939d4443c91" TYPE="ext4" PARTUUID="8786fc87-01"
    /dev/sdb1: LABEL="1TB" UUID="99950e1f-5637-4cb8-9985-e9deea6c8f96" UUID_SUB="48ae2955-33d1-46a6-9067-afd65a04de2b" TYPE="btrfs" PARTUUID="b9aa5cfb-01"
    /dev/sdc: PTUUID="4d25499d-a0f3-454b-b6fe-8067d944b0b6" PTTYPE="gpt"
    /dev/sdd1: PARTUUID="154f54f0-4cdc-b547-b5ed-4c5ef5d1ac98"
    /dev/sde1: PARTLABEL="loader1" PARTUUID="37466429-e4a4-495c-b9a1-3f74625a3cae"
    /dev/sde2: 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/sde3: LABEL="linux-boot" UUID="8e289a3e-0f9b-4da1-a147-51e03390637c" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="fe944fd2-3e42-4202-8a95-656e9bdb4be6"
    /dev/sde4: LABEL="linux-root" UUID="3e9513c6-dfd1-48c9-bee2-04bb5a153056" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="d2d1dd88-030d-4f74-998f-7c9ce7d385d0"
    

    Und schön bunt ist es auch 😉

    IMG_20200415_193908_ergebnis.jpg

    Das wäre dann ein SATA-Karte mit JMS585 im Vollausbau 🙂

    Danke Kamil!!

  • Nächster Test.

    Zwei RAID1, insgesamt 4 HDDs und eine SSD 30GB als System.

    Hardware

    • ROCKPro64v2.1 mit 2GB RAM
    • PCIe SATA Karte JMS585
    • 2 * 2,5 Zoll HDD 2TB Seagate
    • 2 * 2,5 Zoll HDD HGST 1TB
    • 1 30GB SSD Kingston

    Also, alles in allem nix besonderes, so Kram der sich hier angesammelt hat 😉

    Software

    • Kamils Release 0.10.11
    • u-boot im SPI 2020.01-ayufan-2014-gff2cdd38

    Der Plan

    md0

    • sda 1TB
    • sdb 1TB

    md1

    • sdc 1,8TB
    • sdd 1,8TB

    System

    • sde 30GB SSDKingston

    Übersicht

    root@rockpro64:~# blkid
    /dev/sde2: 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/sde3: LABEL="linux-boot" UUID="8e289a3e-0f9b-4da1-a147-51e03390637c" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="fe944fd2-3e42-4202-8a95-656e9bdb4be6"
    /dev/sde4: LABEL="linux-root" UUID="3e9513c6-dfd1-48c9-bee2-04bb5a153056" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="d2d1dd88-030d-4f74-998f-7c9ce7d385d0"
    /dev/sda: UUID="ff08805b-a249-f512-6b2d-ed9ef86665be" UUID_SUB="27fa92a3-6275-8a3c-d06b-8ccd02e931ae" LABEL="rockpro64:0" TYPE="linux_raid_member"
    /dev/sdb: UUID="ff08805b-a249-f512-6b2d-ed9ef86665be" UUID_SUB="f5f18413-ab32-58d3-21d0-0fef26947d1c" LABEL="rockpro64:0" TYPE="linux_raid_member"
    /dev/sdc: UUID="eca7e4b4-1436-71df-4261-c05037dc9070" UUID_SUB="8d1b00bd-552d-51c9-ed87-9145591a02c1" LABEL="rockpro64:1" TYPE="linux_raid_member"
    /dev/sdd: UUID="eca7e4b4-1436-71df-4261-c05037dc9070" UUID_SUB="c4ee7d26-e264-690d-0933-93ae74ba43f4" LABEL="rockpro64:1" TYPE="linux_raid_member"
    /dev/sde1: PARTLABEL="loader1" PARTUUID="37466429-e4a4-495c-b9a1-3f74625a3cae"
    

    Einrichtung mdadm

    root@rockpro64:~# apt install mdadm
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Suggested packages:
      dracut-core
    Recommended packages:
      default-mta | mail-transport-agent
    The following NEW packages will be installed:
      mdadm
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 425 kB of archives.
    After this operation, 1223 kB of additional disk space will be used.
    Get:1 http://cdn-fastly.deb.debian.org/debian buster/main arm64 mdadm arm64 4.1-1 [425 kB]
    Fetched 425 kB in 1s (468 kB/s)
    Preconfiguring packages ...
    Selecting previously unselected package mdadm.
    (Reading database ... 41667 files and directories currently installed.)
    Preparing to unpack .../archives/mdadm_4.1-1_arm64.deb ...
    Unpacking mdadm (4.1-1) ...
    Setting up mdadm (4.1-1) ...
    Generating mdadm.conf... done.
    update-initramfs: deferring update (trigger activated)
    update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
    Processing triggers for systemd (241-7~deb10u3) ...
    Processing triggers for initramfs-tools (0.133+deb10u1) ...
    update-initramfs: Generating /boot/initrd.img-5.6.0-1132-ayufan-g81043e6e109a
    

    Einrichtung md0

    Raid anlegen

    root@rockpro64:~# mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/sda /dev/sdb
    mdadm: partition table exists on /dev/sda
    mdadm: partition table exists on /dev/sda but will be lost or
           meaningless after creating array
    mdadm: Note: this array has metadata at the start and
        may not be suitable as a boot device.  If you plan to
        store '/boot' on this device please ensure that
        your boot-loader understands md/v1.x metadata, or use
        --metadata=0.90
    mdadm: partition table exists on /dev/sdb
    mdadm: partition table exists on /dev/sdb but will be lost or
           meaningless after creating array
    Continue creating array? Y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    

    Filesystem anlegen

    root@rockpro64:~# mkfs.ext4 /dev/md0
    mke2fs 1.44.5 (15-Dec-2018)
    Creating filesystem with 244157616 4k blocks and 61046784 inodes
    Filesystem UUID: 174a13ea-5ac9-4628-9741-3f802e110b34
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    	102400000, 214990848
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done 
    

    Mounten

    root@rockpro64:~# mkdir /mnt/DATA
    

    Einrichtung md1

    Raid anlegen

    root@rockpro64:~# mdadm --create /dev/md1 --auto md --level=1 --raid-devices=2 /dev/sdc /dev/sdd
    mdadm: partition table exists on /dev/sdc
    mdadm: partition table exists on /dev/sdc but will be lost or
           meaningless after creating array
    mdadm: Note: this array has metadata at the start and
        may not be suitable as a boot device.  If you plan to
        store '/boot' on this device please ensure that
        your boot-loader understands md/v1.x metadata, or use
        --metadata=0.90
    mdadm: partition table exists on /dev/sdd
    mdadm: partition table exists on /dev/sdd but will be lost or
           meaningless after creating array
    Continue creating array? Y
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md1 started.
    

    Filesystem anlegen

    root@rockpro64:~# mkfs.ext4 /dev/md1
    mke2fs 1.44.5 (15-Dec-2018)
    Creating filesystem with 488345616 4k blocks and 122093568 inodes
    Filesystem UUID: e697a0f3-8b24-497c-b453-820d70059ac3
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    	102400000, 214990848
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (262144 blocks): done
    Writing superblocks and filesystem accounting information: done 
    

    Mounten

    root@rockpro64:~# mount /dev/md1 /mnt/NAS
    

    Ergebnis

    Filesystem      Size  Used Avail Use% Mounted on
    udev            918M     0  918M   0% /dev
    tmpfs           192M  5.2M  187M   3% /run
    /dev/sde4        28G  5.1G   22G  20% /
    tmpfs           957M     0  957M   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           957M     0  957M   0% /sys/fs/cgroup
    /dev/sde3       105M   45M   53M  46% /boot
    /dev/sde2        12M     0   12M   0% /boot/efi
    tmpfs           192M     0  192M   0% /run/user/1000
    /dev/md0        916G   77M  870G   1% /mnt/DATA
    /dev/md1        1.8T   77M  1.7T   1% /mnt/NAS
    

    Und jetzt sind die RAIDs erst mal am resyncen......

    Every 10.0s: cat /proc/mdstat                                                                                                                                                   rockpro64: Thu Apr 16 15:15:54 2020
    
    Personalities : [raid1]
    md1 : active raid1 sdd[1] sdc[0]
          1953382464 blocks super 1.2 [2/2] [UU]
          [>....................]  resync =  3.4% (66640768/1953382464) finish=450.5min speed=69797K/sec
          bitmap: 15/15 pages [60KB], 65536KB chunk
    
    md0 : active raid1 sdb[1] sda[0]
          976630464 blocks super 1.2 [2/2] [UU]
          [==>..................]  resync = 10.3% (101341312/976630464) finish=170.2min speed=85702K/sec
          bitmap: 8/8 pages [32KB], 65536KB chunk
    
    unused devices: <none>
    

    wird fortgesetzt...

  • Der Resync ist durch.

     Personalities : [raid1]
     md1 : active raid1 sdd[1] sdc[0]
           1953382464 blocks super 1.2 [2/2] [UU]
           bitmap: 0/15 pages [0KB], 65536KB chunk
     
     md0 : active raid1 sdb[1] sda[0]
           976630464 blocks super 1.2 [2/2] [UU]
           bitmap: 0/8 pages [0KB], 65536KB chunk
     
     unused devices: <none>
    

    Speedtest des Systemes 30GB SSD Kongston

    root@rockpro64:/home/rock64# 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, 13.6125 s, 316 MB/s
    

    Speedtest auf /mnt/DATA

    root@rockpro64:/mnt/DATA# 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, 47.5736 s, 90.3 MB/s
    

    Speedtest auf /mnt/NAS

    root@rockpro64:/mnt/NAS# 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, 42.4595 s, 101 MB/s
    

    Auf meinem alten NAS mit ROCKPro64 bekomme ich das als Ergebnis. Aber darin verbaut sind auch zwei 3,5 Zoll WD mit je 4TB verbaut.

    root@rockpro64:/mnt/nas# dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync
         4096+0 Datensätze ein
         4096+0 Datensätze aus
         4294967296 bytes (4,3 GB, 4,0 GiB) copied, 29,1319 s, 147 MB/s     
    

    Jetzt wisst Ihr auch, was ich als nächstes Teste... 😉

  • Heute nach Feierabend, die Kiste mal wieder gestartet. Ich konnte md0 nicht mounten. Ok, das ist einfach, den Fehler kenne ich 🙂

    blkid

     root@rockpro64:~# blkid
     /dev/sda: UUID="ff08805b-a249-f512-6b2d-ed9ef86665be" UUID_SUB="27fa92a3-6275-8a3c-d06b-8ccd02e931ae" LABEL="rockpro64:0" TYPE="linux_raid_member"
     /dev/sdb: UUID="ff08805b-a249-f512-6b2d-ed9ef86665be" UUID_SUB="f5f18413-ab32-58d3-21d0-0fef26947d1c" LABEL="rockpro64:0" TYPE="linux_raid_member"
     /dev/sdc: UUID="eca7e4b4-1436-71df-4261-c05037dc9070" UUID_SUB="8d1b00bd-552d-51c9-ed87-9145591a02c1" LABEL="rockpro64:1" TYPE="linux_raid_member"
     /dev/sdd: UUID="eca7e4b4-1436-71df-4261-c05037dc9070" UUID_SUB="c4ee7d26-e264-690d-0933-93ae74ba43f4" LABEL="rockpro64:1" TYPE="linux_raid_member"
     /dev/sde1: PARTLABEL="loader1" PARTUUID="37466429-e4a4-495c-b9a1-3f74625a3cae"
     /dev/sde2: 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/sde3: LABEL="linux-boot" UUID="8e289a3e-0f9b-4da1-a147-51e03390637c" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="fe944fd2-3e42-4202-8a95-656e9bdb4be6"
     /dev/sde4: LABEL="linux-root" UUID="3e9513c6-dfd1-48c9-bee2-04bb5a153056" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="d2d1dd88-030d-4f74-998f-7c9ce7d385d0"
     /dev/md127: UUID="174a13ea-5ac9-4628-9741-3f802e110b34" TYPE="ext4"
     /dev/md126: UUID="e697a0f3-8b24-497c-b453-820d70059ac3" TYPE="ext4"
    

    Da sehen wir schon das Problem, die heißen jetzt md126 und md127.

    /etc/mdadm/mdadm.conf

    Das können wir ändern.

    nano /etc/mdadm/mdadm.conf
    

    und dort folgendes eintragen.

    # This configuration was auto-generated on Thu, 16 Apr 2020 14:54:56 +0000 by mkconf
    ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 UUID=ff08805b:a249f512:6b2ded9e:f86665be
    ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 UUID=eca7e4b4:143671df:4261c050:37dc9070
    

    Die UUIDs müsst ihr mit Euren Werten füllen. Diese bekommt ihr mit

    root@rockpro64:~# mdadm --detail /dev/md0
    /dev/md0:
               Version : 1.2
         Creation Time : Thu Apr 16 14:55:51 2020
            Raid Level : raid1
            Array Size : 976630464 (931.39 GiB 1000.07 GB)
         Used Dev Size : 976630464 (931.39 GiB 1000.07 GB)
          Raid Devices : 2
         Total Devices : 2
           Persistence : Superblock is persistent
    
         Intent Bitmap : Internal
    
           Update Time : Fri Apr 17 13:49:54 2020
                 State : clean 
        Active Devices : 2
       Working Devices : 2
        Failed Devices : 0
         Spare Devices : 0
    
    Consistency Policy : bitmap
    
                  Name : rockpro64:0  (local to host rockpro64)
                  UUID : ff08805b:a249f512:6b2ded9e:f86665be
                Events : 18567
    
        Number   Major   Minor   RaidDevice State
           0       8        0        0      active sync   /dev/sda
           1       8       16        1      active sync   /dev/sdb
    

    Danach

    root@rockpro64:~# update-initramfs -u
    update-initramfs: Generating /boot/initrd.img-5.6.0-1132-ayufan-g81043e6e109a
    mdadm: metadata format 1.20 unknown, ignored.
    mdadm: metadata format 1.20 unknown, ignored.
    

    Den Fehler

    mdadm: metadata format 1.20 unknown, ignored.
    

    bekommt man, wenn man 1.20 eingibt. Richtig muss es 1.2 lauten. Was für dumme Software 😉

    Mount beim Booten

    Wenn die RAIDs automatisch beim Booten eingebunden werden sollen, muss man in der /etc/fstab folgendes eintragen.

     LABEL=linux-root /           ext4    defaults         0    1
     LABEL=linux-boot /boot       ext4    defaults         0    1
     LABEL=boot-efi   /boot/efi   vfat    defaults,sync    0    1
     /dev/md0        /mnt/DATA       ext4    defaults        0       0
     /dev/md1        /mnt/NAS        ext4    defaults        0       0
    

    Und so sieht das dann aus, wenn man den ROCKPro64 mit den 5 Festplatten neustartet und alles funktioniert 😉

    root@rockpro64:~# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            917M     0  917M   0% /dev
    tmpfs           192M  2.8M  189M   2% /run
    /dev/sde4        28G  5.1G   22G  20% /
    tmpfs           957M     0  957M   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           957M     0  957M   0% /sys/fs/cgroup
    /dev/md0        916G  4.1G  866G   1% /mnt/DATA
    /dev/md1        1.8T  4.1G  1.7T   1% /mnt/NAS
    /dev/sde3       105M   45M   53M  46% /boot
    /dev/sde2        12M     0   12M   0% /boot/efi
    tmpfs           192M     0  192M   0% /run/user/1000
    
  • Ich habe das jetzt hier alles provisorisch umgebaut.

    Die 2TB Platten sind jetzt als md1 DATA noch drin. Aus meinem alten NAS die zwei 3,5 Zoll 4TB HDDs rein, als md0 NAS.

    blkid

    root@rockpro64:/mnt/NAS# blkid
    /dev/sda1: UUID="dbbdbbf3-d57a-f8f0-158a-95a090318787" UUID_SUB="a4e46abc-0745-812d-453a-5900c93be9e6" LABEL="rockpro64:0" TYPE="linux_raid_member" PARTUUID="bad3f3c0-1c93-8c48-a236-2d36f561208d"
    /dev/sdb1: UUID="dbbdbbf3-d57a-f8f0-158a-95a090318787" UUID_SUB="f686690c-7820-6177-ff0d-b49d4b6ee162" LABEL="rockpro64:0" TYPE="linux_raid_member" PARTUUID="4969cca5-813b-744b-8be8-267b8dce3a64"
    /dev/sdc: UUID="eca7e4b4-1436-71df-4261-c05037dc9070" UUID_SUB="8d1b00bd-552d-51c9-ed87-9145591a02c1" LABEL="rockpro64:1" TYPE="linux_raid_member"
    /dev/sdd: UUID="eca7e4b4-1436-71df-4261-c05037dc9070" UUID_SUB="c4ee7d26-e264-690d-0933-93ae74ba43f4" LABEL="rockpro64:1" TYPE="linux_raid_member"
    /dev/sde1: PARTLABEL="loader1" PARTUUID="37466429-e4a4-495c-b9a1-3f74625a3cae"
    /dev/sde2: 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/sde3: LABEL="linux-boot" UUID="8e289a3e-0f9b-4da1-a147-51e03390637c" TYPE="ext4" PARTLABEL="linux_boot" PARTUUID="fe944fd2-3e42-4202-8a95-656e9bdb4be6"
    /dev/sde4: LABEL="linux-root" UUID="3e9513c6-dfd1-48c9-bee2-04bb5a153056" TYPE="ext4" PARTLABEL="linux_root" PARTUUID="d2d1dd88-030d-4f74-998f-7c9ce7d385d0"
    /dev/md1: UUID="e697a0f3-8b24-497c-b453-820d70059ac3" TYPE="ext4"
    /dev/md0: UUID="65d12371-db28-405c-91c7-8ee644e5cbaa" TYPE="ext4"
    

    df -h

    root@rockpro64:/mnt/NAS# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            917M     0  917M   0% /dev
    tmpfs           192M  5.3M  187M   3% /run
    /dev/sde4        28G  5.5G   21G  21% /
    tmpfs           957M     0  957M   0% /dev/shm
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    tmpfs           957M     0  957M   0% /sys/fs/cgroup
    /dev/md1        1.8T  2.4G  1.7T   1% /mnt/DATA
    /dev/md0        3.6T  693G  2.8T  20% /mnt/NAS
    /dev/sde3       105M   87M  9.7M  90% /boot
    /dev/sde2        12M     0   12M   0% /boot/efi
    tmpfs           192M     0  192M   0% /run/user/1000
    

    Speedtest

    root@rockpro64:/mnt/NAS# dd if=/dev/zero of=sd.img bs=1M count=4096 conv=fdatasync,notrunc
    4096+0 records in
    4096+0 records out
    4294967296 bytes (4.3 GB, 4.0 GiB) copied, 27.6825 s, 155 MB/s
    
    root@rockpro64:/mnt/NAS# echo 3 | sudo tee /proc/sys/vm/drop_caches
    3
    
    root@rockpro64:/mnt/NAS# dd if=sd.img of=/dev/null bs=1M count=1024
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB, 1.0 GiB) copied, 6.61112 s, 162 MB/s
    

    Speedtest ein wenig anders. Erst schreiben wir 4GB, dann Cache leeren, dann die 4GB lesen. Quelle: wiki.ubuntuusers.de

  • Was fehlt noch für ein schönes NAS? Da ich ja nicht ständig auf das NAS zugreife, lege ich die angeschlossenen gerne schlafen. Das spart auch reichlich Energie.

    Dazu nutzen wir hdparm

    Installation

    apt install hsparm
    

    Konfiguration

    ls /dev/disk/by-id
    

    Die ID's der HDDs auslesen. In meinem Fall sieht das so aus.

     root@NASrp64:/# ls -lha /dev/disk/by-id
     insgesamt 0
     drwxr-xr-x 2 root root 460 Apr 18 14:04 .
     drwxr-xr-x 8 root root 160 Jan 18  2013 ..
     lrwxrwxrwx 1 root root   9 Apr 18 13:51 ata-KINGSTON_SS200S330G_50026B723A0B3073 -> ../../sde
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 ata-KINGSTON_SS200S330G_50026B723A0B3073-part1 -> ../../sde1
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 ata-KINGSTON_SS200S330G_50026B723A0B3073-part2 -> ../../sde2
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 ata-KINGSTON_SS200S330G_50026B723A0B3073-part3 -> ../../sde3
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 ata-KINGSTON_SS200S330G_50026B723A0B3073-part4 -> ../../sde4
     lrwxrwxrwx 1 root root   9 Apr 18 14:04 ata-ST2000LM015-2E8174_WDZHD87G -> ../../sdd
     lrwxrwxrwx 1 root root   9 Apr 18 14:04 ata-ST2000LM015-2E8174_ZDZ2MY9W -> ../../sdc
     lrwxrwxrwx 1 root root   9 Apr 18 13:51 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52 -> ../../sda
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52-part1 -> ../../sda1
     lrwxrwxrwx 1 root root   9 Apr 18 13:51 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 -> ../../sdb
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26-part1 -> ../../sdb1
     lrwxrwxrwx 1 root root   9 Apr 18 14:05 md-name-NASrp64:1 -> ../../md1
     lrwxrwxrwx 1 root root   9 Apr 18 13:51 md-name-rockpro64:0 -> ../../md0
     lrwxrwxrwx 1 root root   9 Apr 18 14:05 md-uuid-0f5f870b:eed97c18:50537db9:67b09a14 -> ../../md1
     lrwxrwxrwx 1 root root   9 Apr 18 13:51 md-uuid-dbbdbbf3:d57af8f0:158a95a0:90318787 -> ../../md0
     lrwxrwxrwx 1 root root   9 Apr 18 14:04 wwn-0x5000c500b1112c07 -> ../../sdc
     lrwxrwxrwx 1 root root   9 Apr 18 14:04 wwn-0x5000c500be743191 -> ../../sdd
     lrwxrwxrwx 1 root root   9 Apr 18 13:51 wwn-0x50014ee210ba6136 -> ../../sdb
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 wwn-0x50014ee210ba6136-part1 -> ../../sdb1
     lrwxrwxrwx 1 root root   9 Apr 18 13:51 wwn-0x50014ee21157c259 -> ../../sda
     lrwxrwxrwx 1 root root  10 Apr 18 13:51 wwn-0x50014ee21157c259-part1 -> ../../sda1
    

    Das sind meine vier Festplatten, die ich schlafen legen möchte.

    • ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52
    • ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26
    • ata-ST2000LM015-2E8174_WDZHD87G
    • ata-ST2000LM015-2E8174_ZDZ2MY9W

    Config bearbeiten

    sudo nano /etc/hdparm.conf
    

    Das dann ans Ende der Datei. Sieht dann so aus

    # HDDs schlafen legen nach 20 Minuten (240*5=1200Sek.=20Min.)
     /dev/disk/by-id/ata-ST2000LM015-2E8174_WDZHD87G {
     # mult_sect_io = 16
     # write_cache = off
     # dma = on
     spindown_time = 240
     }
    
     /dev/disk/by-id/ata-ST2000LM015-2E8174_ZDZ2MY9W {
     # mult_sect_io = 16
     # write_cache = off
     # dma = on
     spindown_time = 240
     }
    
    /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5PPSH52 {
     # mult_sect_io = 16
     # write_cache = off
     # dma = on
     spindown_time = 240
     }
    
    /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K6XD2C26 {
     # mult_sect_io = 16
     # write_cache = off
     # dma = on
     spindown_time = 240
     }
    

    Mit spindown_time = 10 kann man mal schnell testen. Man hat ja nicht ewig Zeit 😉 Danach mal eben neustarten und etwas warten, dann legen sich die Platten schlafen. Das machen sie natürlich nur, wenn es keine Aktivität gibt! Bei mir hat das wunderbar geklappt, nach einer knappen Minute waren sie leise.

    Die 240 also 20 Minuten, benutze ich schon ewig auf meinem NAS, ohne Probleme. Also, nach dem Testen auf 240 umstellen! Neustarten nicht vergessen.

    Damit hat man dann ein nettes NAS zusammen. Habe dann noch alle cronjobs angelegt, dem NAS beigebracht wie es Mails versendet und ein paar Standardeinstellungen angepasst. Somit sollte es fertig sein. Wenn ich jetzt die nächsten tage nichts außergewöhnliches feststelle, baue ich das alles mal in schön zusammen 😉

    IMG_20200418_173418.jpg

  • Hallo Frank,

    ja das hört sich ja sehr interessant an.

    mich interessiert noch wie du es mit der Stromversorgung genau gemacht hast? Da es ja mit den pine64-HD Stromkabeln nur für 2 HD klappt. Ich plane das auch so ähnlich auf zubauen. Allerdings mit 4 3,5" HD.

    Baust du es "schön" in ein Gehäuse oder wie ist da dein Plan.

    Übrigens hast du ganz oben im Thread einen kleine Typo ich denke die 5 USB-Kabel sind 5 SATA-Kabel.

    Gruß
    Martin

  • Hallo Martin,

    danke für den Hinweis mit dem Typo, habe es gefixt.

    Ich gebe dir einen kleinen Einblick in mein geheimes Versuchslabor 🙂

    IMG_20200420_163931.jpg

    Oben das Netzteil, was die ganzen Platten versorgt. Der ROCKPro64 unten links ist das NAS (zum Testen). Dieser Aufbau kommt in das Gehäuse unten rechts. Das ist irgendein Gehäuse, wo ich einen ROCKPro64 eingebaut habe. Dafür habe ich jetzt ein Netzteil bestellt.

    Der ROCKPro64 in dem Gehäuse ist aktuell mein Wireguard-Server zum Testen. Ich hoffe das ist jetzt so weit klar!? Wenn nicht, einfach fragen.

    Ich habe jetzt mittels Restic, das vorhandene NAS (md0) auf das andere Raid DATA (md1) gesichert. Das waren insgesamt 693 GB an Daten. Ja, ich muss mal wieder aufräumen 😉

    Und jetzt mach ich noch ein wenig Stress auf den Platten und teste die Daten.

    restic --password-file /root/passwd -r /mnt/DATA/Backup_NAS check --read-data
    
  • So der Check ist durch.

    check snapshots, trees and blobs
    read all data
    [3:37:28] 100.00%  116368 / 116368 items
    duration: 3:37:28
    no errors were found
    

    Damit kann ich jetzt den Cronjob anlegen und fertig 🙂 Am WE wird dann gebaut.

  • Ich möchte das dann hier zum Abschluss bringen, das NAS ist heute zusammengebaut worden. Hier zwei Fotos.

    IMG_20200425_102156_ergebnis.jpg

    IMG_20200425_102206_ergebnis.jpg

  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen

  • php8.2 secutity update

    PHP
    1
    0 Stimmen
    1 Beiträge
    77 Aufrufe
    Niemand hat geantwortet
  • MongoDB - Erste Erfahrungen

    Linux
    2
    0 Stimmen
    2 Beiträge
    146 Aufrufe
    FrankMF

    So frisch von der MongoDB Front und wieder viel gelernt, weil beim Üben macht man Fehler 🙂

    Oben war ja mongodump & mongorestore von der KI empfohlen. Hier das wie ich es gemacht habe.

    mongodump frank@redis-stack:~$ mongodump -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio -o mongodump/ 2024-04-06T09:29:25.174+0200 writing portfolio.stockList to mongodump/portfolio/stockList.bson 2024-04-06T09:29:25.175+0200 writing portfolio.users to mongodump/portfolio/users.bson 2024-04-06T09:29:25.175+0200 done dumping portfolio.stockList (8 documents) 2024-04-06T09:29:25.176+0200 writing portfolio.total_sum to mongodump/portfolio/total_sum.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.total_sum (1 document) 2024-04-06T09:29:25.177+0200 writing portfolio.old_total_sum to mongodump/portfolio/old_total_sum.bson 2024-04-06T09:29:25.177+0200 writing portfolio.stocks to mongodump/portfolio/stocks.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.users (4 documents) 2024-04-06T09:29:25.178+0200 writing portfolio.settings to mongodump/portfolio/settings.bson 2024-04-06T09:29:25.178+0200 done dumping portfolio.settings (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.old_total_sum (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.stocks (34 documents) mongorestore mongorestore -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio mongodump/meineDatenbank/

    Hier wird die Datensicherung mongodump/meineDatenbank/ in die neue Datenbank portfolio transferiert.

    Grund für das Ganze? Mich hatte der Datenbank Name meineDatenbank gestört.

    Benutzerrechte

    Jetzt der Teil wo man schnell was falsch machen kann 🙂 Ich hatte also die neue Datenbank, konnte sie aber nicht lesen. Fehlten halt die Rechte. Ich hatte dann so was hier gemacht.

    db.updateUser("frank", { roles: [ { role: "readWrite", db: "meineDatenbank" }, { role: "readWrite", db: "portfolio" }]})

    Ging auch prima, kam ein ok zurück. Nun das Problem, ich hatte beim Einrichten, den User frank als admin benutzt. Durch den oben abgesetzten Befehl (frank ist ja admin), wurden die neuen Rechte gesetzt und die Rechte als Admin entzogen!! Das war jetzt nicht wirklich das was ich gebrauchen konnte. LOL

    Ich hatte jetzt keine Kontrolle mehr über die DB. Das war aber nicht so wirklich kompliziert, das wieder zu ändern. Die Authentication temporär abstellen. Also /etc/mongod.conf editieren und

    #security: security.authorization: enabled

    eben mal auskommentieren. Den Daemon neustarten und anmelden an der DB.

    mongosh --host 192.168.3.9

    Danach neuen User anlegen

    db.createUser({ user: "<name>", pwd: "<password>", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })

    mongod.conf wieder ändern und neustarten. Danach hat man wieder eine DB mit Authentifizierung und einen neuen Admin. Ich bin diesmal, man lernt ja, anders vorgegangen. Es gibt nun einen Admin für die DB und einen User zum Benutzen der Datenbanken! So wie man es auch auf einem produktiven System auch machen würde. Wenn ich jetzt mal was an den Benutzerrechten des Users ändere, kann mir das mit dem Admin nicht mehr passieren. Hoffe ich 🙂

  • NAS 2023 - Hardware

    Angeheftet Verschoben Linux
    3
    0 Stimmen
    3 Beiträge
    838 Aufrufe
    FrankMF

    Ich war nicht so ganz zufrieden 🙂 Die zwei 4TB 5 1/4 Zoll HDDs müssen jetzt mal weichen.

    20230520_091729.jpg

    Ich habe jetzt wieder einen Proxmox Backup Server im Einsatz, da brauche ich nicht mehr so viel Speicherplatz im NAS. Kleiner, aber wichtiger Nebeneffekt ist der, das ich jetzt ca. 7W eingespart habe. In Zeiten wie diesen, rechnet sich das. Nein, die Investitionskosten rechnen wir jetzt nicht dagegen 😉

    Screenshot_20230520_140727_Voltcraft SEM6000_ergebnis.jpg

    Aktuelle Platten Ausstattung

    1 TB NVMe SSD (Proxmox Systemplatte) 2 * 2,5 Zoll 1TB SSD WD Red (ZFS Pool für mein NAS) 1 * 2,5 Zoll HDD 2TB für Datensicherung
  • Star64 lieferbar

    Star64
    1
    0 Stimmen
    1 Beiträge
    68 Aufrufe
    Niemand hat geantwortet
  • IPTables Logging

    Linux
    1
    0 Stimmen
    1 Beiträge
    285 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - DKMS im Release RC12 möglich

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    253 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Kernel switchen

    Verschoben ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • USB-Adapter für eMMC-Modul

    Hardware
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet