Fragen

Fragen

Ich verwende ein LVM RAID 1 auf zwei Festplatten. Folgendes lvsverrät mir etwas über meine VG:

root@picard:~# lvs -a -o +devices,lv_health_status,raid_sync_action,raid_mismatch_count 
  /run/lvm/lvmetad.socket: connect failed: No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
  LV                 VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices                                 Health          SyncAction Mismatches
  lv-data            vg-data rwi-aor-r- 2.70t                                    100.00           lv-data_rimage_0(0),lv-data_rimage_1(0) refresh needed  idle                0
  [lv-data_rimage_0] vg-data iwi-aor-r- 2.70t                                                     /dev/sda(0)                             refresh needed                       
  [lv-data_rimage_1] vg-data iwi-aor--- 2.70t                                                     /dev/sdb(1)                                                                  
  [lv-data_rmeta_0]  vg-data ewi-aor-r- 4.00m                                                     /dev/sda(708235)                        refresh needed                       
  [lv-data_rmeta_1]  vg-data ewi-aor--- 4.00m                                                     /dev/sdb(0)     

Es sieht so aus, als wäre etwas schiefgelaufen /dev/sda. Das SMART-Protokoll dieser Festplatte sieht gut aus, daher hoffe ich, dass es nur ein vorübergehendes Problem ist, und ich möchte mein RAID aktualisieren/neu synchronisieren. So gehe ich vor:

root@picard:~# lvchange --refresh vg-data/lv-data
  /run/lvm/lvmetad.socket: connect failed: No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.

(…wait for a couple of minutes…)

root@picard:~# lvs -a -o +devices,lv_health_status,raid_sync_action,raid_mismatch_count
  /run/lvm/lvmetad.socket: connect failed: No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
  LV                 VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices                                 Health          SyncAction Mismatches
  lv-data            vg-data rwi-aor-r- 2.70t                                    100.00           lv-data_rimage_0(0),lv-data_rimage_1(0) refresh needed  idle                0
  [lv-data_rimage_0] vg-data iwi-aor-r- 2.70t                                                     /dev/sda(0)                             refresh needed                       
  [lv-data_rimage_1] vg-data iwi-aor--- 2.70t                                                     /dev/sdb(1)                                                                  
  [lv-data_rmeta_0]  vg-data ewi-aor-r- 4.00m                                                     /dev/sda(708235)                        refresh needed                       
  [lv-data_rmeta_1]  vg-data ewi-aor--- 4.00m                                                     /dev/sdb(0)               

Das hat also nichts bewirkt? Mein dmesg zeigt an, dass versucht wurde, das RAID wiederherzustellen:

[150522.459416] device-mapper: raid: Faulty raid1 device #0 has readable super block.  Attempting to revive it.

Na gut, vielleicht hilft Schrubben? Versuchen wir es mal so:

root@picard:~# lvchange --syncaction repair vg-data/lv-data
  /run/lvm/lvmetad.socket: connect failed: No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
root@picard:~# lvs -a -o +devices,lv_health_status,raid_sync_action,raid_mismatch_count
  /run/lvm/lvmetad.socket: connect failed: No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
  LV                 VG      Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices                                 Health          SyncAction Mismatches
  lv-data            vg-data rwi-aor-r- 2.70t                                    100.00           lv-data_rimage_0(0),lv-data_rimage_1(0) refresh needed  idle                0
  [lv-data_rimage_0] vg-data iwi-aor-r- 2.70t                                                     /dev/sda(0)                             refresh needed                       
  [lv-data_rimage_1] vg-data iwi-aor--- 2.70t                                                     /dev/sdb(1)                                                                  
  [lv-data_rmeta_0]  vg-data ewi-aor-r- 4.00m                                                     /dev/sda(708235)                        refresh needed                       
  [lv-data_rmeta_1]  vg-data ewi-aor--- 4.00m                                                     /dev/sdb(0)            

Dabei sind mehrere Dinge merkwürdig:

  • Das SyncActionist es idle, d. h. es sieht aus, als wäre das Schrubben sofort fertig?
  • Wenn der Schrubbvorgang abgeschlossen ist,Unddas Array muss immer noch aktualisiert werden. Wie kann die Anzahl der Nichtübereinstimmungen immer noch 0 sein? Sollte Scrubbing nicht Nichtübereinstimmungen erkennen und sie entweder korrigieren (d. h. den Status „Aktualisierung erforderlich“ löschen) oder die Anzahl der Nichtübereinstimmungen auf einen Wert ungleich null erhöhen?

dmesg sagt:

[150695.091180] md: requested-resync of RAID array mdX
[150695.092285] md: mdX: requested-resync done.

Es sieht auch so aus, als hätte das Schrubben nicht wirklich etwas gebracht.

Fragen

  • Wie rufe ich das eigentliche Scrubbing auf?
  • Vorausgesetzt, das Laufwerk ist nicht defekt – wie aktualisiere ich das Array?
  • Wenn das Laufwerk fehlerhaft wäre (d. h. beim Aktualisieren trat sofort ein Fehler auf) – wie würde ich das erkennen? Ich gehe davon aus, dass dmesg einige E/A-Fehler anzeigen sollte? (Ich sehe keinen davon…)

System Information

Ich verwende Armbian basierend auf Ubuntu 16.04.4 LTS. LVM-Version:

root@picard:~# lvm version
  LVM version:     2.02.133(2) (2015-10-30)
  Library version: 1.02.110 (2015-10-30)
  Driver version:  4.37.0

verwandte Informationen