Linux-VServer
![]() |
Šį puslapį ar jo dalį reikia sutvarkyti pagal Vikipedijos standartus. Jei galite, sutvarkykite. |
Linux-VServer yra atvirojo kodo sistema skirta Linux branduoliui. Naudojama kurti virtualius, serverius, veikiančius viename fiziniame kompiuteryje (serveryje).
Linux-VServer leidžia kurti virtualius privačius serverius (VPS), kurie veikia kaip normalūs Linux serveriai, tačiau jų gali būti daug. Visi virtualūs serveriai veikia vienoje sistemoje, tačiau galima įjungti arba išjungti atskirus servisus (ssh, mail, web, duomenų bazes) kiekvienam virtualiam serveriui taip pat, kaip ir administruojant realius serverius. Kiekvienas virtualus serveris turi savo atskirus vartotojų duomenų bazę ir administratorių. Tarpusavyje jie yra nepriklausomi ir negali turėti įtakos kitų virtualių serverių veikimui.
Linux branduolio diegimas
Linux-VServer naudojimui reikalingas Linux branduolys palaikantis VServer, t.y. galintis izoliuoti atskirus virtualių serverių branduolius, kurie veiktų nepriklausomai vienas nuo kito. Linux branduoliai su pataisymais tinkantys VServer nurodyti čia: http://linux-vserver.org/Welcome_to_Linux-VServer.org. Savo branduolio versiją galima sužinoti terminalo lange įvedus:
uname -r
Aš naudojau Ubuntu 8.04, todėl branduolio versija yra 2.6.24-16-generic, kuri nėra tinkama VServer naudojimui. Taigi kompiliuosime Linux branduolį Ubuntu sistemai. Iš lentelės pasirenkame branduolį.
Pirmiausia įsitikinam, kad visi branduolio atnaujinimui reikalingi paketai yra įdiegti:
apt-get install build-essential gcc make g++ libncurses5-dev ssh ncurses-base patch libc6-dev
Toliau sukuriame naują direktoriją ir pereiname į ją, kur bus reikalingas branduolys:
cd /usr/src/ mkdir kernel cd kernel
Parsiunčiame Linux branduolį bei pataisų paketus:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.19.tar.bz2 wget http://people.linux-vserver.org/~harry/patch-2.6.22.19-vs2.2.0.7-grsec2.1.11-20080317.diff
Išskleidžiame archyvą ir pereiname į sukurtą direktoriją:
tar xfjv linux-2.6.22.19.tar.bz2 cd linux-2.6.22.19.tar.bz2
Atnaujiname branduolio failus:
cat ../patch-2.6.22.19-vs2.2.0.7-grsec2.1.11-20080317.diff | patch -p1
Galime palikti tuos pačius nustatymus, kokie buvo mūsų pradinėje sistemoje, nukopijavę esamą failą:
cp /boot/vmlinuz-2.6.24-16-generic /usr/src/kernel/linux-2.6.22.19.tar.bz2
Sukuriame konfigūracinį failą pagal dabartinės sistemos konfigūravimo nustatymus. Jums lieps pasirinkti tik tuos nustatymus, kurių nebuvo anksčiau. Beveik visus nustatymus galite palikti pagal nutylėjimą (jei nepatyrę vartotojai), išskyrus šiuos:
- Enable Legacy kernel API
- Enable Proc Security
- Enable Hard CPU Limits
Jie turėtų būti įjungti (pasirenkame Y). Kuriant naujus nustatymus naudotumėm make config
make oldconfig
Įvykdome dar vieną komandą, kuri atveria meniu pasirinkimo langą (galima nieko nekeisti):
make menuconfig
Kompiliuojame ir instaliuojame naują branduolį (komandos make vykdymas gali užtrukti 30-60 min.).:
make make install make modules_install
Sukuriame branduolio paleidimo failą:
mkinitramfs -o /boot/initrd.img-2.6.22.19-grsec2.1.11-vs2.2.0.7 2.6.22.19-grsec2.1.11-vs2.2.0.7
Paskutinis žingsnis - užtikrinti, kad branduolio paleidimo sąraše būtų įrašas, leidžiantis užkrauti naująjį branduolį. Reikia patikrinti ir paredaguoti /boot/grub/menu.lst failą:
vi /boot/grub/menu.lst
Ir prieš visus esančius įrašus įrašyti:
title Ubuntu, 2.6.22.19-grsec2.1.11-vs2.2.0.7 (VServer) root (hd0,0) kernel /boot/vmlinuz-2.6.22.19-grsec2.1.11-vs2.2.0.7 root=/dev/sda1 ro quiet splash initrd /boot/initrd.img-2.6.22.19-grsec2.1.11-vs2.2.0.7 savedefault boot
Išsaugojam papildytą failą ir perkrauname sistemą su nauju branduoliu (shutdown -r now). Patikrinus užkrautą branduolį (uname -r) turime pamatyti:
2.6.22.19-grsec2.1.11-vs2.2.0.7
Perkrovus sistemą man atsirado baltas langas ir prie grafinės aplinkos nepavyko prieiti, bet per terminalo langą (Ctrl+Alt+F[1-12]) viskas veikia.