Назад | Перейти на главную страницу

Linux LVM: перемещение свободного места из одной группы томов в другую

Я только что прочитал «Как можно перераспределить пространство из одной группы томов в другую группу томов в Linux?» Как перераспределить пространство из одной группы томов в другую в Linux? Но я все еще в замешательстве.

Я унаследовал управление сетевым хранилищем linux, построенным с использованием 16-дискового супермикро-корпуса, карты RAID 3ware 9650 и Centos 5. Плата 3ware создает три рейдовых модуля по 2,73 ТБ; автоматическое вырезание до 1,5 ТБ включено, поэтому Centos видит шесть физических томов.

Эти 6 PV сгруппированы в 2 группы томов, и одна из групп VG (volgroup1) имеет 2,15 ТБ свободного места. Мне нужно переместить эти свободные 2,15 ТБ в другую группу VG (volgroup2). Затем мне нужно назначить эти 2,15 ТБ разделу ext3 на логическом томе «mmedia0» без нарушения работы какой-либо другой LV / файловой системы.

Далее следует вывод соответствующих команд LVM.

Заранее спасибо Гвидо


[root@lt-nas1 ~]# pvscan
  PV /dev/sdd1   VG volgroup2   lvm2 [1.50 TB / 0    free]
  PV /dev/sdf1   VG volgroup2   lvm2 [1.50 TB / 0    free]
  PV /dev/sdg1   VG volgroup2   lvm2 [1.23 TB / 0    free]
  PV /dev/sdb1   VG volgroup1   lvm2 [1.50 TB / 1.00 TB free]
  PV /dev/sdc1   VG volgroup1   lvm2 [1.22 TB / 24.00 GB free]
  PV /dev/sde1   VG volgroup1   lvm2 [1.23 TB / 1.12 TB free]
  Total: 6 [8.18 TB] / in use: 6 [8.18 TB] / in no VG: 0 [0   ]

[root@lt-nas1 ~]# vgs
  VG        #PV #LV #SN Attr   VSize VFree
  volgroup1   3   5   0 wz--n- 3.95T 2.15T
  volgroup2   3   3   0 wz--n- 4.23T    0

[root@lt-nas1 ~]# lvs
  LV               VG        Attr   LSize    Origin Snap%  Move Log Copy%  Convert
  cli-bak          volgroup1 -wi-ao  515.88G
  fatt-dig         volgroup1 -wi-ao   10.00G
  fil-ut           volgroup1 -wi-ao  220.00G
  homes            volgroup1 -wi-ao  100.00G
  serv-bak         volgroup1 -wi-ao 1000.00G
  esxp-bak         volgroup2 -wi-ao    3.73T
  lt-services      volgroup2 -wi-ao   10.00G
  mmedia0          volgroup2 -wi-ao  501.97G


[root@lt-nas1 ~]# pvdisplay -m
  --- Physical volume ---
  PV Name               /dev/sdd1
  VG Name               volgroup2
  PV Size               1.50 TB / not usable 31.88 MB
  Allocatable           yes (but full)
  PE Size (KByte)       32768
  Total PE              49151
  Free PE               0
  Allocated PE          49151
  PV UUID               dj86xG-bVvy-e2KS-dxCb-oDTB-vqfB-oIFEFn

  --- Physical Segments ---
  Physical extent 0 to 32767:
    Logical volume      /dev/volgroup2/esxp-bak
    Logical extents     89404 to 122171
  Physical extent 32768 to 33087:
    Logical volume      /dev/volgroup2/lt-services
    Logical extents     0 to 319
  Physical extent 33088 to 49150:
    Logical volume      /dev/volgroup2/mmedia0
    Logical extents     0 to 16062

  --- Physical volume ---
  PV Name               /dev/sdf1
  VG Name               volgroup2
  PV Size               1.50 TB / not usable 29.98 MB
  Allocatable           yes (but full)
  PE Size (KByte)       32768
  Total PE              49151
  Free PE               0
  Allocated PE          49151
  PV UUID               VzrYLh-qzGP-JlfN-WtUn-39Li-mq4Z-M4AlkY

  --- Physical Segments ---
  Physical extent 0 to 49150:
    Logical volume      /dev/volgroup2/esxp-bak
    Logical extents     0 to 49150

  --- Physical volume ---
  PV Name               /dev/sdg1
  VG Name               volgroup2
  PV Size               1.23 TB / not usable 27.98 MB
  Allocatable           yes (but full)
  PE Size (KByte)       32768
  Total PE              40253
  Free PE               0
  Allocated PE          40253
  PV UUID               w2AczV-NUC1-K6xj-Qom6-NsNb-0mXk-o9a63M

  --- Physical Segments ---
  Physical extent 0 to 40252:
    Logical volume      /dev/volgroup2/esxp-bak
    Logical extents     49151 to 89403

  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               volgroup1
  PV Size               1.50 TB / not usable 31.88 MB
  Allocatable           yes
  PE Size (KByte)       32768
  Total PE              49151
  Free PE               32832
  Allocated PE          16319
  PV UUID               Kilk0G-0qxl-ft2w-8iU7-abaa-u1n2-d9EHiO

  --- Physical Segments ---
  Physical extent 0 to 32767:
    FREE
  Physical extent 32768 to 39167:
    Logical volume      /dev/volgroup1/fil-ut
    Logical extents     0 to 6399
  Physical extent 39168 to 39231:
    FREE
  Physical extent 39232 to 39871:
    Logical volume      /dev/volgroup1/fil-ut
    Logical extents     6400 to 7039
  Physical extent 39872 to 49150:
    Logical volume      /dev/volgroup1/cli-bak
    Logical extents     0 to 9278

  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               volgroup1
  PV Size               1.22 TB / not usable 16.80 MB
  Allocatable           yes
  PE Size (KByte)       32768
  Total PE              39997
  Free PE               768
  Allocated PE          39229
  PV UUID               EAtHL7-wraU-DdRP-d9Fq-xdrU-Wyf0-8PlCqj

  --- Physical Segments ---
  Physical extent 0 to 31999:
    Logical volume      /dev/volgroup1/serv-bak
    Logical extents     0 to 31999
  Physical extent 32000 to 32767:
    FREE
  Physical extent 32768 to 39996:
    Logical volume      /dev/volgroup1/cli-bak
    Logical extents     9279 to 16507

  --- Physical volume ---
  PV Name               /dev/sde1
  VG Name               volgroup1
  PV Size               1.23 TB / not usable 14.18 MB
  Allocatable           yes
  PE Size (KByte)       32768
  Total PE              40253
  Free PE               36733
  Allocated PE          3520
  PV UUID               I1RUAu-P8Sw-waPF-b8u1-0szV-lR9D-hY1DvA

  --- Physical Segments ---
  Physical extent 0 to 32767:
    FREE
  Physical extent 32768 to 33087:
    Logical volume      /dev/volgroup1/fatt-dig
    Logical extents     0 to 319
  Physical extent 33088 to 33887:
    FREE
  Physical extent 33888 to 37087:
    Logical volume      /dev/volgroup1/homes
    Logical extents     0 to 3199
  Physical extent 37088 to 40252:
    FREE

Поскольку вы можете переместить только весь PV из одного VG в другой, переместить его будет невозможно. все свободное пространство от одного VG к другому. Но вы можете добраться туда частично:

Сначала переместите все данные с одного из ваших PV в другой PV:

pvmove -v /dev/sdb1

Это начнет перемещать данные в другие PV, подальше от sdb1. Параметр -v также гарантирует, что вы увидите некоторую информацию о ходе выполнения. После завершения перемещения вы можете удалить его из группы томов:

vgreduce -a

Это сообщит что-то вроде removing /dev/sdb1 from volgroup1 (извините, это было давно, и у меня нет машины для тестирования). Затем вы можете добавить это к другому VG:

vgextend volgroup2 /dev/sdb1

После этого, volgroup2 к нему должно быть добавлено место на sdb1.

Вы можете повторить эту операцию с sde1; зависит от количества свободного места в volgroup1 после первого хода (мне лень делать необходимые расчеты ;-). Я также рекомендовал бы переместить все ваши данные в одну группу томов; однако для этого вам потребуется создать новый LV в volgroup2, создать на нем файловую систему, смонтировать его, использовать rsync или что-то подобное, чтобы переместить дату, а затем уничтожить старый. Ясно, что это более рискованная операция.