Skip to content

ROCKPro64 - PCIe SATA-Karte mit JMicron JMS585- Chip

Angeheftet Hardware
  • 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

  • Crowdsec - Ein fail2ban Ersatz?

    Linux
    2
    0 Stimmen
    2 Beiträge
    757 Aufrufe
    FrankMF

    Ich kann jetzt hier von meiner ersten Erfahrung berichten und wie CrowdSec mich gebannt hat 🙂

    Was war passiert? Ich war gestern sehr intensiv mit der Konfiguration von Nextcloud <-> Collabora Online beschäftigt. Nachdem ich irgendwie nicht weiterkam habe ich mich der Erstellung eines Dokumentes gewidmet. Nach einiger Zeit war die Nextcloud nicht mehr erreichbar.

    Ok, hatte ich bei der Konfiguration auch schon mal, den Server einmal neugestartet und fertig. Doch jetzt kam es, Server neugestartet - hilft nicht. Gut, schauen wir mal nach, Der SSH Login ging auch nicht 😞

    Jetzt war guter Rat gefragt. Zu diesem Zeitpunkt ging ich noch davon aus, das auf diesem Server kein CrowdSec installiert war, sondern fail2ban. Und fail2ban hatte eine sehr kurze Bantime vom 10M.

    Also blieb wohl nur noch das Rescue System von Hetzner.

    488866bc-3dcf-4abc-9e98-6107d65aa4c7-grafik.png

    Da hatte ich ja so gut wie gar keine Erfahrung mit. Also mal kurz den Nico angetriggert und es kam folgender Link.

    Link Preview Image Hetzner Rescue-System - Hetzner Docs

    favicon

    (docs.hetzner.com)

    Das Laufwerk war schnell bestimmt und schnell nach /tmp gemountet. Danach musste man sich noch mit chroot in diese Umgebung anmelden.

    chroot-prepare /mnt chroot /mnt

    Nachdem das klappte, habe ich eben fail2ban disabled.

    sysmctl disable fail2ban

    Danach das Rescue beendet. Der Server startete wieder und ich kam wieder per SSH drauf. Puuh.
    Bei meiner ersten Kontrolle fiel mir was auf

    root@:~# pstree systemd─┬─2*[agetty] ├─atd ├─cron ├─crowdsec─┬─journalctl │ └─8*[{crowdsec}] ├─crowdsec-firewa───9*[{crowdsec-firewa}]

    Wie? Da läuft CrowdSec? Da ich dabei bin die Server auf CrowdSec umzustellen, war das wohl hier schon gemacht, aber leider nicht vernünftig. fail2ban hätte mindestens disabled werden müssen und in meiner Dokumentation war das auch nicht enthalten. 6 setzen!

    CrowdSec besteht ja aus zwei Diensten, CrowdSec und dem Firewall-Bouncer. Der CrowdSec Dienst lief aber nicht, der war irgendwie failed. Ok, starten wir ihn und schauen was passiert. Nachdem er gestarte war mal die Banliste angeschaut.

    cscli decisions list

    ergab diesen Eintrag.

    2551501 │ crowdsec │ Ip:5.146.xxx.xxx │ crowdsecurity/http-crawl-non_statics │ ban │ │ │ 53 │ 1h5m55.391864693s │ 1671

    Meine IP war gebannt. Dann wissen wir ja , woher die Probleme kamen.

    cscli decisions delete --id 2551501

    Nach Eingabe war der Ban entfernt. Na gut, aber da ich aktuell immer noch an der richtigen Konfiguration von NC <-> CODE bastel, könnte das ja wieder passieren. Was machen? Kurz gegoogelt. Es gibt eine Whitelist. Aha!

    /etc/crowdsec/parsers/s02-enrich/whitelists.yaml

    name: crowdsecurity/whitelists description: "Whitelist events from private ipv4 addresses" whitelist: reason: "private ipv4/ipv6 ip/ranges" ip: - "127.0.0.1" - "::1" - "5.146.XXX.XXX" cidr: - "192.168.0.0/16" - "10.0.0.0/8" - "172.16.0.0/12" # expression: # - "'foo.com' in evt.Meta.source_ip.reverse"

    Danach den Dienst neustarten. Jetzt hoffen wir mal, das es hilft.

    Zum Schluss noch was, was mir aufgefallen war und was mich auch sehr verwirrt hatte. CrowdSec hatte wegen einem crowdsecurity/http-crawl-non_statics gebannt. Dadurch konnte ich meine
    subdomain.<DOMAIN> nicht erreichen. Ok, logisch, wenn der Ban von da ausgeht. Ich konnte aber gleichzeitig eine andere subdomain mit derselben <DOMAIN> auch nicht erreichen. Komplett verwirrte es mich dann, als ich eine andere <DOMAIN> auf dem selben Server erreichen konnte. Und zum Schluss ging auch der SSH nicht.

    Also, wieder viel gelernt.. 🤓

  • NanoPi R2S - Firewall mit VLan und DHCP-Server

    Verschoben NanoPi R2S
    2
    0 Stimmen
    2 Beiträge
    777 Aufrufe
    FrankMF

    Nachdem ich die Tage feststellen musste, das irgendwas mit dem Gerät nicht stimmte, bekam keine DNS Auflösung über die Konsole, habe ich das heute mal eben neuinstalliert.

    Armbian ist ja immer was spezielles 🙂 Hat sich bis heute nix dran geändert.....

    Ok, dann heute mal eben ein neues Image erstellt. Download Gewählt habe ich das Armbian Buster.

    Image auf die SD-Karte, eingeloggt. Alles wie oben erstellt und abgespeichert. Neustart, geht wieder alles. 😍

    root@192.168.3.15's password: _ _ _ ____ ____ ____ | \ | | __ _ _ __ ___ _ __ (_) | _ \|___ \/ ___| | \| |/ _` | '_ \ / _ \| '_ \| | | |_) | __) \___ \ | |\ | (_| | | | | (_) | |_) | | | _ < / __/ ___) | |_| \_|\__,_|_| |_|\___/| .__/|_| |_| \_\_____|____/ |_| Welcome to Debian GNU/Linux 10 (buster) with Linux 5.9.11-rockchip64 System load: 2% Up time: 11 min Memory usage: 10% of 978M IP: 192.168.3.15 192.168.1.1 192.168.2.1 CPU temp: 61°C Usage of /: 5% of 29G Last login: Sun Dec 6 12:28:10 2020 from 192.168.3.213 Kernelversion root@nanopi-r2s:~# uname -a Linux nanopi-r2s 5.9.11-rockchip64 #20.11.1 SMP PREEMPT Fri Nov 27 21:59:08 CET 2020 aarch64 GNU/Linux ip a oot@nanopi-r2s:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether b2:b5:10:38:9e:76 brd ff:ff:ff:ff:ff:ff inet 192.168.3.15/24 brd 192.168.3.255 scope global dynamic eth0 valid_lft 6360sec preferred_lft 6360sec inet6 2a02:908:xxxxxx/64 scope global dynamic mngtmpaddr valid_lft 7196sec preferred_lft 596sec inet6 fe80::b0b5:10ff:fe38:9e76/64 scope link valid_lft forever preferred_lft forever 3: lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff 4: lan0.100@lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global lan0.100 valid_lft forever preferred_lft forever inet6 fe80::b0b5:10ff:fe38:9e96/64 scope link valid_lft forever preferred_lft forever 5: lan0.200@lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b2:b5:10:38:9e:96 brd ff:ff:ff:ff:ff:ff inet 192.168.2.1/24 brd 192.168.2.255 scope global lan0.200 valid_lft forever preferred_lft forever inet6 fe80::b0b5:10ff:fe38:9e96/64 scope link valid_lft forever preferred_lft forever

    Vom Notebook aus funktioniert auch alles. So weit bin ich zufrieden. Jetzt mal langsam anfangen, der Kiste IPv6 beizubringen. Oje, nicht gerade mein Lieblingsthema...

    Bis der NanoPi R4S hier ankommt und ein vernünftiges Image hat, vergeht ja noch was Zeit...

  • NGINX

    Verschoben NGINX
    1
    0 Stimmen
    1 Beiträge
    553 Aufrufe
    Niemand hat geantwortet
  • mdadm

    Verschoben Linux
    5
    0 Stimmen
    5 Beiträge
    395 Aufrufe
    FrankMF

    Nachdem ich die SATA-Karte gewechselt habe, sind meine Probleme verschwunden. Mein NAS läuft seit Monaten einwandfrei.

    rock64@rp64v_2_1_NAS:~$ uptime 21:57:50 up 73 days, 4:44, 1 user, load average: 0,00, 0,00, 0,00

    https://forum.frank-mankel.org/topic/299/sata-karte-marvell-88se9230-chipsatz/16

  • ROCKPro64 - USB-OTG funktioniert!

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    541 Aufrufe
    Niemand hat geantwortet
  • Unterstützung Lüfter

    ROCKPro64
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    FrankMF

    Mit dem neuen Release hatte jemand das mal ausprobiert -> https://forum.frank-mankel.org/topic/795/fan-control-omv-auyfan-0-10-12-gitlab-ci-linux-build-184-kernel-5-6/6

    Dieser Kernel kam zur Anwendung

    Linux rockpro64 5.6.0-1137-ayufan-ge57f05e7bf8f #ayufan SMP Wed Apr 15 10:16:02 UTC 2020 aarch64 GNU/Linux

    Dort stellt man dann fest, das sich eine Kleinigkeit geändert hat. Der Pfad und der Dateiname hat sich geändert.

    Kontrollieren kann man das mit

    nano /sys/devices/platform/pwm-fan/hwmon/hwmon3/pwm1

    Der Wert geht von 0 - 255, wie gehabt.

  • Paar Info's vom Chef

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    624 Aufrufe
    Niemand hat geantwortet
  • NodeBB - Automatisch starten

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    638 Aufrufe
    Niemand hat geantwortet