qmail-channels patch: Giden Postalar için Domain Bazlı Hız Limiti
Bülten, duyuru ya da marketing gönderileri için mailer olarak kullanılan qmail posta sunucularında domain bazlı hız limiti tanımlayabilmek total gönderim hızını efektif olarak kullanmak için gerekli yöntemlerden birisidir. Bildiğiniz üzere Hotmail ve Yahoo gibi büyük e-posta sağlayıcıları, kendilerine gönderilebilecek postalar için hız ve adet bazında filtreleme yapmaktadır. Örnek olarak (özellikle) Yahoo ya da Hotmail, size ait IP’ler için (çeşitli hesaplama yöntemleri kullanarak) belirledikleri limitten daha hızlı bir şekilde gönderim yapmanız halinde gönderdiğiniz postaları belirli bir süreliğine redderek bir nevi gri liste uygulamasında bulunurlar. Böylece sizin için tanımlanan eşiğin üzerine çıkmanızı engelleyerek sistem kaynaklarını tüketmenize engel olurlar.
Böyle bir durum, size limit uygulayan domainler dışında kalan yerlere gidecek maillerin de gecikmesine ve total gönderimin yavaşlamasına neden olur. Çünkü bu tip mailler gönderilemiyor olsalar da qmail kuyruğunda beklemekte ve her bir gönderim denemesi için kendilerine bir thread (dolayısı ile kaynak) ayırılmaktadır.
Bu problemi ortadan kaldırmak üzere qmail-channels isimli güzel bir patch bulunuyor. Bu yama ile qmail’e farklı domainler için farklı kuyruk’lar (queue) ekleyebiliyor ve her bir kuyruk için farklı concurrency değeri (eş zamanlı gönderim adedi) belirleyebiliyorsunuz. Yazının devamında, qmail-channels yamasının bir qmail sunucusuna (netqmail-1.06) geçilmesinden ve belirli domainler için yapılandırılmasından bahsedeceğim.
Yazinin devami icin tiklayin.
Monit ile Sistem Monitoring – Kurulum ve Yapılandırma
Normalde ağdaki sunucu ve cihazları monitör etmek için nagios kullanıyorum. Hatta Nagios kurulumu ve yapılandırması ile ilgili buradan erişebileceğiniz bir de döküman yayınlamıştım. Şimdi ise monit isimli bir başka kullanışlı sistem monitoring yazılımından bahsetmek istiyorum. Zira kendisi de epey yetenekli. |
Özellikle bir ya da bir kaç sunucudan oluşan, nispeten küçük ağların monitor edilmesi için iyi bir tercih olabilecek olan monit, *nix sistemlerde cpu, memory, swap, disk kullanımlarının takibi gibi klasik monitoring ihtiyaçlarının yanı sıra, süreçlerin takip edilmesi, monitor edilen sürecin durması durumunda yeniden başlatabilme (ya da herhangi bir komutu/scripti çalıştırabilme) gibi yeteneklere sahiptir. Ayrıca, dosya ve dizinleri (size, timestamp, checksum vs. gibi) değişikliklere karşı takip edip, değişimleri raporlayabilmektedir. Uzak sistemler için de ping ya da TCP/IP port bağlantı testleri ile nispi monitoring imkanı sunabilmektedir. Yönetim işlemleri için güzel bir web arayüzü sunan monit, kurulum ve yapılandırma açısından da son derece basittir.
İlerleyen bölümlerde, kurulum ve yapılandırma örnekleri ile ilgili bilgiler bulabilirsiniz.
qmail Kurulum Scripti v0.2 – CentOS 5.4
UPDATE: Scriptin CentOS 6.x sürümünü yayınladım. Bkz: http://www.syslogs.org/qmail-kurulum-scripti-centos6x/
Bundan iki sene önce, temel bileşenleri ile hızlıca qmail kurulumu yapabilmek için küçük bir shell scripti hazırlamış ve burada yayınlamıştım. Şimdi de o scriptin eli yüzü biraz daha düzgün ikinci versiyonunu hazırladım.
Eğer, CentOS5 üzerinde gateway, smarthost ya da mailer olarak çalışacak LWQ önergelerine göre yapılandırılmış bir qmail’e ihtiyacınız bulunuyorsa scripti aşağıdaki linkten indirip kurulumu kolayca yapabilirsiniz.
Extra Packages for Enterprise Linux (EPEL) Yum Repository
Genelde RHEL ya da CentOS sistemlerde Yum’a Rpmforge reposunu da ekliyorum. Bu repository’de şu an için 10.335 adet paket bulunduğundan ötürü hemen hemen tüm paket ihtiyaçlarımı karşılıyor.
Ancak geçenlerde kurmak istediğim bir paketi bahsettiğim depoda bulamadım ve nette ilgili uygulamanın RPM dosyasını araştırırken yolum EPEL’e (Extra Packages for Enterprise Linux) çıktı. Daha önce bir kaç kez ismini duymuş olsam da nedir ne değildir diye hiç incelememiştim.
Fedora çatısı altında, gönüllüler tarafından sürdürülen ve RHEL/CentOS gibi sistemler için kapsamlı bir paket deposu projesi olan EPEL an itibari ile toplamda 4,851 paket sunuyor. Yani sisteminize EPEL’i de eklerseniz rpmforge ile yaklaşık 15bin adet kurulabilir pakete erişebiliyorsunuz.
EPEL’i sisteme yum depo’su olarak tanıtmak için http://fedoraproject.org/wiki/EPEL adresinden edinebileceğiniz RPM dosyasını kurmanız yeterli.
Örnek olarak CentOS 5.5 (32bit) için kurulum şu şekilde:
Rsync ile Senkronizasyon ve Incremental Backup İşlemleri
Rsync, *nix sistemlerde oldukça sık kullanılan güzel bir dosya transfer uygulamasıdır. Yedekleme ya da senkronizasyon işlemlerinde sadece değişen dosyaların (incremental) kopyalanmasını sağlayarak işlemleri hızlandırmayı amaçlamaktadır. Rsync ile lokal yedekleme yapılabildiği gibi uzaktaki bir sisteme ssh üzerinden kopyalama yapabilmek de mümkündür. |
Özellikle, bir çok dosya barındıran büyük dizinlerin hızlıca yedeklenme ihtiyacı gibi durumlar için ideal olan rsync, web sunucularda, kök dizinlerin birden fazla sistemde senkronize olarak tutulması (yansılama) gibi işlemler için sıklıkla kullanılmaktadır. Daha önce, rsync kullanan rsnapshot isimli bir yedekleme çözümüne değinmiştim, şimdi de rsync’in kendisinden bahsetmek istiyorum.
Yazinin devami icin tiklayin.
Linux Sistemlerde FTP Dizinlerinin Mount Edilmesi
Nix sistemlerde, herhangi bir ftp sunucusundaki alana direk erişim için dosya sistemi desteği sunan bir kaç paket mevcut. Bunlardan birisi de, bu yazıda kullanımından bahsedeceğim curl ve fuse tabanlı ftp dosya sistemi olan CurlFtpFS’dir.
Bir ftp alanını sisteme mount etmek, ilgili alana herhangi bir ftp istemcisi kullanmaksızın süratlice erişme imkanı sağlamasından ötürü işleri hızlandıran güzel bir yöntemdir. İşte bu nedenle, yazının devamında CurlFtpFs kullanarak, ftp alanlarını, sabit diskmiş gibi sisteme mount etmek ve sistem açılışlarında otomatik olarak yeniden mount edilmesinden bahsedeceğim. |
Rsnapshot ile Uzak Linux Hostların Backuplarını Almak
Sunucularınızın network üzerinden düzenli backuplarını almak istemeniz durumunda tercih edebileceğiniz bir çok yazılım bulunuyor. Bu tip uygulamalardan birisi de rsnapshot isimli uygulamadır. Perl ile yazılmış ve lokal ya da uzaktaki sistemlerin snapshot backuplarını almaya yarayan rsnapshot, rsync kullanıyor. Yani aslında rsnapshot’ın yaptığı herşeyi aslında rsync ile yapmak mümkün, fakat rsnapshot kullanım kolaylığı sağladığı için faydalı bir araçtır.
Bu yazıda, FreeBSD ve GNU/Linux sistemler için rsnapshot kurulumu, yapılandırması ve kullanımından bahsetmek istiyorum.
Ezjail Flavours ile Öntanımlı Jail Sistemler Oluşturmak
Bildiğiniz gibi bir FreeBSD üzerinde, kendisine ait ayrı ip ve alan adı bulunan mini FreeBSD’ler (jailler) oluşturabiliyor ve her bir jail’e farklı sunucu uygulamaları (web, dns, smtp, ftp vs. vs.) yükleyebiliyorsunuz ve bu mini FreeBSD sistemler üzerinde çalışan uygulamalara ait süreçler diğer jaillerdeki süreçlerden yalıtılmış olduğu için de hat safhada güvenlik sağlıyorlar. Daha önce kurulumuna FreeBSD Jail Kurulumu – Güvenli Network Servisleri başlıklı yazımda değindiğim Jail özelliği hem efektif sanal sunucular oluşturmak hem de sistem servislerinin güvenliğini sağlamak için oldukça kullanışlı buluyorum. |
Bu yazıda ise, ezjail isimli jail yönetim çatısının (jail administration framework) flavours özelliğini kullanarak, üzerine gerek duyulan tüm paketlerin yüklenmiş olduğu hazır jail sistemler oluşturmaktan bahsetmek istiyorum.