Skip to content

mdadm

Verschoben Linux
5 1 503
  • Info

    raid_pool0 = sda1 = /dev/mapper/raid_pool0
    raid_pool1 = sdb1 = /dev/mapper/raid_pool1
    

    Verschlüsseln

    sudo cryptsetup --key-size 512 --hash sha256 --iter-time 5000 --use-random luksFormat /dev/sda1
    sudo cryptsetup --key-size 512 --hash sha256 --iter-time 5000 --use-random luksFormat /dev/sdb1
    

    Platten entschlüsseln

    sudo cryptsetup open /dev/sda1 raid_pool0
    sudo cryptsetup open /dev/sdb1 raid_pool1
    

    RAID1 anlegen

    sudo mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/mapper/raid_pool0 /dev/mapper/raid_pool1 
    
    sudo mkfs.ext4 /dev/md0
    

    Script zum Entschlüsseln und Mounten

    #!/bin/bash
    ###############################################################################$
    #       Autor: Frank Mankel
    #       Verschlüsseltes Raid1 einbinden!
    #
    #       Hardware:
    #       ROCKPro64v2.1
    #       PCIe SATA Karte
    #       2St. 2,5 Zoll HDD Platten a 2TB
    #
    #       Software:
    #       bionic-minimal 0.7.9
    #
    ###############################################################################$
    
    #Passwort abfragen
    echo "Passwort eingeben!"
    read -s password
    echo "Bitte warten......"
    
    #Passwörter abfragen
    echo -n $password | cryptsetup open /dev/sda1 raid_pool0 -d -
    echo -n $password | cryptsetup open /dev/sdb1 raid_pool1 -d -
          
    #Raid1 mounten
    mount /dev/md0 /mnt/raid
    
    echo "Laufwerke erfolgreich gemountet!"
    
  • Wir möchten dieses vorhandene Raid1 auf einem neuen Betriebssystem wieder aktivieren!

    Erstmal was installieren

    sudo apt install cryptsetup
    sudo apt install mdadm
    

    Danach ließ sich das Device /dev/md0 nicht mounten.

    frank@rockpro64:~$ sudo mount /dev/md0 /mnt/raid
    mount: special device /dev/md0 does not exist
    

    Irgendwie logisch. Das haben wir beim letzten Mal ja auch angelegt, ist jetzt aber natürlich nicht angelegt. Ok, wie bekommen wir das jetzt wieder an den Start?

    sudo mdadm --assemble --scan
    

    Danach ist das Device wieder vorhanden und das Script funktioniert wieder wie gewohnt.

  • Mein RAID1 war mal wieder nicht komplett 😞

    Da beide Platten verschlüsselt sind, werden diese erst mal entsperrt.

    cryptsetup open /dev/sda1 raid_pool0
    cryptsetup open /dev/sdb1 raid_pool1
    

    Danach geht es weiter...

    Nach fdisk -l

    Disk /dev/mapper/raid_pool0: 1,8 TiB, 2000395771392 bytes, 3907022991 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
    
    
    Disk /dev/md0: 1,8 TiB, 2000260497408 bytes, 3906758784 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
    
    
    Disk /dev/mapper/raid_pool1: 1,8 TiB, 2000395771392 bytes, 3907022991 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
    

    Mir fehlt das Device /dev/md1 Warum??? Keine Ahnung!!!

    Schauen wir mal nach, was noch lebt.

    root@rockpro64v_2_1:~# mdadm --examine --scan
    ARRAY /dev/md/0  metadata=1.2 UUID=33ac7964:473fe590:3682dd85:a979b336 name=rockpro64v_2_1:0
    

    So, Device md0 lebt 🙂

    Wir mounten das noch lebende Laufwerk.

    mount /dev/md0 /mnt/raid
    

    Danach geschaut, ob mit NFS die Daten erreichbar sind. Alles OK.

    Kurz checken

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

    Da sieht man das ein Laufwerk fehlt. Dann wollen wir mal adden 😉

    root@rockpro64v_2_1:~# mdadm /dev/md0 --manage --add /dev/mapper/raid_pool1
    mdadm: re-added /dev/mapper/raid_pool1
    

    Jetzt läuft das Recovery

    root@rockpro64v_2_1:~# cat /proc/mdstat
    Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
    md0 : active raid1 dm-1[1] dm-0[2]
          1953379392 blocks super 1.2 [2/1] [U_]
          [>....................]  recovery =  1.2% (25185728/1953379392) finish=604.2min speed=53184K/sec
          bitmap: 7/15 pages [28KB], 65536KB chunk
    
    unused devices: <none>
    

    Und Fertig 🙂

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

    Daten kontrolliert, noch alles da. Puuuuuh! Aber, warum das Ganze???? Ich bin übrigens jetzt wieder auf Kamils Image und dabei ist mir aufgefallen, das das Recovery wesentlich schneller ging als bei meinem letzten Versuch. Hmm???????

    Zum Schluß noch was aus dem dmesg

    [    8.612039] ata1: SATA max UDMA/133 abar m512@0xfa010000 port 0xfa010100 irq 231
    [    8.612047] ata2: SATA max UDMA/133 abar m512@0xfa010000 port 0xfa010180 irq 231
    [    9.085894] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [    9.123159] ata1.00: ATA-10: ST2000LM015-2E8174, SDM1, max UDMA/133
    [    9.123169] ata1.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 32), AA
    [    9.172776] ata1.00: configured for UDMA/133
    [    9.173235] scsi 0:0:0:0: Direct-Access     ATA      ST2000LM015-2E81 SDM1 PQ: 0 ANSI: 5
    [    9.173782] sd 0:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
    [    9.173792] sd 0:0:0:0: [sda] 4096-byte physical blocks
    [    9.173889] sd 0:0:0:0: [sda] Write Protect is off
    [    9.173896] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
    [    9.173933] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [    9.239218]  sda: sda1
    [    9.240144] sd 0:0:0:0: [sda] Attached SCSI disk
    [    9.649853] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [    9.687095] ata2.00: ATA-10: ST2000LM015-2E8174, SDM1, max UDMA/133
    [    9.687104] ata2.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 32), AA
    [    9.696476] NFSD: starting 45-second grace period (net f00000a1)
    [    9.736698] ata2.00: configured for UDMA/133
    [    9.737137] scsi 1:0:0:0: Direct-Access     ATA      ST2000LM015-2E81 SDM1 PQ: 0 ANSI: 5
    [    9.739557] sd 1:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
    [    9.739568] sd 1:0:0:0: [sdb] 4096-byte physical blocks
    [    9.739592] sd 1:0:0:0: [sdb] Write Protect is off
    [    9.739597] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
    [    9.739631] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [    9.803472]  sdb: sdb1
    [    9.804397] sd 1:0:0:0: [sdb] Attached SCSI disk
    [   22.550770] rk_gmac-dwmac fe300000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [   22.550820] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   42.132977] device-mapper: uevent: version 1.0.3
    [   42.133199] device-mapper: ioctl: 4.39.0-ioctl (2018-04-03) initialised: dm-devel@redhat.com
    [  141.047476] md/raid1:md0: active with 1 out of 2 mirrors
    [  141.061140] md0: detected capacity change from 0 to 2000260497408
    [  522.183161] EXT4-fs (md0): mounted filesystem with ordered data mode. Opts: (null)
    [  559.062705] nfsd: last server has exited, flushing export cache
    [  559.084203] NFSD: starting 45-second grace period (net f00000a1)
    [  840.473519] md: recovery of RAID array md0
    [ 1141.650170] md: md0: recovery done.
    
  • Ok, öfter was Neues 🙂

    Mein Device md0 war weg, das hieß nun /dev/md127 !?!?!

    Gut, etwas gelesen, dann neugestartet.

    Die Datei /etc/mdadm/mdadm.conf geändert

    # mdadm.conf
    #
    # !NB! Run update-initramfs -u after updating this file.
    # !NB! This will ensure that initramfs has an uptodate copy.
    #
    # Please refer to mdadm.conf(5) for information about this file.
    #
    
    # by default (built-in), scan all partitions (/proc/partitions) and all
    # containers for MD superblocks. alternatively, specify devices to scan, using
    # wildcards if desired.
    #DEVICE partitions containers
    
    # automatically tag new arrays as belonging to the local system
    HOMEHOST <system>
    
    # instruct the monitoring daemon where to send mail alerts
    MAILADDR root
    
    # definitions of existing MD arrays
    
    # This configuration was auto-generated on Sat, 20 Oct 2018 09:01:46 +0200 by mkconf
    ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.20 UUID=33ac7964:473fe590:3682dd85:a979b336
    

    An die Daten, was man da eintragen muss kommt man mit

    rock64@rp64v_2_1_NAS:~$ sudo mdadm --detail /dev/md0
    mdadm: metadata format 1.20 unknown, ignored.
    /dev/md0:
               Version : 1.2
         Creation Time : Sat Oct 20 09:05:51 2018
            Raid Level : raid1
            Array Size : 1953379392 (1862.89 GiB 2000.26 GB)
         Used Dev Size : 1953379392 (1862.89 GiB 2000.26 GB)
          Raid Devices : 2
         Total Devices : 2
           Persistence : Superblock is persistent
    
         Intent Bitmap : Internal
    
           Update Time : Thu Feb  7 20:10:12 2019
                 State : clean 
        Active Devices : 2
       Working Devices : 2
        Failed Devices : 0
         Spare Devices : 0
    
    Consistency Policy : bitmap
    
                  Name : rockpro64v_2_1:0
                  UUID : 33ac7964:473fe590:3682dd85:a979b336
                Events : 66932
    
        Number   Major   Minor   RaidDevice State
           2     252        1        0      active sync   /dev/dm-1
           1     252        0        1      active sync   /dev/dm-0
    

    Nach dem Eintragen der Änderungen den Befehl hier nicht vergessen 😉

    update-initramfs -u
    

    Mal schauen ob das jetzt mal was länger klappt 🙂

  • 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

  • NodeBB - 4.2.2

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    53 Aufrufe
    Niemand hat geantwortet
  • Update 1.32.4 - Security Fixes!

    Vaultwarden linux vaultwarden
    1
    0 Stimmen
    1 Beiträge
    119 Aufrufe
    Niemand hat geantwortet
  • LibreOffice Security Update

    Linux debian linux
    1
    0 Stimmen
    1 Beiträge
    132 Aufrufe
    Niemand hat geantwortet
  • Debian Bookworm 12.5 released

    Linux linux debian
    3
    0 Stimmen
    3 Beiträge
    227 Aufrufe
    FrankMF
    Und hier taucht es dann auf -> https://www.debian.org/News/2024/20240210
  • Crowdsec - Ein fail2ban Ersatz?

    Linux crowdsec linux fail2ban
    2
    1
    0 Stimmen
    2 Beiträge
    948 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. [image: 1694411392066-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. https://docs.hetzner.com/de/robot/dedicated-server/troubleshooting/hetzner-rescue-system/ 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..
  • Ubiquiti ER-X - Installation

    Verschoben OpenWRT & Ubiquiti ER-X openwrt linux er-x
    1
    1
    0 Stimmen
    1 Beiträge
    615 Aufrufe
    Niemand hat geantwortet
  • Twitter-Beiträge in NodeBB anzeigen

    Verschoben NodeBB nodebb linux
    3
    0 Stimmen
    3 Beiträge
    403 Aufrufe
    FrankMF
    Endlich was gefunden um Twitter-Beiträge hier anzuzeigen. Beispiele siehe oben... YEAH Wie man das in NodeBB und dem Plugin nodebb-plugin-ns-embed einbaut, steht hier. https://community.nodebb.org/topic/7135/nodebb-plugin-ns-embed-ns-embed/39
  • Installation von Grav & NGinx & PHP7.2

    Angeheftet Verschoben Grav grav linux
    2
    1
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF
    Nachdem ich den ROCKPro64 jetzt auf den Mainline umgestellt habe, lief meine Testinstallation von Grav nicht mehr. Hilfreiche Sache um das Problem zu lösen -> https://gist.github.com/GhazanfarMir/03bd1f1f770a3834d47274586d46ea62 Ich bekam immer 502 Bad Gateway, Grund war ein nicht korrekt gestarteter php-pfm Service. rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm start rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm status ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-08-16 20:15:20 CEST; 21s ago Docs: man:php-fpm7.2(8) Main PID: 3206 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 3, slow: 0, Traffic: 0.2req/sec" Tasks: 3 (limit: 4622) CGroup: /system.slice/php7.2-fpm.service ├─3206 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─3207 php-fpm: pool www └─3208 php-fpm: pool www Aug 16 20:15:19 rockpro64v2_0 systemd[1]: Starting The PHP 7.2 FastCGI Process Manager... Aug 16 20:15:20 rockpro64v2_0 systemd[1]: Started The PHP 7.2 FastCGI Process Manager.