Титла: User-mode linux или qemu за lamp сървър? Публикувано от: paucku в Nov 29, 2006, 01:23 Здравейте,
Бих искал да си инсталирам сървър с Apache, MySQL и PHP, но понеже нямам допълнителен компютър реших за да не пречи на настоящата инсталация ще го пусна в "защитен режим". Пробвах, чрез qemu и user-mode linux. Успеха ми беше нулев, най-вероятно от това, че не разбирам горепосочените технологии. Идеята ми е да си направя някакъв (възможно най-малък — 200-500М) имидж и там да си инсталирам Дебиан с Apache, MySQL и PHP. Търся решение, което е максимално лесно за управление. Това, което правя е следното. 1) Правя си имидж. 2) После го форматирам:
3) След това го монтирам:
4) Правя базова инсталация:
5) "Влизам във владение"
6) Добавям в /etc/sources.list български мирър 7) Инсталирам, нужните ми програми
Въпросът е как да подкарам така образувания имидж с user-mode linux или qemu? qemu иска специално направен имидж, но не разбрах как да го направя. Сега ще пробвам на моя да му инсталирам един grub и ще видя какво ще стане, като го пусна с qemu. Титла: User-mode linux или qemu за lamp сървър? Публикувано от: paucku в Nov 29, 2006, 01:37 Хм! Как да инсталирам grub на имидж?
Титла: User-mode linux или qemu за lamp сървър? Публикувано от: alabal в Nov 29, 2006, 08:33
По този начин се създава img файл за qemu, а така би трябвало да го пуснеш инсталацията от CD, с 256 MB RAM и с интернет:
(quemu ще симулира карта базирана на чип rtl8139) За да има нет, обаче трябва преди това да изпълниш следното: Да имаш модула tun/tap в кернела: # modprobe tun # nano /etc/qemu-ifup - редакция на файла, за да зададеш мрежата на tap устройството; Създай следния скрипт във файла /etc/qemu-ifup: #!/bin/sh /sbin/ifconfig $1 172.20.0.1 и после: # chmod +x /etc/qemu-ifup Ако искаш друг адрес напиши го на мястото на 172.20.0.1. И накрая: # echo "1" > /proc/sys/net/ipv4/ip_forward # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE След като инсталираш Debian на виртуалната машина, задай на машината адрес от мрежа 172.20.0.0/24. Не знам как се работи с user-mode linux и защо използваш друг инструмент от qemu-img за създаването на файл. После инсталацията с quemu протича като нормална стандартна инсталация. Можеш да използваш и iso файл вместо CD за инсталация, но 512 MB за виртуална машина ми се виждат трвърде малко за норамлна инсталация, освен ако не използваш нещо малко, като slax, pentoo и прочие. А, и още нещо по-добре е да използваш модула kquemu за кернела - той не е open source и трябва да го инсталираш допълнително, но без него quemu е изключително бавен. Успех! Титла: User-mode linux или qemu за lamp сървър? Публикувано от: paucku в Nov 29, 2006, 12:48 Не правя имидж с qemu-img, защото не разбирам начина му на работа. Той ми прави един празен имидж, който не знам какво да го правя.
Нека да проверим дали съм разбрал.
Това нещо зарежда системата от /dev/cdrom, и ако диска е инсталационен, мога да направя инсталация върху disk.img. Прав ли съм? Титла: User-mode linux или qemu за lamp сървър? Публикувано от: Hapkoc в Nov 29, 2006, 13:32 Абсолютно прав си.
Те ги има описани нещата в документацията на qemu, но общо взето това е - правиш си image с qemu-img, после пускаш qemu, както казва alabal и инсталираш. Можеш да компилираш kqemu - това модул за ядрото, който ускорява работата на виртуалната машина в пъти, но имай предвид, че не е свободен софтуер. Титла: User-mode linux или qemu за lamp сървър? Публикувано от: astronom в Nov 29, 2006, 13:34 Изображението, което създава qemu е и това с което работи. Най-простия сценарий е да създадеш едно изображение, което представлява диска на системата, която ще емулираш и просто да пуснеш qemu да работи с него, както са ти показали по-горе. Ако желаеш можеш да дефинираш и други устройства, като CD-ROM от който евентуално да стартираш, като тези устройства могат да бъдат и файлове с изображение (.iso).
Това е в общи линиите, давай смело. Титла: User-mode linux или qemu за lamp сървър? Публикувано от: morbid_viper в Nov 29, 2006, 15:42 Според мен най-смисления начин освен използваемост и да постигнеш отлично бързодействие е като използваш XEN. Това е паравиртуализационна машина, която се поддържа директно на ниво ядро, позволява дори физическото преместване на работещата машина от един компютър на друг... SUSE и RedHat са включили тази технология в техните Advanced Server продукти.
ето малко ресурси за четене: http://www.cl.cam.ac.uk/research/srg/netos/xen/ http://www.linuxjournal.com/article/8540 http://www.suse.de/~garloff/linux/xen/ http://www.linuxdevcenter.com/pub/a/linux/2006/01/26/xen.html дори и да не намериш XEN за подходящото за твоите нужди решение, поне е полезно да прочетеш материалите (поне за мен беше). Титла: User-mode linux или qemu за lamp сървър? Публикувано от: Hapkoc в Nov 29, 2006, 15:56 Определено XEN е може би най-обещаващата технология за виртуализация, но на повечето дистрибуции (по моя скромен опит) е доста по-проблемно за подкарване отколкото qemu.
Титла: User-mode linux или qemu за lamp сървър? Публикувано от: paucku в Nov 29, 2006, 16:45 Много сложен за работа ми изглежда този XEN. Като начало не мога да схвана, с какво е по-различен от останалите виртуални машини. QEMU ми се струва по-просто. Довечера ще опитам да си направя имидж с qemu-img. Само дето не ми харесва, че ще трябва да правя специален имидж — искаше ми се да е нещо стандартно.
Няма ли някой с опит с user-mode linux? Там май не трябва въобще да се правят имиджи. Титла: User-mode linux или qemu за lamp сървър? Публикувано от: paucku в Dec 01, 2006, 00:49 Много ти благодаря, alabal
![]() Имах успех със зареждането на Slax (slax-server-5.1.8.1.iso) като CD имидж и на Freesco като дискета (и двете без мрежа, защото не бях инсталирал tun драйвера и ми даваше грешка). Не съм пускал X, защтоо не ми е трябвал. Опитах се да инсталирам Дебиан, с netinstall CD-то. За съжаление беше много бавно и аз направих грешката да натисна Ctrl-Alt-Del (защото си мислех, че това е за да ми пусне мишката — оказа се че само Ctrl-Alt) и машината се рестартира. Нямах нерви да го пробвам пак и затова реших да си намеря по-компактна и лесна за инсталация жива дистрибуция. Спрях се на Slax Сега ще напиша, какво съм направил и какво възнамерявам да направя, за да можа да се връщам тук и да си се консултирам. Направих си собствено CD със Slax, защото искам Apache, PHP и MySQL, които ги нямаше в Slax-а, а и имиджа беше 190МБ, което ми се струваше много — имаше много неща, които не ми трябват. Така че изтеглих SLAX Frodo Edition v 5.1.8 от SLAX download page, което е базата на всички останали Slax-ове. От SLAX modules page си изтеглих модулите: XAMPP (което всъщност е Apache+MySQL+PHP+не-знам-си-още-какво), lynx и nano (за всеки случай) и webmin_minimal. Всичко общо прави 103M. Смятам да зередя този имидж и ще пиша какво (и дали) се е получило. Титла: User-mode linux или qemu за lamp сървър? Публикувано от: paucku в Dec 01, 2006, 03:55 Нещо не работи в момента. Slax-а си тръгва, но XAMPP не ще. По-скоро в Apache-то е проблема. Сега свалям друг модул - WebServer . За сега имам проблем и с нета. Драйверът tun го имам, но не знам как да го използвам. Доколкото разбрах трябва да направя някакъв виртуален интерфейс, но изгубих мястото, където го прочетох в Интернет. На едно друго място ми каза, че трябва да инсталирам bridge-tools и да направя bridge интерфейс. След като го направих ми изчезна нета и понеже не разбрах как да го оправя, деинсталирах този пакет.
Сега се сетих, защо исках да е user-mode linux. Това чудо пуска Линукс в Линукс. Един вид емулатор на софтуер. На мен не ми трябва хардуерна емулация. Според мен би трябвало да е по-бърз и по-лесен за употреба (не че и с него нямах проблеми). Титла: User-mode linux или qemu за lamp сървър? Публикувано от: mom в Dec 01, 2006, 04:43 Метни 1 око на тази статия. За Дебиан е, но мисля, че ще ди даде интересни идеи
Титла: User-mode linux или qemu за lamp сървър? Публикувано от: Hapkoc в Dec 01, 2006, 09:09 С мрежата нещата седят по следния начин (при мен поне така съм го направил):
1. сваля се адреса на eth0 (замести с интерфейса при теб): ip addr del $ipaddr dev eth0 2. вдига се bridge интерфейс, който да включва eth0 и да ползва адреса, който сме свалили от eth0 в предишната стъпка: brctl addbr br0 brctl addif br0 eth0 ip addr add dev br0 $ipaddr ip link set eth0 up 3. създава се скрипт /etc/qemu-ifup, който изглежда горе-долу така: #!/bin/sh sudo /sbin/ifconfig $1 up sudo /usr/sbin/brctl addif br0 $1 4. задават се права на потребителя, който ще стартира qemu да изпълнява командите от скрипта чрез sudo (няма да описвам как точно става - sudo(8)) 5. проверява се, че е зареден tun модула и че потребителя има права за достъп до /dev/net/tun: lsmod | grep tun ls -l /dev/net/tun 6. пускаш qemu и ако нещо не съм оплескал нещо трябва да тръгне :) Реално bridge-а ти играе ролята на switch, в който са включени eth0 и виртуалния интерфейс на qemu. Титла: User-mode linux или qemu за lamp сървър? Публикувано от: paucku в Dec 03, 2006, 20:46 Имам някакъв успех!
![]() Направих си имидж, както ми казахте
(не гледайте, че се казва Mepis — исках да инсталирам Мепис преди това, но не се оказа добра идея) Инсталирах Debian Sarge 3.0 — някаква стара дистрибуция, която имам на диск. Нормално би трябвало да се инсталира за около 20-30 минути, но го инсталирах около час и половина-два ![]() ![]() С това зареждам системата (използвам qemu-launcher — програма с графичен интерфейс, коят извиква qemu)
Ако "-boot c" се замени с "-boot d", тогава ще стартира системата от CDROM-а — така беше при инсталацията. Дадох права върху tun интерфейса на paucku
Освен това, добавих paucku в групата uml-net.
Обаче, като се опитам да стартирам емулатора с този интерфейс
Ми дава грешка, че не може да инициализира устройството Иначе ifconfig дава
Вчера си мислех, че съм успял да пусна нета между двете системи, но съм се лъгал, защото съм дал тези адреси(съответно на едната и другата машина): 127.20.0.1 и 127.20.0.2, а се оказа, че всички тези адреси сочат собствената ми машина ![]() Пак пробвах с bridge нещото, но пак имах проблеми — целия нет се скапа. Ще можете ли да ми обясните, какво е това bridge? Направих копи-пейст от написаното по-горе, но не сработи. Изглежда от неразбирането ми идва неправилната му употреба. Съответно го махнах пак. Иначе аз си представях нещата така: правя си виртуален интерфейс tap0, който за емулираната система е като гейтуей. tap0 на нормалната машина и eth0 на емулираната са в една мрежа и остава въпроса с рутирането. Обаче май не е така. Къде бъркам? Титла: User-mode linux или qemu за lamp сървър? Публикувано от: alabal в Dec 04, 2006, 08:35 Братко, няма нужда от vlan опции.
Освен това, този ред също е излишен: # ifconfig tap0 192.168.0.254 up Виж преди какво да напишеш в /etc/qemu-ifconfig. Доколкото знам qemu, при опция -net се обръща към този скрипт в който $1 се замества с tap. След като боотне виртуалната машина й задай адрес с адрес от мрежата зададена в /etc/qemu-ifconfig, gatway 172.20.0.1 (или с адреса който си написал в /etc/qemu-ifconfig) и dns - dns на хост машината. Работи безотказно при мен. |