Как изменить размер PE Volumegroup

Было что-то, что кто-то сказал мне, что они использовали несколько лет назад. Я хочу сказать старые ледяные лотки (Вы знаете до холодильника, имел лед в двери). Отключенный (или иначе удаляют) длинный делитель и ленты должны покоиться легко в лотке, встающем право. Ленты должны быть о той же ширине, как открытия кубика льда.

1
задан 16 February 2015 в 21:13
3 ответа

Вы можете изменить размер физического экстента группы томов только в том случае, если для завершения изменения не требуется перемещать существующие физические экстенты. В противном случае вы получите сообщение об ошибке, указанное выше.

Единственный другой вариант - воссоздать группу томов с правильным размером.

Цитата из справочной страницы:

После того, как это значение было установлено, оно становится трудно изменить его, не воссоздавая группу томов, что потребовало бы резервного копирования и восстановления данных на любых логических томах. Однако, если не нужно перемещать экстенты для применения нового значения, его можно изменить с помощью vgchange -s.

1
ответ дан 3 December 2019 в 18:52

Вы можете использовать pvmove для перемещения выделенных физических экстенций на физическом(их) томе(ах). Любые логические тома должны начинаться и заканчиваться на границах протяженности (расти с lvresize). Вероятно, лежащий(ие) в основе физический(ие) объем(ы) также должен(ы) быть в точности кратен(ы) новому размеру протяженности (зафиксируйте это с помощью pvresize).

Как упоминалось в ответе суперпользователя на связанный с этим вопрос, можно было бы использовать нечто подобное:

pvmove --alloc anywhere /dev/sdc1:103680-221247 /dev/sdc1:0-103679

для перемещения экстенсивностей 103680-221247 в 0-103679 на физический объем /dev/sdc1. Возможно, вам понадобится перемещать сегменты ступенчато. Используйте pvdisplay --maps /dev/sdc1, чтобы показать, какие экстенциалы распределены на физическом объеме /dev/sdc1.

Обратите внимание, что размер не должен влиять на производительность ввода/вывода (на LVM2), следует влиять только на производительность самих инструментов LVM и на максимальные размеры компонентов LVM.

.
2
ответ дан 3 December 2019 в 18:52

Это возможно, но сложно. Если у вас есть возможность, воссоздание VG - гораздо лучший вариант.
Однако это был не вариант для меня, поэтому вот как я изменил размер PE с 4 МБ до 32 МБ.

  • Во-первых, уменьшите ваши PV до размера, кратного вашему целевому размеру PE, например:
    pvresize / dev / sdb --setphysicalvolumesize 3778436m
  • Затем измените размер всех ваших LV до размера, кратного вашему предполагаемому PE. размер с использованием lvresize , то есть: lvresize /dev/libvirtstorage/debian-8.7.1-amd64-netinst.iso --size 256
  • Затем необходимо убедиться, что отдельные сегменты, составляющие каждый образ, выровнены с вашим новым PE. Это ненадежно, так как вам в основном нужно "дефрагментировать" свой VG.
    Я использовал для этого инструмент « lvm2defrag » (вам не нужно запускать его на самом компьютере, вы можете запустить его на любом компьютере с установленным PHP, он просто сгенерирует необходимые команды)
  • После этого, если ваш общий размер тома, размер фрагмента LV и свободное пространство делятся на ваш целевой размер PE, вы сможете изменить размер PE:
    vgchange -s 32m the_vol

Весь этот процесс может выполняться без простоев, при этом вся группа VG продолжает работать.
Еще одна проблема, на которую следует обратить внимание: обратите внимание на разницу между 32m и 32M , команды LVM интерпретируют нижний регистр m как MiB и верхний регистр M как MB.

0
ответ дан 3 December 2019 в 18:52

Теги

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