LVM RAID 5로 인해 논리 볼륨 크기가 예상되지 않음

LVM RAID 5로 인해 논리 볼륨 크기가 예상되지 않음

LVM RAID 5에서 VG의 4개 드라이브 모두 공간을 사용하는 LV를 생성할 수 없는 문제가 있습니다. 특히 짜증나는 점은 2년 전에 동일한 드라이브 모델을 사용하여 이와 동일한 VG/LV를 생성했는데 이 문제가 있었던 기억이 없다는 것입니다.

RAID 5 LV를 생성하기 전의 pvs 및 vgs 출력은 다음과 같습니다.

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

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

동일한 시스템에서 동일한 모델 드라이브를 사용하여 LV를 생성하기 위해 지난번에 사용한 명령은 다음과 같습니다.

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

VG 및 LV 대상 이름을 변경하여 동일한 명령을 실행하면 다음과 같은 결과가 나타납니다.

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

2.73T 용량의 드라이브가 4개 있으므로 이는 의미가 없습니다. 4 * 2.73 = 10.92. 패리티를 위해 1을 빼면 8.19T가 되는데, 이는 이 시스템에 있는 원래 LV의 크기입니다. 두드리는. 나의. 머리. 에 맞서. 감시 장치. :?

빨대를 쥐고 ​​다음과 같은 시도도 했습니다.

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

결과적으로 내가 예상한 크기의 LV 2/3이 됩니다. 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

위의 lvcreate 명령을 실행한 후 pvs, vgs 및 lvs의 출력은 다음과 같습니다.

[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            

어떤 이유에서인지 vg_sklad02(제가 작업 중인 VG)에 할당되지 않은 공간이 있습니다. -l 100%VG는 VG에서 사용 가능한 모든 공간을 사용해야 하지 않습니까?

LV lv_sklad01과 lv_sklad02는 동일한 드라이브에서 생성되므로 동일한 크기여야 하며, 제가 기억하는 한 동일한 create 명령을 사용하려고 시도했습니다.

내가 뭘 잘못하고 있는지에 대한 제안이 있는 사람이 있나요?

답변1

내 질문에서 말했듯이, 나는 이전에 이 작업을 수행한 적이 있으며 2년 전에 이를 수행하기 위해 수행한 작업에 대한 캡처 로그를 가지고 있습니다. 어떤 이유로 동일한 lvcreate 명령이 작동하지 않았습니다. 이 LV 생성을 얻으려면 -i 3을 사용하여 스트라이프 수를 지정해야 했습니다. 따라서 작업 명령은 다음과 같습니다.

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

LVM 도구 업데이트에서 뭔가 변경된 것 같나요?

업데이트

그들은 실제로 LVM2를 변경했습니다. 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.
<...>

내가 완전히 제정신이 아니었음을 알게 되어 기쁘다. :-) RTFM을 했지만 올바른 FM이 아닌 것 같습니다. :-))

관련 정보