Anzeige:
Ergebnis 1 bis 1 von 1

Thema: Caching eines Raid6 Verbundes

  1. #1
    /linux/user Avatar von torsten_boese
    Registriert seit
    Dec 2003
    Beiträge
    681

    Caching eines Raid6 Verbundes

    Hallo zusammen,

    ich habe auf einem Debian 10 einen RAID6-Verbund bestehend aus 6 baugleichen HDD's eingerichtet.

    Code:
    cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
    md0 : active raid6 sdb1[5] sda1[0] sdh1[1] sdc1[4] sdd1[3] sde1[2] sdg3[6](J)
          15627540480 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
    
    unused devices: <none>
    Die Lesegeschwindigkeit ist mit ca. 220 MiB/s aus meiner Sicht recht ordentlich (eine einzelne Festplatte erreicht ca. 85 MiB/s). Die Schreibgeschwindigkeit ist mit 40-50 MiB/s zwar langsam, aber das ist zu erwarten und es ist an verschiedenen Stellen nachzulesen wieso das so ist. Z.B. hier.

    Um die Schreibperformance zu steigern habe ich einen LVM-Cache eingerichtet (siehe hier)und die das Kernel-Journaling für den RAID-Verbund im write-back Modus aktiviert -> sdg3[6](J).
    Code:
    Disk /dev/sdg: 111,8 GiB, 120034123776 bytes, 234441648 sectors
    Disk model: KINGSTON SA400S3
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 7AB60AB9-174B-E341-8F4E-BFAE71F0BB79
    
    Device        Start       End   Sectors   Size Type
    /dev/sdg1      2048   8390655   8388608     4G Linux swap
    /dev/sdg2   8390656  18876415  10485760     5G Linux LVM
    /dev/sdg3  18876416 234441614 215565199 102,8G Linux RAID
    Beide Caches habe ich auf einer SSD eingerichtet. Das ist sicherlich nachteilig, da es in manchen Situationen dazu kommt, dass ich von einem in den anderen Cache schreibe, ist aber aufgrund limitiertet Hardware nur so möglich.

    Code:
    /sbin/lvs -a -o +devices
      LV                        VG       Attr       LSize   Pool                Origin              Data%  Meta%  Move Log Cpy%Sync Convert Devices
      [lvol0_pmspare]           raid6-4T ewi------- 100,00m                                                                                 /dev/sdg2(1254)
      r6_4T_files               raid6-4T Cwi-a-C---  14,55t [r6_4T_files_cache] [r6_4T_files_corig] 0,03   0,66            0,00             r6_4T_files_corig(0)
      [r6_4T_files_cache]       raid6-4T Cwi---C---   4,80g                                         0,03   0,66            0,00             r6_4T_files_cache_cdata(0)
      [r6_4T_files_cache_cdata] raid6-4T Cwi-ao----   4,80g                                                                                 /dev/sdg2(25)
      [r6_4T_files_cache_cmeta] raid6-4T ewi-ao---- 100,00m                                                                                 /dev/sdg2(0)
      [r6_4T_files_corig]       raid6-4T owi-aoC---  14,55t                                                                                 /dev/md0(0)
    Code:
    echo "write-back" > /sys/block/md0/md/journal_mode
    Benchmarks mittels dd oder bonnie ++ ergeben Werte bei 50 MiB/s. Diese Werte erziele ich auch wenn ich den LVM-Cache deaktiviere bzw. das Raid ohne Jounaling auf der SSD läuft.

    Nach der langen Vorrede nun zur eigentlichen Fragestellung:

    Das Raid-Journaling (Raid-Cache) verbessert die Performance beim Striping und der LVM-Cache soll sämtliche Schreiblast cachen. Ich würde jetzt erwarten, dass der LVM Cache die ankommenden Daten mit voller Geschwindigkeit cached und dann auf das Raid schreibt. So dass, so lange ich die Cache-Größe nicht überschreite, die Schreibleistung der SSD der limitierende Faktor sein sollte.
    Dass hatte ich zwar beim RAID-Journalig auch gedacht, aber laut der Beschreibung wird nur das Striping beschleunigt.

    Warum erhalte ich kaum einen Performancezuwachs? Ich habe auch schon jeweils beide Caches deaktiviert um das "cachen des Cashes" als Problem auszuschließen, aber die 50MiB/s bleiben.

    Ich welcher Konfiguration macht das cachen in meinem Szenario (mit einer SSD) Sinn?

    Ich würde nach dem, was ich alles gelesen habe vermuten:

    LVM im write-through Modus + RAID-Cache im write-back Modus.

    Gibt es von euch andere Ideen Ansätze? Fehlen noch Infos? Ist bei in meiner Logik/Gedankenwelt ein Fehler?
    Geändert von torsten_boese (13.08.19 um 13:37 Uhr)

Ähnliche Themen

  1. Mein Raid6 will nicht mehr
    Von krodon im Forum Linux als Server
    Antworten: 1
    Letzter Beitrag: 12.04.14, 13:48
  2. RAID6-Recovery
    Von stielchen im Forum Linux als Server
    Antworten: 2
    Letzter Beitrag: 22.05.13, 14:18
  3. ram caching
    Von ig0r im Forum System installieren und konfigurieren
    Antworten: 11
    Letzter Beitrag: 08.08.07, 07:22
  4. DNS Caching
    Von inquire-city im Forum Linux als Server
    Antworten: 1
    Letzter Beitrag: 22.09.02, 13:04
  5. Squidproblem mit Caching
    Von linosch im Forum Anbindung an die Aussenwelt
    Antworten: 6
    Letzter Beitrag: 16.07.02, 17:45

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •