Автор Тема: LVM и някакви странни явления..  (Прочетена 793 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Тя ситуацията е малко объркана, но ще се опитам да я обясня. Имам една машина където диска е нацепен на няколко големи дяла, които са PV-та, съответно няколко volume групи върху всяко от тях. В тях има дефинирани определен брой LV-ta. Имаме няколко xen виртуални машини. Блоковото устройство, което им се представя е някакво LV от dom0. Съответно в domU-то това е разделено на boot дял (xvda1) и едно голямо PV (xvda2), съответно един VG и определен брой LV-та вътре (root, home, var, tmp...).

В един момент се оказва, че това LV което подавам като xvda на виртуалната машина не е достатъчно голямо и в нея не може да се инсталира определен софтуер понеже той има някакви дивашки изисквания към големината на root файловата система. За последната от никъде не мога да намеря достатъчно място и се стига дотам, че трябва от dom0 просто да дам повече място за виртуалната машина.

По този повод правя една  простотия - на dom0 създавам нов LV и го подавам като втори диск на виртуалната машина (да речем xvdb). Вътре в domU това устройство минава през pvcreate и се "добавя" към системната VG. Съответно resize-вам root LV-то и файловата му система и всичко е ОК.

Дотук много добре обаче решавам, че това решение е доста глупаво и че е 100 пъти по-добре ако просто съм разширил LV-то на dom0 което подавам като xvda за xen guest-a. Така и правя - lvresize-вам го и спирам xen domU-то.

Когато вдигам наново domU-то забелязвам, че PV-то съдържащо VG-пата, съдържаща root LV-то си стои със същата големина. Няма проблеми - с fdisk изтривам втория (и последен) дял и го създавам наново с пълната големина (грозно, ама мен не ми пречи да правя глупости - не би трябвало да има проблем де). Правя и pvresize.

С partprobe препрочитам partition таблицата, за всеки случай пресканирам всичко (pvscan,vgscan,lvscan). VG-та и PV-то си се показват с новия по-голям size. В този момент решавам да направя логичното, да разкарам 2-рото устройство (xvdb) което съм добавял преди.

Логично първата стъпка е да разкарам LV-тата от това PV така че да са разположени само върху уголеменото устройство (pvmove -n vg/lv /dev/xvdb /dev/xvda2). На тази стъпка излизат някакви странни грешки по време на местенето въпреки че си минават процентите и ужким операцията е успешна. Обаче когато се опитам окончателно да разкарам това PV от volume групата (vgreduce vg /dev/xvdb) ми казва, че устройството е заето (както става ако има разположени LV-та отгоре).

Добре де, това го разреших като на dom0 създадох ново голямо LV, подадох го на domU-то като xvdc, pvcreate-нах го, добавих го в vg, pvmove-нах от /dev/xvdb LV-тата върху новото PV (/dev/xvdc) и после обратно преместих всичкото LV-та от /dev/xvdc върху /dev/xvda. Последното първият път изплю грешка че няма достатъчно място на xvda2 (въпреки че имаше и свободно място и свободни extent-и) и много мистериозно след смъкване и вдигане на виртуалната машина спря да прави този проблем. Накрая vgreduce-нах групата и разкарах 2-те (!!!) дефакто ненужни допълнителни устройства.

В крайна сметка си свърших работата по много обиколен начин, обаче това поведение и тези странни грешки много ме озадачиха.

Добре бе мама му стара ами ако нямах място на dom0 какво правим?

Въобще някой виждал ли е такива проблеми и има ли идея защо се държи така?

Дали не е защото съм затрил дяла, пресъздал съм го с новата големина и съм викнал partprobe, а LVM-а по някакъв начин не е разбрал (въпреки че pvscan показваше новата големина)? Да поясня - да, правих и pvresize. Даже май го правих преди дефакто да пресъздам новия дял с пълната големина. Може би това е проблема?

Трябва да призная че никога не съм обичал LVM чак толкова много, колкото и да е удобно и точно ей такива мистериозни неща много ме хвърлят в размисъл. И вярно, че правя големи гаменщини, обаче според мен не би трябвало да има проблем.

А имам един колега дето доста повече от мен им разбира на тези неща, но за жалост го нямаше този ден да си каже мнението.
Активен

"Knowledge is power" - France is Bacon