Как уменьшить размер Volume Group в LVM?

Благодаря указателям сэром _, у меня, кажется, есть решение.

В /etc/xinet.d/rsync Я добавил/изменил эти строки:

service rsync
{
...
    nice            = 19
    server          = /usr/bin/ionice
    server_args     = -c 3 /usr/bin/rsync --daemon
...
}

Использовать ionice, Я должен был изменить значение сервера на ionice вместо rsync. И затем добавьте rsync к аргументам разделяют так, чтобы ionice запуски это.

33
25.07.2013, 06:17
5 ответов

Можно использовать pvmove перемещать те степени в начало устройства или другого устройства:

sudo pvmove --alloc anywhere /dev/device:60000-76182

Затем pvmove выбирает, куда переместить степени в, или можно указать, куда переместить их.

Посмотрите pvs -v --segments /dev/device видеть, какие степени в настоящее время выделяются.

34
27.01.2020, 19:37
  • 1
    Для меня проблема была то, что это переместило PE в другие места. Должен был указать место назначения, например: sudo pvmove --alloc anywhere /dev/sdX2:60000-76182 /dev/sdX2:3000-19182 –  akostadinov 14.01.2018, 14:39

Это более старое сообщение касается этого вида уменьшения, таким образом, можно использовать новое пространство для чего-то еще. Необходимо будет изменить размер его к данным однако прежде. Это должно покрыть это и другие ошибки, которые Вы получаете также. Поскольку это является более старым, действительно прочитайте сначала:

1
27.01.2020, 19:37

Это шаги, необходимые для изменения размера раздела LVM или LVM2:

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

Последняя команда, pvresize, может привести к ошибке

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Вы должны переставить нераспределенное пространство в конце LVM. Это означает, что после корня и раздела swap_1. Текущее расположение пространства можно увидеть с помощью этой команды

pvs -v --segments /dev/sda5

pvs, которая выдаст результат вот так

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx+1 root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx+1 iii 0 free
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyyy jjj swap 0 linear /dev/sda5:yyyy-end

Теперь используйте pvmove для удаления внешней фрагментации:

sudo pvmove --alloc anywhere /dev/sda5:yyyy-end

Теперь посмотрим, удалось ли перемещение swap-объема.

pvs -v --segments /dev/sda5

должен показать новый порядок томов:

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx+1 root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx+1 iii swap 0 linear /dev/sda5:xxx+1-yyyy
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyyy+1 end 0 free

После этого используйте GParted и измените размер LVM до максимально используемой области. Остальное будет в нераспределенном пространстве.

31
27.01.2020, 19:37

Я использую этот метод, не уверен, что он лучший, но работает для меня

используйте его с осторожностью, а не SysAdmin

вычисляет разницу которые вызывают проблему

324% 4 = 0 нет проблем

но

324% 32 = 10,125

это проблема, поэтому не подходит

я думаю, это называется "получить действительное число"

lvmdiskscan

для перечисления задействованных разделов

затем

pvresize /dev/*** --setphysicalvolumesize ***M

мне нужно добавить дополнительные 4M для работы, я думаю, это связано со старым размером PE

наконец

vgchange -s 32M **
0
27.01.2020, 19:37

Предыдущие ответы помогли мне решить эту проблему, но мне нужно было автоматизировать ее, поэтому я написал pvshrink

#./pvshrink /dev/vda2 
Moving 50 blocks from 714 to 664
  /dev/vda2: Moved: 4.00%
  /dev/vda2: Moved: 100.00%
50 of 50 (100.00%) done
Defragmentation complete.
Metadata size: 1048576 b
PE size: 4.0 MiB
Total size 1048576 b + 714 x 4194304 b = 2995781632 b (2.8 GiB)
    Wiping internal VG cache
    Wiping cache of LVM-capable devices
    Archiving volume group "fedora" metadata (seqno 15).
    /dev/vda2: Pretending size is 5851136 not 6287360 sectors.
    Resizing volume "/dev/vda2" to 5851136 sectors.
    Resizing physical volume /dev/vda2 from 0 to 714 extents.
    Updating physical volume "/dev/vda2"
    Creating volume group backup "/etc/lvm/backup/fedora" (seqno 16).
  Physical volume "/dev/vda2" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

Это вызывает pvmove столько раз, сколько необходимо для дефрагментации PV, а затем изменяет его размер до минимально возможного (, который немного превышает используемый размер из-за метаданных ).

0
27.01.2020, 19:37

Теги

Похожие вопросы