Paieška


print PDF
Programų paleidimas serverio įkrovos metu

Įvadas

Kai jūsų serveris įdiegtas, jam reikia persijungti per kelis lygmenis, vadinamus runlevel. Kiekviename lygmenyje startuoja įvairios serverio paslaugos: tinklo konfigūravimas, programos, pvz., Apache, pašto bei MySQL serveriai.

Taisyklės

5 veikimo lygmenys (runlevel):
- runlevel 0: Įjungiamas, kai sistema baigia darbą
- runlevel 1: Įjungiamas, kai sistema startuoja vieno vartotojo režimu
- runlevel 3: Įjungiamas, kai sistema startuoja kelių vartotojų režimu
- runlevel 5: Įjungiamas, kai sistema startuoja kelių vartotojų režimu, naudojama grafinė sąsaja
- runlevel 6: Įjungiamas perkrovos metu

Kiekviena paslauga ar programa turi būti sukonfigūruota taip, kad įsijungtų ir išsijungtų tik tam tikrame lygmenyje. Atitinkamuose lygių kataloguose turite sukurti nuorodas, kurios paleistų reikiamą pradžios scenarijų.

Pavyzdžiuose pateikta DNS serverio paslauga named. Paslauga sukonfigūruota taip, kad įsijungtų 3 lygmenys ir išsijungtų 0. Pradžios scenarijus faile /etc/init.d/:

[root@julien root]# ls -al /etc/init.d/named
-rwxr-xr-x 1 root root 2281 jui 13 2004 /etc/init.d/named



Nuoroda sukurta /etc/rc3.d/ (3 lygmens kataloge):

[root@julien root]# ls -al /etc/rc3.d/S13named
lrwxrwxrwx 1 root root 22 oct 2 15:55 /etc/rc3.d/S13named -> ../init.d/named


Ir kataloge /etc/rc0.d/ (0 lygio kataloge):

[root@julien root]# ls -al /etc/rc0.d/K45named
lrwxrwxrwx 1 root root 15 oct 2 15:37 /etc/rc0.d/K45named -> ../init.d/named


3 lygmenyje nuoroda S13named automatiškai paleidžia komandą /etc/init.d/named start. 0 lygmenyje K5named automatiškai paleidžia komandą /etc/init.d/named stop. Raidė S reiškia 'start', raidė K - 'stop'. Po to nurodytas skaičius reiškia eilę, pagal kurią paleidžiamos paslaugos. DNS neverta startuoti, kol nepaleista paslauga, valdanti tinklo konfigūraciją.

  • OVH skirtieji serveriai jungiasi 3 lygmenimi. Paprastai, norėdami, kad paslaugos startuotų kraunantis serveriui, turite konfigūruoti 2, 3, 4 ir 5 lygmenis.

Valdymas

Redhat turi labai naudingą įrankį: chkconfig, kuri išvardina esamą konfigūraciją ir įgalina paprastas modifikacijas.

  • Paslaugų, startuojančių su serveriu, peržiūra

Norėdami peržiūrėti paslaugas, įveskite komandą:

[root@julien root]# /sbin/chkconfig --list
webmin 0:Stop 1:Stop 2:Start 3:Start 4:Stop 5:Start 6:Stop
atd 0:Stop 1:Stop 2:Stop 3:Start 4:Start 5:Start 6:Stop
watchdog 0:Stop 1:Stop 2:Stop 3:Stop 4:Stop 5:Stop 6:Stop
syslog 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop



Viena paslauga (pvz., MySQL):

[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop


Gautoje informacijoje matomi veikimo lygmenys ir veiksmai, kurie atliekami - paslauga paleidžiama arba stabdoma.

  • Modifikacijos

Jeigu norite patikrinti tam tikrą lygmenį, naudokite komandą:
/sbin/chkconfig --lygis

Pavyzdys su MySQL, kai paslauga, kraunantis serveriui, nestartuoja automatiškai. Konfigūracijos peržiūroje matoma, kad mysql nestartuoja automatiškai. Toliau pateikiama komanda, kurios pakanka, kad paslauga startuotų kartu su serveriu:

[root@julien root]#/sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Stop 3:Stop 4:Stop 5:Stop 6:Stop

[root@julien root]# /sbin/chkconfig --level 2345 mysql on

[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop



  • Paslaugos, kuriai startuoti, įtraukimas

Įrankis leidžia pakeisti pradžios scenarijaus paslaugas ir sukurti nuorodas.

Pavyzdys MySQL startavimui:

[root@julien root]# cat /etc/init.d/mysql
  1. !/bin/sh
  2. Copyright Abandoned 1996 TCX DataKonsult? AB & Monty Program KB & Detron HB
  3. This file is public domain and comes with NO WARRANTY of any kind

  1. MySQL daemon start/stop script.

  1. Usually this is put in /etc/init.d (at least on machines SYSV R4 based
  2. systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
  3. When this is done the mysql server will be started when the machine is
  4. started and shut down when the systems goes down.

  1. Comments to support chkconfig on RedHat? Linux
  2. chkconfig: 2345 90 20
  3. description: A very fast and reliable SQL database engine.


Eilutė: chkconfig: 2345 90 20 reiškia, kad įjungtas automatinis MySQL konfigūravimas su chkconfig. MySQL bus paleistas 2, 3, 4, ir 5 lygiuose, eilės numeriai 90 (paleidimui) ir 20 (sustabdymui).

Pavyzdys:

[root@julien root]# /sbin/chkconfig --add mysql



Tikrinimas:

[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Start 3:Start 4:Start 5:Start 6:Stop

[root@julien root]# ls -al /etc/rc3.d/S90mysql
lrwxr-xr-x 1 root root 15 fév 12 16:17 /etc/rc3.d/S90mysql -> ../init.d/mysql

[root@julien root]# ls -al /etc/rc0.d/K20mysql
lrwxr-xr-x 1 root root 15 fév 12 16:17 /etc/rc0.d/K20mysql -> ../init.d/mysql




  • Paslaugos trynimas

Kai paslauga įtraukiama į chkconfig, ji saugoma tol, kol egzistuoja paleidimo failas. Jį ištrinsite taip:

Pavyzdys:

[root@julien root]# /sbin/chkconfig --del mysql




Patikriname, ar viskas buvo ištrinta:

[root@julien root]# /sbin/chkconfig --list mysql
mysql 0:Stop 1:Stop 2:Stop 3:Stop 4:Stop 5:Stop 6:Stop

[root@julien root]# ls -al /etc/rc3.d/S90mysql
ls: /etc/rc3.d/S90mysql: No such file or directory