Linux-VServer: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
Siggis (aptarimas | indėlis)
SNėra keitimo santraukos
Siggis (aptarimas | indėlis)
perkėliau į Vikiknygas, bet nemoku su šablonu Vikiknyga duoti nuorodos :(
Eilutė 3:
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 atskiras paslaugas (''ssh'', ''mail'', ''web'', [[duomenų bazė|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-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 http://linux-vserver.org/Welcome_to_Linux-VServer.org].
==Linux branduolio diegimas==
{{Copy to Wikibooks}}
{{cleanup|stilius}}
Linux-VServer naudojimui reikalingas Linux branduolys palaikantis VServer, t.y. galintis izoliuoti atskirus virtualių serverių branduolius, kurie veiktų nepriklausomai vienas nuo kito.
 
==Išorinės nuorodos==
===Branduolio parinkimas===
*[http://lt.wikibooks.org/wiki/GNU_Linux/Linux-VServer Straipsnis Vikiknygose]
Linux branduoliai su pataisymais tinkantys VServer nurodyti čia: [http://linux-vserver.org/Welcome_to_Linux-VServer.org http://linux-vserver.org/Welcome_to_Linux-VServer.org].
*[http://linux-vserver.org/Welcome_to_Linux-VServer.org http://linux-vserver.org/Welcome_to_Linux-VServer.org]
*[http://support.uni-klu.ac.at/VServer http://support.uni-klu.ac.at/VServer]
*[http://seehuhn.de/pages/vserver http://seehuhn.de/pages/vserver]
 
Branduolio versiją galima sužinoti terminalo lange įvedus:
<pre>uname -r</pre>
 
Naudojant Ubuntu 8.04, branduolio versija yra 2.6.24-16-generic, kuri nėra tinkama VServer naudojimui. Taigi kompiliuosime Linux branduolį Ubuntu sistemai. Iš [http://linux-vserver.org/Welcome_to_Linux-VServer.org lentelės] pasirenkame branduolį.
 
Pirmiausia įsitikinam, kad visi branduolio atnaujinimui reikalingi paketai yra įdiegti:
<pre>apt-get install build-essential gcc make g++ libncurses5-dev ssh ncurses-base patch libc6-dev</pre>
 
Toliau sukuriame naują direktoriją ir pereiname į ją, kur bus reikalingas branduolys:
<pre>cd /usr/src/
mkdir kernel
cd kernel</pre>
 
Parsiunčiame Linux branduolį bei pataisų paketus:
<pre>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
</pre>
 
Išskleidžiame archyvą ir pereiname į sukurtą direktoriją:
<pre>
tar xfjv linux-2.6.22.19.tar.bz2
cd linux-2.6.22.19.tar.bz2
</pre>
 
===Branduolio atnaujinimas===
Atnaujiname branduolio failus:
<pre>
cat ../patch-2.6.22.19-vs2.2.0.7-grsec2.1.11-20080317.diff | patch -p1
</pre>
 
Galime palikti tuos pačius nustatymus, kokie buvo mūsų pradinėje sistemoje, nukopijavę esamą failą:
<pre>
cp /boot/vmlinuz-2.6.24-16-generic /usr/src/kernel/linux-2.6.22.19.tar.bz2
</pre>
 
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''
<pre>
make oldconfig
</pre>
 
Įvykdome dar vieną komandą, kuri atveria meniu pasirinkimo langą (galima nieko nekeisti):
<pre>
make menuconfig
</pre>
 
===Branduolio kompiliavimas===
Kompiliuojame ir instaliuojame naują branduolį (komandos ''make'' vykdymas gali užtrukti 30-60 min.).:
<pre>
make
make install
make modules_install
</pre>
 
Sukuriame branduolio paleidimo failą:
<pre>
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
</pre>
 
===Branduolio paleidimo įrašai===
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ą:
<pre>
vi /boot/grub/menu.lst
</pre>
Ir prieš visus esančius įrašus įrašyti:
<pre>
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
</pre>
 
===Naudojamo branduolio patikrinimas===
Išsaugojam papildytą failą ir perkrauname sistemą su nauju branduoliu (''shutdown -r now''). Patikrinus užkrautą branduolį (''uname -r'') turime pamatyti:
<pre>
2.6.22.19-grsec2.1.11-vs2.2.0.7
</pre>
''Perkrovus sistemą man atsirado baltas langas ir prie grafinės aplinkos nepavyko prieiti, bet per terminalo langą (Ctrl+Alt+F[1-12]) viskas veikia.''
 
==Linux-VServer diegimas==
Į paruoštą sistemą reikia instaliuoti '''util-vserver''' ir '''vserver-debiantools'''. Tai galima padaryti naudojant Paketų tvarkyklę ''Synaptic'' arba įvedę eilutę į terminalą:
<pre>
apt-get install util-vserver vserver-debiantools
</pre>
 
===Linux-VServer diegimo problemos===
Čia pateikiu problemas su kokiomis aš susidūriau norėdamas paleisti VServer, kokius pranešimus gavau ir ne į visus radau atsakymus internete. Tikiuosi kažkam bus naudingi.
====Testavimas su skriptu====
Ar sėkmingai įdiegtas ir tinkamai veikia VServer galima patikrinti atsisiuntę ir paleidę šį [http://vserver.13thfloor.at/Stuff/SCRIPT/testme.sh skriptuką].
<pre>
wget http://vserver.13thfloor.at/Stuff/SCRIPT/testme.sh
chmod +x testme.sh
sudo ./testme.sh
</pre>
Jei gavome žemiau esantį pranešimą, tai reiškia, kad Linux branduolys nepalaiko VServer. Reikia įdiegti palaikantį Linux branduolį, kaip aprašyta pirmame skyriuje.
<pre>
Linux-VServer Test [V0.17] Copyright (C) 2003-2006 H.Poetzl
chcontext: tools were built without legacy API support; can not continue
chcontext failed!
WARNING: --nid is not supported by this version
chbind: kernel does not provide network isolation
WARNING: --nid is not supported by this version
chbind: kernel does not provide network isolation
chbind failed!
Linux 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686
Ea 0.30.214 273/glibc (DSa) <v13,net,v21,v22,v23,netv2>
VCI: <none> (Tn)
---
</pre>
====Virtualaus serverio kūrimas====
Bandome sukurti virtualų serverį:
<pre>
newvserver -v --hostname test1 --domain "pavyzdys.lt" --ip 193.169.100.2 --interface dummy0
</pre>
Jeigu nepavyko sukurti virtualaus serverio ir gaunate pranešimą, tai reiškia mūsų branduolys negali saugiai atskirti virtualių serverių, t.y. nepalaiko VServer. Žiūrėti pirmąjį skyrių.
<pre>
newvserver error:
Must be run from the host server (security context 0)
on a "vserver/ctx-patch" enabled kernel
See: http://www.solucorp.qc.ca/miscprj/s_context.hc
</pre>
 
==Linux-VServer konfigūravimas==
===VServer tinklo konfigūravimas===
Pirmiausia reikia sukurti tinklą ir priskirti jį VServer paketui. Ubuntu ir Debian sistemose taip galime padaryti į failą ''/etc/network/interfaces'' įrašę tokias eilutes:
<pre>
auto dummy0
iface dummy0 inet static
address 193.169.100.1
netmask 255.255.255.0
</pre>
Jeigu viskas veikia, mes galime pamatyti susietą adresą su sukurtu interfeisu dummy0 įvedę eilutę:
<pre>
ip addr show dev dummy0
</pre>
Turėtumėt gauti kažką panašaus:
<pre>
5: dummy0: <BROADCAST,NOARP,UP,10000> mtu 1500 qdisc noqueue
link/ether 6e:07:f6:a2:7d:d1 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.1/24 brd 10.1.1.255 scope global dummy0
inet6 fe80::6c07:f6ff:fea2:7dd1/64 scope link
valid_lft forever preferred_lft forever
</pre>
Tinklo paketai, siunčiami iš virtualaus serverio, turi ateiti iš šio sukurto interfeiso. Tačiau norint gauti išorinius paketus į virtualų serverį, reikia šiam interfeisui nustatyti nukreipimus.
<pre>
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 193.169.100.1/32 -j SNAT --to-source $IP
</pre>
čia $IP yra išorinio interfeiso adresas. Šis nukreipimas turi būti atliekamas kiekvieną kartą perkraunant tinlą, todėl geriausia šias komandas įkelti į sistemos startavimo failą.
===Virtualaus serverio valdymas===
Virtualių serverių valdymas vyksta gana paprastai, naudojant paprastas komandas: ''start, stop, enter, delete''.
====Virtualaus serverio kūrimas====
Virtualiems serveriams kurti naudojant VServer paketą reikalingas internetas, todėl įsitikinkite, kad Jūsų serveris prijungtas prie jo. Įjungiame Linux sistemą su branduoliu, palaikančiu VServer. Kurti virtualius serverius turime su super administratoriaus teisėmis.
<pre>
sudo -s
</pre>
Kuriame virtualų serverį:
<pre>
newvserver --hostname test1 --domain pavyzdys.lt --ip 193.169.100.2/32 --interface dummy0
</pre>
====Virtualaus serverio įjungimas====
Paleidžiamas virtualus serveris:
<pre>
vserver start test1
</pre>
====Įėjimas į virtualų serverį====
Patekti į virtualų serverį galime:
<pre>
vserver enter test1
</pre>
Dabar galime vykdyti visas komandas, kaip ir paprastame serveryje, nepriklausomai nuo kitų veikiančių virtualių serverių.
====Virtualaus serverio stabdymas====
<pre>
vserver stop test1
</pre>
====Virtualaus serverio šalinimas====
<pre>
vserver delete test1
Are you sure you want to delete the vserver test2 (y/N) y
</pre>
 
===Virtualių serverių statistika===
Į virtualių serverių paketą įeina ir '''vserver-stat''' programa, kuri pateikia duomenis apie visus fiziniame serveryje veikiančius virtualius serverius. Iškviečiama komanda, turint super administratoriaus teises (''sudo''):
<pre>
vserver-stat
</pre>
Išvedama lentelė su veikiančiais virtualiais serveriais:
<pre>
CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
40001 2 14.8M 1.4M 0m00s32 0m00s16 9m06s29 test1
40003 2 14.8M 1.4M 0m00s24 0m00s24 9m03s32 test3
</pre>
 
==Išorinės nuorodos==
#[http://linux-vserver.org/Welcome_to_Linux-VServer.org http://linux-vserver.org/Welcome_to_Linux-VServer.org]
#[http://support.uni-klu.ac.at/VServer http://support.uni-klu.ac.at/VServer]
#[http://seehuhn.de/pages/vserver http://seehuhn.de/pages/vserver]
 
{{stub}}
[[Kategorija:Programinė įranga]]