Skip to content

mdadm

Verschoben Linux
  • 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 - v3.9.0

    NodeBB
    1
    0 Stimmen
    1 Beiträge
    102 Aufrufe
    Niemand hat geantwortet
  • Restic v0.16.2

    Linux
    1
    0 Stimmen
    1 Beiträge
    117 Aufrufe
    Niemand hat geantwortet
  • Fragen, Probleme, geht nicht?

    Angeheftet Support
    1
    0 Stimmen
    1 Beiträge
    92 Aufrufe
    Niemand hat geantwortet
  • Debian Installer Bookworm RC3 released

    Linux
    2
    0 Stimmen
    2 Beiträge
    103 Aufrufe
    FrankMF

    Und da sind wir schon bei RC4

    Debian Installer Bookworm RC 4 release

    favicon

    (lists.debian.org)

  • Debian Bookworm 12 - Btrfs Installation

    Linux
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    FrankMF

    Das mit den Namen der btrfs Subvolumes ist bekannt bei Timeshift. Im Readme steht dazu folgendes.

    BTRFS volumes

    BTRFS volumes must have an Ubuntu-type layout with @ and @home subvolumes. Other layouts are not supported. Systems having the @ subvolume and having /home on a non-BTRFS partition are also supported.

    Text file busy / btrfs returned an error: 256 / Failed to create snapshot can occur if you have a Linux swapfile mounted within the @ or @home subvolumes which prevents snapshot from succeeding. Relocate the swapfile out of @ or *@home, for example into it's own subvolume like @swap.

  • Rest-Server

    Verschoben Restic
    8
    0 Stimmen
    8 Beiträge
    565 Aufrufe
    FrankMF

    Dann mal eben ausprobiert. Auf meinem Server war die Version 0.9.7 selber, mit go, gebaut. Dann mache ich das auch mit der v0.10.0 so. Aber bevor ich anfange, wird die v0.9.7 gesichert.

    mv /usr/local/bin/rest-server /usr/local/bin/rest-server_0_9_7

    So erspare ich mir im Problemfall das selber bauen.

    Ok, dann die neue Version bauen.

    git clone https://github.com/restic/rest-server.git cd rest-server go run build.go

    Danach befindet sich im Verzeichnis die Binärdatei rest-server

    Die kopieren wir jetzt

    cp rest-server /usr/local/bin

    Danach kurzer Test

    # rest-server --version rest-server 0.10.0 (v0.10.0-6-g037fe06) compiled with go1.11.6 on linux/amd64

    Gut Version passt 🙂

    Dann ein Backup gestartet. Das sichert einen Teil meines Home-Verzeichnis

    Files: 153 new, 100 changed, 177857 unmodified Dirs: 0 new, 1 changed, 0 unmodified Added to the repo: 81.881 MiB processed 178110 files, 80.571 GiB in 0:28 snapshot 607e0027 saved Applying Policy: keep the last 3 snapshots, 3 monthly snapshots keep 5 snapshots: ID Time Host Tags Reasons Paths --------------------------------------------------------------------------------------- fa97890e 2020-07-25 21:02:05 frank-XXX monthly snapshot /home/frank 5b073bbb 2020-08-30 10:17:27 frank-XXX monthly snapshot /home/frank f7cf37ef 2020-09-06 15:13:03 frank-XXX last snapshot /home/frank 0157462c 2020-09-13 13:32:12 frank-XXX last snapshot /home/frank 607e0027 2020-09-14 08:09:34 frank-XXX last snapshot /home/frank monthly snapshot --------------------------------------------------------------------------------------- 5 snapshots remove 1 snapshots: ID Time Host Tags Paths --------------------------------------------------------------------- 3010b7cc 2020-09-06 11:39:27 frank-XXX /home/frank --------------------------------------------------------------------- 1 snapshots 1 snapshots have been removed, running prune counting files in repo building new index for repo [1:34] 100.00% 17351 / 17351 packs

    So weit funktioniert das genau wie vorher. Im Changelog stand ja was von Subfoldern. Das betrifft mich nicht, weil ich für jeden User genau ein Verzeichnis habe.

    So mit alles Gut 🙂 Dann warte ich mal morgen ab, ob die täglichen Backups der Server rund laufen.

  • Hetzner - Backupspace - Borgbackup

    Linux
    4
    0 Stimmen
    4 Beiträge
    934 Aufrufe
    FrankMF

    Ok, da gibt es doch wohl noch ein kleines Problem 🙂

    Hetzner hat die Dienste migriert und ich war der Meinung, der Borg funktioniert nicht mehr. Ok, das hat er auch gemacht, aber der Grund wurde mir dann vom Support mitgeteilt, Der Backup Space ist voll. Huch, was läuft denn da falsch!?

    Ich konnte den Backup Space noch per SFTP erreichen, Borg gab aber immer eine merkwürdige Fehlermeldung heraus.
    Also aufpassen, wenn ihr mal Probleme habt, schaut mal nach ob ihr noch genug Platz habt 😉

    Und jetzt muss ich das Script mal ein wenig überarbeiten, irgendwas läuft da nicht so, wie ich mir das vorstelle.

  • NodeBB - Automatisch starten

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