Титла: Resize на XEN image Публикувано от: teleport в Nov 27, 2008, 20:16 Ситуацията е следната: имам сървър на който под xen работят 10-тина виртуални машини. Всички са копие на една базова инсталация направени с "virt-clone". Проблема е че със закъснение установих копията са направени от грешен имидж. А всички виртуални машини вече са конфигурирани и работят.
Код: [root@xen images]# losetup -f www_clean.img Проблем с resize на swap-а от 2G на 512M няма. Но преместването на 3-тия партишън напред и след това resize се оказва проблем. Gparted е единственото което открих че може да мести (копира) партишън, но не работи с имиджи, даже и да са монтирани с losetup/kpartx. Всякакви идеи как може да се направи resize ще ми бъдат изключително полезни. Титла: Re: Resize на XEN image Публикувано от: gat3way в Nov 27, 2008, 20:36 Какво ще рече "преместване напред" ?
Титла: Re: Resize на XEN image Публикувано от: teleport в Nov 27, 2008, 20:57 След като swap-а се намали на 512M ще останат 1.5G между 2-рия и 3-тия партишън. Третия (ext3) трябва да се премести с 1.5G по-напред в имиджа, след това да се увеличи с 1.5G и след това да се resize файловата система. Самия resize на ext3 не е проблем, маха се журнала, resize като ext2 и след това се добавя отново журнал. Но преместването така че да се запази информацията ми е проблем.
Принципно мога да създам нов partition table с правилните размери, да копирам с dd първия партишън (/boot), после да инициализирам swap-а, после отново dd за 3-тия и последващия resize, но калкулирането на правилните отмествания за dd нещо ми убягва. Отделно че това все пак трябва да го сглобя във скрипт, защото има още 9 имиджа, които чакат за същата операция. PS: принципно ми е хрумнала идеята да сложа още един хард временно, dd if=image of=/dev/sdc, извършване на resize/move с gparted, после обратно в имиджа с dd, но ще е изключително трудно поради хардуерни ограничения: липса на свободен sata порт, както и липса на място за 3-ти хард. Машината е 1U dell. Варианта с 3-ти хард на usb е изключително бавен. Титла: Re: Resize на XEN image Публикувано от: gat3way в Nov 27, 2008, 21:07 Ами не :)
Аз бих подходил по друг начин. Преформатирам swap дяла с ext3 и копирам всичко от третия дял на втория (през това време бих карам без swap...ужас :) ). После изтривам третия дял. Оттам почва магията :) 1) Влизам в fdisk. Изтривам третия дял. 2) Изтривам втория дял (да, сериозно говоря) 3) Създавам наново втория дял, по-голям колкото трябва. 4) resize2fs на файловата система върху втория дял. 5) Влизам в fdisk и създавам трети дял за swap. Дали това е безопасно? Мдам, колкото и идиотски да звучи. И все пак това е нещо което АЗ бих направил. Съвсем не препоръчвам хората да правят такива идиотски упражнения :) И апропо, след едно такова упражнение ще заобичаш LVM - там такива дивотии няма да ти се налагат чак до такава степен :) Но това е приложимо само ако файловете на третия дял могат да се съберат на мястото на втория, иначе....кофти. Титла: Re: Resize на XEN image Публикувано от: teleport в Nov 27, 2008, 21:12 Точно това е проблема: "ако има място". Аз разбрах че основния имидж е грешния в момента в който свърши мястото. Без swap не е проблем, така или иначе машината е виртуална, може да я рестартирам с 4Gb рам, но няма място:
Код: [root@localhost ~]# df -H Забравих: lvm-а много си го обичам, но във виртуална машина дава голям overhead. Пък и 4Gb полезно място във виртуална машина която държи 1 сайт ми се струваше достатъчно. А да създам 2-ри имидж с по-голям размер и да го монтирам в /var/www/html е преразход на място. Все пак хардовете на машината не са безкрайни. Не ми се иска да преинсталирам защото тъкмо успях да наглася виртуалните машини да работят прекрасно с разни екзотични екстри като freetds, imagemagick, pptpd(vpn) сървъри и подобни гадости за да се радват web програмистите. Титла: Re: Resize на XEN image Публикувано от: gat3way в Nov 27, 2008, 21:24 Добре де, ти можеш да си я монтираш като loop устройство. Предполагам че из файловите системи на dom0-та имаш поне място за временно съхранение. Защо не ги tar-неш някъде там и след великата манипулация не ги изпльоскаш върху /dev/loop0p2?
Разбира се, по време на тази тарапана всички виртуални машини трябва да са угасени, за предпочитане. Титла: Re: Resize на XEN image Публикувано от: teleport в Nov 27, 2008, 21:31 Защото след създаване на нов имидж, losetup на двата ( угасена vm ), tar cf и tar xfp pygrub ме заплюва че не може да намери кернела на виртуалната машина за да го стартира.
Титла: Re: Resize на XEN image Публикувано от: gat3way в Nov 27, 2008, 21:36 Бах....тва е странно, нали /boot ти е първият дял?!?
Много странно...дали процесорът ти подържа хардуерна виртуализация да се пробваш да го запалиш като hvm и съответно без pygrub? Само за пробата де, да видим там какво ще изреве... Титла: Re: Resize на XEN image Публикувано от: teleport в Nov 27, 2008, 21:43 Не поддържа за съжаление. Първата ми работа беше да опитам да насадя един Q6600. Дъното поддържа макс Pentuim D и е с P4-D 925. Повече не може.
Явно ще се опитам да спретна някакво програмче което да сметне параметрите за dd и ще копирам целите партишъни. Титла: Re: Resize на XEN image Публикувано от: gat3way в Nov 27, 2008, 21:47 Ами всъщност и това е вариант, можеш да dump-неш целия p3 върху файл, да направиш тъпата манипулация, после dd if=faila of=/dev/loop0p2, ресайзването на файловата система би следвало да сработи след това. Обаче това дето реве pygrub е много странно и не знам дали няма да се прояви отново. Много странно. Това xen и паравиртуализацията обаче по принцип е извратена история малко, аз затова си обичам kvm - лесно и като за тъпи хора като мене :) За жалост, при теб това не е опция както каза :(
Цитат Забравих: lvm-а много си го обичам, но във виртуална машина дава голям overhead. Бляяя не, overhead от гледна точка на това че се хаби място за метаданни, ама това не е чак толкова много. Откъм производителност няма особена разлика Титла: Re: Resize на XEN image Публикувано от: teleport в Nov 27, 2008, 23:54 Проблема е решен:
Код: [root@xen images]# cat zr И командите за fdisk: Код: [root@xen images]# cat fdisk.script Параметъра на скрипта е името на имиджа. Има едно копиране на 4Gb в повече, но важното е че работи. Естествено преди пускането на скрипта виртуалната машина се гаси чисто (shutdown). |