LVM RAID 5 führt nicht zur erwarteten logischen Volumegröße

LVM RAID 5 führt nicht zur erwarteten logischen Volumegröße

Ich habe ein Problem mit LVM RAID 5, das mir nicht erlaubt, ein LV zu erstellen, das den Speicherplatz auf allen vier Laufwerken im VG nutzt. Besonders ärgerlich ist, dass ich genau dieses VG/LV vor zwei Jahren mit demselben Laufwerksmodell erstellt habe und mich nicht daran erinnern kann, dieses Problem gehabt zu haben.

Hier ist die Ausgabe von pvs und vgs, bevor ich versuche, das RAID 5 LV zu erstellen:

Ausgabe von pvs:

PV         VG          Fmt  Attr PSize   PFree 
/dev/sda1  vg_sklad02  lvm2 a--    2.73t  2.73t
/dev/sdb1  vg_sklad01  lvm2 a--    2.73t     0 
/dev/sdc1  vg_sklad02  lvm2 a--    2.73t  2.73t
/dev/sdd1  vg_sklad01  lvm2 a--    2.73t     0 
/dev/sde1  vg_sklad01  lvm2 a--    2.73t     0 
/dev/sdf1  vg_sklad02  lvm2 a--    2.73t  2.73t
/dev/sdg1  vg_sklad02  lvm2 a--    2.73t  2.73t
/dev/sdh1  vg_sklad01  lvm2 a--    2.73t     0 
/dev/sdi2  vg_bootdisk lvm2 a--  118.75g 40.00m
/dev/sdj2  vg_bootdisk lvm2 a--  118.75g 40.00m

Ausgabe von vgs:

VG          #PV #LV #SN Attr   VSize   VFree 
vg_bootdisk   2   2   0 wz--n- 237.50g 80.00m
vg_sklad01    4   1   0 wz--n-  10.92t     0 
vg_sklad02    4   0   0 wz--n-  10.92t 10.92t

Der Befehl, den ich letztes Mal zum Erstellen von LV mit denselben Laufwerksmodellen auf demselben System verwendet habe, lautet:

lvcreate --type raid5 -L 8.18T -n lv_sklad01 vg_sklad01

Wenn ich denselben Befehl ausgebe und die VG- und LV-Zielnamen ändere, erhalte ich:

lvcreate --type raid5 -L 8.18T -n lv_sklad02 vg_sklad02

Using default stripesize 64.00 KiB.
Rounding up size to full physical extent 8.18 TiB
Insufficient free space: 3216510 extents needed, but only 2861584 available

Das ergibt keinen Sinn, da ich vier Laufwerke mit einer Kapazität von 2,73 T habe. 4 * 2,73 = 10,92. Wenn ich eins für die Parität abziehe, erhalte ich 8,19 T, was der Größe des ursprünglichen LV entspricht, das ich auf diesem System habe. Ich schlage meinen Kopf gegen den Monitor. :?

Ich klammerte mich an jeden Strohhalm und versuchte auch Folgendes:

[root@sklad ~]# lvcreate --type raid5 -l 100%VG -n lv_sklad02 vg_sklad02
  Using default stripesize 64.00 KiB.
  Logical volume "lv_sklad02" created.

Das Ergebnis ist ein LV mit 2/3 der erwarteten Größe. Ausgabe von LVs:

LV         VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
lv_root    vg_bootdisk rwi-aor--- 102.70g                                    100.00          
lv_swap    vg_bootdisk rwi-aor---  16.00g                                  100.00          
lv_sklad01 vg_sklad01  rwi-aor---   8.19t                                    100.00          
lv_sklad02 vg_sklad02  rwi-a-r---   5.46t                                    0.18

Nach der Eingabe des obigen lvcreate-Befehls lautet die Ausgabe von pvs, vgs und lvs wie folgt:

[root@sklad ~]# pvs
  PV         VG          Fmt  Attr PSize   PFree 
  /dev/sda1  vg_sklad02  lvm2 a--    2.73t     0 
  /dev/sdb1  vg_sklad01  lvm2 a--    2.73t     0 
  /dev/sdc1  vg_sklad02  lvm2 a--    2.73t     0 
  /dev/sdd1  vg_sklad01  lvm2 a--    2.73t     0 
  /dev/sde1  vg_sklad01  lvm2 a--    2.73t     0 
  /dev/sdf1  vg_sklad02  lvm2 a--    2.73t     0 
  /dev/sdg1  vg_sklad02  lvm2 a--    2.73t  2.73t
  /dev/sdh1  vg_sklad01  lvm2 a--    2.73t     0 
  /dev/sdi2  vg_bootdisk lvm2 a--  118.75g 40.00m
  /dev/sdj2  vg_bootdisk lvm2 a--  118.75g 40.00m

[root@sklad ~]# vgs
  VG          #PV #LV #SN Attr   VSize   VFree 
  vg_bootdisk   2   2   0 wz--n- 237.50g 80.00m
  vg_sklad01    4   1   0 wz--n-  10.92t     0 
  vg_sklad02    4   1   0 wz--n-  10.92t  2.73t

[root@sklad ~]# lvs
  LV         VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_root    vg_bootdisk rwi-aor--- 102.70g                                    100.00          
  lv_swap    vg_bootdisk rwi-aor---  16.00g                                    100.00          
  lv_sklad01 vg_sklad01  rwi-aor---   8.19t                                    100.00          
  lv_sklad02 vg_sklad02  rwi-a-r---   5.46t                                    2.31            

Aus irgendeinem Grund gibt es in vg_sklad02 (der VG, an der ich arbeite) nicht zugewiesenen Speicherplatz. Sollte -l 100%VG nicht den gesamten verfügbaren Speicherplatz in der VG nutzen?

LV lv_sklad01 und lv_sklad02 sollten dieselbe Größe haben, da sie von denselben Laufwerken erstellt werden, und soweit ich mich erinnere, habe ich versucht, denselben Erstellungsbefehl zu verwenden.

Hat jemand einen Vorschlag, was ich falsch mache?

Antwort1

Wie ich in meiner Frage sagte, habe ich das schon einmal gemacht und habe ein Protokoll darüber, was ich vor zwei Jahren getan habe, um es zu erreichen. Aus irgendeinem Grund funktionierte der identische Befehl lvcreate nicht. Um dieses LV zu erstellen, musste ich die Anzahl der Streifen mit -i 3 angeben. Der funktionierende Befehl war also:

lvcreate -i 3 --type raid5 -L 8.18T -n lv_sklad02 vg_sklad02

Ich vermute, dass sich bei den Updates der LVM-Tools etwas geändert hat?

AKTUALISIEREN

Sie haben tatsächlich eine Änderung an LVM2 vorgenommen. Von rpm -q --changelog lvm2

* Fri Jul 29 2016 Peter Rajnoha <[email protected]> - 7:2.02.162-1
<...>
- Add allocation/raid_stripe_all_devices to reinstate previous behaviour.
- Create raid stripes across fixed small numbers of PVs instead of all PVs.
<...>

Schön zu wissen, dass ich nicht völlig verrückt war. :-) Ich habe das Handbuch gelesen, aber vermutlich nicht das richtige Handbuch. :-))

verwandte Informationen