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
�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:
- Sunucuyu kapatmaya yarayan bir tu�
- Sunucuyu denetleyecek bir watchdog
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:
500 Ohm r�lesi:
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.
�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:
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.
2002-08-02, generated by lfparser version 2.27