[LinuxFocus-icon]
Ev  |  Eri�imd�zeni  |  ��indekiler  |  Arama

Duyumlar | Belgelikler | Ba�lant�lar | LF Nedir
Bu makalenin farkl� dillerde bulundu�u adresler: English  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
taraf�ndan Guido Socher (homepage)

Yazar hakk�nda:

Guido, L�nux'u sadece i�letim sistemlerinin nas�l �al��t���n� ��renmenin ilgin� oldu�u i�in de�il, ayn� zamanda onu tasarlayan ki�iler y�z�nden sevmektedir.



T�rk�e'ye �eviri:
Erdal MUTLU <erdal(at)linuxfocus.org>

��erik:

 

Donan�msal watchdog ve bilgisayar� kapatma tu�u

[Illustration]

�zet:

Linux sunucunuz i�in LCD denetim paneli yaz�s�nda, bir�ok olas�l�klara sahip mikroi�lemci tabanl� k���k bir LCD denetim paneli nas�l olu�turulaca�� anlat�lm��t�r. Bu yaz�da tasarlad���m�z donan�m �ok daha ucuz (LCD dpaneli i�in zaten anla�m��t�k.) ve LCD panelinin ancak 2 �zelli�ini kullanmaktad�r:

Donan�m sadece yayg�n kullan�lan par�alardan olu�maktad�r. Bunlar� elde etmede sorun ya�amayacaks�n�z. T�m par�alar yakla��k 5 Euro tutacakt�r.

 

watchdog nedir?

Bilgisayar terimi olarak watchdog (bek�i k�pe�i), bilgisayar�n �al��t���n� garanti eden �ok g�venilir (sa�lam) bir donan�md�r. Bu t�r ayg�tlar� Mars PathFinder'�n (Bir tu�a basmak i�in Mars'a kim adam g�ndermek isteyebilir?) ayg�tlar� aras�nda veya baz� pahal� sunucularda bulabilirsiniz.

B�yle bir watchdog yap�lmas�n�n ard�ndaki d���nce �ok basittir: Bilgisayar zaman zaman watchdog ayg�t�na "Merhaba" demesi gerekiyor ki bilgisayar�n hala hayatta oldu�u anla��ls�n. E�er, bunu yapamazsa, o zaman bilgisayar donan�msal olarak yeniden ba�lat�lacakt�r.

Bir Linux sunucusu kesintiye u�ramadan normalde birka� ay �al��mas� gerekmektedir, ortalama 1-2 sene. E�er, hafta t�kanan bir makinaya sahipseniz, hatal� olan ba�ka bir �ey olmal�d�r ve bu durumda watchdog size ��z�m olmayacakt�r. RAM'n�z�n (memtest86.com bak�n�z) hatal� olup olmad���na, a��r� �snm�� i�lemciler(e) sahip olup olmad���n�za, fazla uzun IDE kablolar�na vs. bakman�z gerekmektedir.

E�er Linux, bir y�l boyunca hi� sorun yaratmadan �al��acak kadar sa�lam ise, o zaman watchdog'a neden gereksinim duyars�n�z? Sorunun cevab�da basit: daha sa�lam yapmak i�in. Ayr�ca, buna insan fakt�r�n� de eklemek gerek. Bir y�l boyunca hi�bir sorun ��kartmam�� bir sunucu, servis personeli taraf�ndan da unutulmaktad�r. E�er, sunucu ar�za yaparsa, hi� kimse sunucunun nerede oldu�unu bilmeyecektir. Bir de tam y�lba�� �ncesi, herkes tatilde iken ar�za yapabilir. T�m bu durumlarda watchdog �ok faydal� olabilir.

Di�er taraftan, watchdog t�m sorunlar� ��zmemektedir. Hatal� donan�ma kar�� yapabilece�i bir �eyi yoktur. E�er, sunucunuza watchdog tak�yorsan�z, sunucunuzun donan�msal olarak uygun bir �ekilde yap�land�rman�z gerekmektedir (�e�itli hatalar� olan en yeni �ip ve BIOS'lar� kullanmamal�z�n�z ve donan�m�n d�zg�n olarak so�utulmas�n� sa�lamal�s�n�z.).  

Watchdog nas�l kullan�labilir?

Burada tasarlam�� oldu�umuz watchdog, sadece kullan�c� seviyesinde �al��an programlar�n �al��t���n� garanti etmektedir. Ger�ekte sa�lam bir sisteme sahip olabilmek i�in, �al��an uygulamalar� (sanaldoku sunucular�, veritaban� sunucular�) ve sistem kaynaklar�n� (disk alanlar�n�, belkide i�lemci s�cakl�k derecelerini) s�rekli olarak g�zlemlemelisiniz. Bu i�lemleri kullan�c� seviyesinde �al��an di�er programlar ile denetleyebilirsiniz (crontab). T�m bunlar Linux sunucunuz ���n LCD denetim paneli yaz�s�nda anlat�ld�. Dolay�s�yla bu konuda daha fazla ayr�nt�ya girmeyece�im.

�rnekler mi? Bu k���k kabuk program� ile a�, swap ve disk kullan�m�n� g�zleyebilirsiniz.


#!/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
export PATH
#
# Diskin izlenmesi
# ----------------
# Disk b�lmelerinin %80 ve daha fazla dolu olup olmad���na bak.
# (E�er bu kabuk program� herhangi bir ��kt� olu�turursa, crontab # otomatik olarak e-ileti g�nderecektir.)
df | egrep ' (8.%|9.%|100%) '
#
# Swap alan�n�n izlenmesi
# Normalde bir sunucu swap yapmayacak �ekilde yap�land�r�lm�� olmas� # gerekmektedir. Dolay�s�yla swap alan� sabit ve s�n�rl� olmal�d�r.
# ----------------
# 6 Mb'den fazla swap kullan�l�p kullan�lmad���na bak.
swpfree=`free | awk '/Swap:/{ print $3 }'`
if expr $swpfree \> 6000 > /dev/null ; then
    echo "$0 uyar�! �u andaki swap kullan�m� $swpfree"
    echo " "
    free
    echo " "
    ps auxw
fi
#
# A��n izlenmesi
# -------------------
# kendi IP adresi veya bilgisayar ad�:
hostn="linuxbox.your.supercomputer"
#
if ping -w 5 -qn -c 1 $hostn > /dev/null ; then
    # tamam bilgisayar �al���yor
    echo "0" > /etc/pingfail
else
    # cevap yok ping'ten gelen hata say�s�n� bul
    if [ -r /etc/pingfail ]; then
        pingfail=`cat /etc/pingfail`
    else
        # pingfail dosyas�n�n olmad��� durumu
        # de�erlendirmiyoruz
        exit 0
    fi
    pingfail=`expr "$pingfail" "+" 1`
    echo "$pingfail kadar ping hatas� olu�tu"
    echo "$pingfail" > /etc/pingfail
    if [ $pingfail -gt 10 ]; then
        echo "10'dan fazla ping hatas�. Sistem yeniden ba�lat�l�yor..."
        /sbin/shutdown -t2 -r now
    fi
fi
# --- izleme kabuk program�n�n sonu ---

Bunu her 15 dakikada bir �al��acak �ekilde crontab'a aia��daki gibi giri� yap�labilir:

1,15,30,45 * * * * /where/the/script/is

 

Watchdog donan�m�

Standart bir r�le yoktur. Her �reticinin kendi tasar�m� var. Bizim devre i�in trafonun i� direnci �ok �nemlidir. A�a��da, biri 5V, 500 Ohm di�eri de 5V, 120 ohm olan iki r�le vard�r. R�le sat�n almadan �nce ya empedans� sorun ya da kendiniz ohmmetre ile �l��n�z. �izim �zerine basarsan�z, �imin b�y�t�lm�� halini g�receksiniz.
120 Ohm r�lesi:
[120 Ohm relay]
500 Ohm r�lesi:
[500 Ohm relay]

Kapatma tu�u, bas�ld���nda RTS ve CD aras�nda ba�lant� sa�lamaktad�r. Eagle program�nda ba�ka sembol olmad��� i�in �izimde biraz tuhaf g�z�kmektedir.

Bu yaz�da devrede kullan�lan par�alar�n listesini vermiyorum. Yukar�daki �emadan nelere gereksiniminiz oldu�unu kendiniz de g�rebilireiniz (Seri hat i�in DB9 fi�ini unutmay�n.) Diyotlar i�in 1N4148 gibi istedi�inizi kullanabilirsiniz. Ki�isel olarak ben, 500 Ohm'luk devrenin daha iyi oldu�unu d���nmekteyim, ��nk� o zaman R4 direncine ve 2000uF (veya or 2200uF) C1 i�in daha k���k 1000uF kapasit�r kullanabilirsiniz.

Not: 120 Ohm'luk devre i�in k�rm�z� LED, 500 Ohm'luk devre i�in ise, ye�il LED kullanman�z gerekmektedir. Bu bir �aka de�ildir. Ye�il LED �zerine gelen gerilim ile k�rm�z� LED'in �zerine gelen gerilimden daha fazlad�r.
Devre d�zeni, bask� devre i�in gerekli olan eagle ve postscript dosyalr� yaz�n�n sonundaki yaz�l�m paketinden �ekebilirsiniz. Linux i�in eagle CAD yaz�l�m�n� cadsoftusa.com adresinden elde edebilirsiniz.  

Devre nas�l �al��maktad�r?

Watchdog devresi NE555 zamanlay�c� �ipi �evresinde olu�turulmu�tur. Bu �ip iki adet kar��la�t�r�c�, Flipflop ve 3 adet 5K Ohm'luk herbiri kar��la�t�r�c�ya referams olacak �ekilde diren�ten olu�maktad�r. Ne zaman ki threshold (6) baca��ndaki gerilim besleme gerilimin 2/3 ula��rsa, o zamn Flipflop a��k duruma getirilmektedir.
[ne555]
�imdi devrenin �emas�na bir bak�n�z: seri hatt�n RTS baca�� besleme gerelimi olarak kullan�lmaktad�r. RS232 seri hatt� aray�z�ndeki gerilim +/- 10V d�r. Dolay�s�yla, C1 kapasit�r� �n�ne bir diyota gereksiniminiz vard�r. C1 kapasit�r� �ok �abuk �arj olmaktad�r ve enerjisi r�leyi a�ma an�nda gerekli enerjiyi sa�lamaktad�r. C2 kapasit�r� ise, 4.7M diren� �zerinde �ok yava� olarak �arj olmaktad�r. T1 transist�r� C2 kapasit�r�, RS232 DTR baca�� �zerinden gelen k�sa pulse sonras�nda de�arj etmektedir. E�er, pulse lar gelmiyorsa (belkide bilgisayar t�kanm��t�r) o zaman C2 transformat�r� belli bir zaman sonras�nda (yakla��k 40 saniye) besleme geriliminin 2/3'� kadar �arj olacakt�r ve Flipflop'u a�acakt�r.

C1 kapasit�r�, R2 direnci, LED ve r�le �yle ayarlanmal�d�r ki, C1'den gelen enerji r�lenin s�rekli a��k olmas�na yetmemektedir. Bize gerekli olan "reset tu�unun" birka� saniye s�reyle bas�l� tutacak kadar enerjinin C1 taraf�ndan r�leye sa�lamas�d�r.

LED, sunucu tekrar a��lana kadar yanacakt�r.

�emadan g�r�ld��� �zere CD baca��na ba�l� bir sistemi kapatma tu�u da vard�r. E�er, bu tu�u k�sa s�re (15 saniye) ile basal� tutarsan�z, yaz�l�m "shutdown -h now" komutunu �al��t�racakt�r ve sunucuz kapat�lacakt�r. Bu normal kullan�m i�in tasarlanm��t�r ve watchdog ile ilgisi yoktur.  

S�r�c� yaz�l�m�

S�r�c� yaz�l�m�, /etc/init.d/ a��l�� programlar� taraf�ndan �al��t�r�labilec k���k bir C program�ndan olu�maktad�r. S�rekli olarak RS232'nin RTS baca��n� a�acakt�r ve ondan sonra her 12 saniyede bir DTR'e pulse lar g�nderecektir (Watchdogun zaman a��m� 40 saniyedir.). E�er, bilgisayar� normal olarak kapat�rsan�z, program RTS kapatacak ve son bir kez DTR'a pulse verecektir. Bunu etkisi ise, zaman a��m�na u�ramadan C1 de�arj olmu� olacakt�r. Dolay�s�yla watchdog normal kullan�mlarda devreye girmeyecektir. Yaz�l�m� y�klemek i�in sayfas�ndan linuxwd-0.3.tar.gz paketini a��n�z ve
make
ile derleyiniz. Olu�an linuxwd dosyas�n� /usr/sbin dizinine kopyalay�n�z. RedHat/Mandrake i�in olan linuxwd_rc dosyas�nda, herhangi ba�ka Linux sistemi i�in olan linuxwd_rc_anydist dosyas�nda, donan�m� ba�layaca��n�z seri (ttyS1=COM2 or ttyS0=COM1) hatta g�re, de�i�iklik yap�n�z. Daha sonra a��l�� betik program�n�
/etc/rc3.d/S21linuxwd
ve
/etc/rc5.d/S21linuxwd
olarak kopyalay�n�z. ��te bu kadar.  

Test

Her�eyi bitirdikten sonra, devreyi bilgisayara ba�lamadan �nce test etmeniz gerekmektdedir. Daha sonralar� seri hatt�n RTS baca��na ba�lanacak olarak ucu 9-10V do�ru ak�m g��kayna��na ba�lay�n�z ve 40-50 saniye bekleyiniz. R�le devreye girdi�inde bir klik sesi duyacaks�n�z ve LED yanacakt�r. R�le s�rekli olarak a��k kalmamal�d�r. LED ise, daha sonralar� seri hatt�n DTR +10V baca��na ba�lanana kadar yan�yor olmas� gerekecktir.
Bu �ekilde �al��t���ndan emin oldu�unuzda, devreyi bilgisayara ba�layabilirsiniz. linuxwd program�n�n test �al��ma seviyesi vard�r ki, belli bir s�re birka� ��kt�dan sonra ve belli bir s�re sonra DTR baca��na, bilgisayar�n t�kanmas�n� taklit edecek �ekilde pulse g�ndermeyi kesmektedir. E�er, devrenizi COM2'ye (/dev/ttyS0) ba�lad�ysan�z, test i�in a�a��daki komutu �al��t�r�n�z:

linuxwd -t /dev/ttyS0

 

Donan�m�n kurulmas�

RS232 aray�z�n�n a�a��daki gibi bacak yap�s� vard�r:
9 PIN D-SUB MALE

Bilgisayardaki ERKEK 9 PIN D-SUB.

9 bacakl� fi� 25 bacakl� fi� �sim Y�n A��klama
1 8 CD giri� Carrier Detect (Ta��c�y� alg�lamas�)
2 3 RXD giri� Receive Data (Veriyi al)
3 2 TXD ��k�� Transmit Data (Veriyi aktar)
4 20 DTR ��k�� Data Terminal Ready (Veri terminali haz�r)
5 7 GND -- System Ground (Sistem topraklamas�)
6 6 DSR giri� Data Set Ready (Veri haz�r)
7 4 RTS ��k�� Request to Send (G�nderme istemi)
8 5 CTS giri� Clear to Send (G�ndermeye a��k)
9 22 RI giri� Ring Indicator(Zil alg�lay�c�s�)

Devreyi RS232'ye ba�lamak kolay olmal�d�r. CPU reset (yeniden ba�lat) hat�n� ba�lamak i�in bilgisayar�n�z reset tu�una giden kablolara paralel olarak reset tu�unun kablolar�n� ba�laman�z gerekmektedir. R�leden gelen kablolar� da reset tu�una paralel ba�lay�n�z.
 

Sonu�

Tabii ki watchdog kullan�m� sisteminizi %100 sa�lam (g�venilir) yapmayacakt�r, ancak kullanmakla g�venli�e bir seviye da g�venlik eklemi� olcaks�n�z. Donan�msal olarak bilgisayar�n�z yeniden ba�lat�ld�ktan sonra dosya sistemin denetlenmesi sorun yaratabilir. Bu durumda yeni journal dosya sistemlerini kullanabilirsiniz, ancak ben onlar� hen�z denemedim. Burada g�sterilen watchdog hem ucuz, hem ticari olanlar� kadar iyi ve hem de o kadar da karma��k de�ildir.  

Referanslar

 

Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz

Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
 talkback page 

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Guido Socher, FDL
LinuxFocus.org

Buray� klikleyerek hatalar� rapor edebilir ya da yorumlar�n�z� LinuxFocus'a g�nderebilirsiniz
�eviri bilgisi:
en --> -- : Guido Socher (homepage)
en --> tr: Erdal MUTLU <erdal(at)linuxfocus.org>

2002-08-02, generated by lfparser version 2.27