LINUX.ORG.RU
ФорумAdmin

Про работу с LVM

 


0

1

Допустим, я в системе собрал 2 зеркала из четырёх парных по размеру ssd. Все 4 - ssd. А пул «ssd» у меня на хостах предусмотрен один. Стало быть, я делаю ОДИН VG из двух зеркал.

Внимание, вопрос. Что я делаю, если мне надо вывести из работы одно зеркало целиком? Как будет выглядеть процедура вывода части PV из VG?

Спасибо.

ЗЫ. Да, всё бывает в первый раз. Ну не делал я так раньше.

ЗЗЫ. Хост виртуализации, да.

ЗЗЗЫ. btrfs и zfs не нужно предлагать

★★★★★

Последнее исправление: targitaj (всего исправлений: 1)

Поиск говорит про vgsplit. То есть, я прогоняю vgsplit и часть моих LV оказываются на новом VG? А потом что? LV машин двигать через даунтайм машин? Так?

targitaj ★★★★★
() автор топика

Не оч понятно как что собрано.

Предполагаю вот так:

pv представлены md1(ssd1, ssd2) и md2(ssd3, ssd4)
Один VG поверх всего этого, сколько-то LV внутри.
Надо отключить один из PV

Если это так, то можно следовать любой инструкции по «переносу lvm на другой диск»
к примеру https://datacheap.ru/about/blog/perenos-sistemy-linux-s-lvm-razdelami-s-odnogo-zhestkogo-diska-na-drugoy-bez-perezagruzki/

Из приведённой ссылки можно только pvmove и vgreduce не забыв проверить, что на оставшийся PV влезут все имеющиеся LV

Никаких простоев вроде не надо. Ну это если я угадал структуру дисков

Flotsky ★★★
()

Если места хватает, то просто pvmove, потом vgreduce

man pvmove
man vgredece

достаточно просто указать, какой диск нужно освободить

pvmove $PV_SOURCE
vgreduce $VG $PV_SOURCE

при желании можно явно указать, куда перемещать данные

pvmove $PV_SOURCE $PV_DESTINATION

и даже конкретные экстенты

pvmove $PV_SOURCE:$PE_START-$PE_END
pvmove $PV_SOURCE:$PE_START-$PE_END $PV_DESTINATION

или один LV

pvmove -n $LV_NAME $PV_SOURCE $PV_DESTINATION

Если зеркало УЖЕ сдохло и ты потерял данные, то потерянный диск можно удалить из VG так: (будут удалены все LV, у которых на ппотерянном диске был хотя бы один экстент)

vgreduce --removemissing $VG
router ★★★★★
()

Ты строишь LVM поверх MD? У тебя в LVM каждый PV будет лежать на зеркале, собранном другим средством? Ну тогда ты делаешь pvmove и если он отрабатывает (а он не сможет, если в VG используется больше места, чем есть на оставшемся PV), то vgreduce.

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

legolegs ★★★★★
()