Kategori arşivi: Genel

Sistem Yöneticileri ve Adayları

Yaklaşık 20 yıldır Linux yöneten, son 3 yıldır kendi işinin sahibi olan ve bünyesinde 10 kadar personel çalıştıran biri olarak şunu söyleyebilirim ki gerçekten beyin göçüne şahit oldum/oluyorum. 3 yılda 10’dan fazla personel değiştirdim, içlerinde iyi olanları yanımda tutmaya çalışıyorum. Meraklı, özverili, çalışkan ve dürüst insanlara her zaman kapım açıktır. Bu süreçte bir düzineden fazla adam eskittim, özellikle yeni nesil çocuklardan bu özelliklere sahip olanları bulmak gerçekten zor.  Yetişmiş personel bulmak daha da zor. Şu an bilinen büyük kariyer sitelerinde ilanlarımız dönüyor. Başvuru sayıları çok az ve başvuranların içerisinde pazarlamacılar da var. Örneğin 5 yıl tecrübeli adam arıyorum, spesifik olarak Nginx, Gluster, LXC gibi konularda uzmanlık istiyorum, geçen sene mezun olan adam başvuruyor. Amacım kimseyi yermek değil, anlatmak istediğim gerçekten bu özelliklere sahip adamlar ya gittiler (Avrupa, Amerika vb.) ya da sayıları o kadar azaldı ki çalıştıkları yerlerde çok sıkı tutuluyorlar.

Uzun lafın kısası, görünen o ki çok yakında yetişmiş Linux Sistem Yöneticisi bulamayacağız. Bu durumu ön görüp bir kaç yıl önce bir proje ortaya atmıştım. LinuxEvi.. Bu projeyi canlandırmak istiyorum. LinuxEvi kapsamında, SR. Linux Admin, Linux Admin, Jr. Linux Admin insanları periyodik olarak bir araya toplayıp, eğitimler, söyleşiler yapılmasını planlıyorum. Bu amaçla ofisimizde 10 kişilik bir eğitim/toplantı alanı da ayarladık. Bunu canlıya geçirebilmek için desteğinize ihtiyacım var. Web sitesi, organizasyon, eğitim, fikir, plan, program vb her konuda desteğinize açığım.

Bu konu ile ilgilenen öncelikle mesleğin içinden adamlar, sonra bu konuda kendini geliştirmek isteyen arkadaşlar, tasarım, organizasyon gibi konularda destek olabilecek arkadaşlar lütfen benimle şahsi epostam üzerinden iletişim kurunuz.

fikridal (gmail)

Not: Hala 5 yıl tecrübeli tüm linux sistem yöneticilerine ihtiyacım var 🙂

Güncelleme:  Sizlerden gelen talepler doğrultusunda destek verenleri aşağıda paylaşıyorum.

Fikri Dal – Sr. Linux Sys Admin – Dal Bilgi Teknolojileri
Cihan Gedik – Sr. Oracle DB Admin – IBM
Noyan Selçuk Hancıoğlu – System Department Manager – Key Yazılım
Emin Can – Lead Cyber Security Specialist – TANAP
Şemsettin Aksoy – Linux Administrator – IBM
Ronald Zilkovski – Linux System Manager
Serkan Bingöl – MCT, MCSD – Türk Kızılayı
Cihat Erhan Kaba – Front-end Developer
Alican Tilki – Sr. System Administrator – Matriks Bilgi Dağıtım
Vahap Öç – System Administrator – Radore
Ekrem Sekman – Cloud Operations Manager – Bulutistan
Selçuk Fidan – Sr. System Administrator – Bulutistan
Ertuğrul Demirkaya – Software Specialist – Bilge Adam
Kenan Mutlu – System Administrator – Erstream
Fatih Aslan – System Administrator – Tubitak Bilgem
Kemalettin Yeşilkaya – System Administrator – Myra New Media
Cemre Gültekin – System Administrator – Radore
Onur Girgin – System Administrator – Gantek
Cihan Çulha – System Expert
Umurcan Görür – DevOps
Cem Kıyanç – Sr. System Administrator – Trendyol

 

 

 

mdraid kontrol, disk ekle, disk çıkart

Mdraid bana göre Linux’un bize sunduğu sayısız nimetlerden yalnızca biridir. Bugün kısa kısa mdraid için ipuçları vermeye çalışacağım. Genel olarak mdraid nasıl yapılır, nasıl kaldırılırdan ziyade sorun tespiti, müdahale gibi konular üzerinde durmak isterim.

Öncelikle mevcut mdraid durumumuzu görüntüleyelim;
[codesyntax lang=”bash”]
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdk1[0]
117153664 blocks super 1.2 [2/1] [U_]

md127 : active raid1 sdy[1] sdm[0]
499976384 blocks super 1.2 [2/2] [UU]

unused devices: <none>
[/codesyntax]
Görüldüğü üzere md0 raidimizde sorun var. Diyelim ki md0 bizim root ( / ) dizinimiz olsun. Bu durumda diğer diskte, FS’de, partitionda çıkabilecek bir sorunda işletim sistemimizi kaybedebiliriz. Hızlı bir şekilde duruma müdahale etmekte fayda var.

Benim md0 raidimde sdk1 ve sdl1 diskleri mevcut, anladığımda kadarıyla sdl diskinde hardwaresel bir sorun çıkmış ve işletim sistemi diski görmüyor. Senaryo dahilinde sdl diskini değiştirdim ve sıfır bir disk taktım. Henüz üzerinde partition dahi yok.

Öncelikle sdk1 ile eşit boyutta bir partition oluşturmalıyım, bunun için parted komutu işimi görecektir;
[codesyntax lang=”bash”]

parted /dev/sdl

[/codesyntax]
Partition’ın nasıl oluşturulduğuna burada değinmeyeceğim.

mdadm mdraid

Şimdi yukarıdaki uyarıya göre ikinci diski hiç görmediğimiz için herhangi bir şey yapmamıza gerek yok, direkt olarak yeni partitioni raide eklememiz yeterli olacaktır.
[codesyntax lang=”bash”]
# mdadm –manage /dev/md0 –add /dev/sdl1
[/codesyntax]
Bu komutla birlikte ilgili partition raide eklendi, şimdi sistem raide uygun şekilde eşlemeyi yapacaktır. Bunu görmek için de;
[codesyntax lang=”bash”]
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdl1[2] sdk1[0]
117153664 blocks super 1.2 [2/1] [U_]
[===>……………..] recovery = 17.8% (20913856/117153664) finish=7.9min speed=201149K/sec

md127 : active raid1 sdy[1] sdm[0]
499976384 blocks super 1.2 [2/2] [UU]

unused devices: <none>
[/codesyntax]

İlgili disk eşitleniyor. Eşitleme işlemi bittikten sonra md0 karşısındak, [U_] kısmı [UU] şeklinde düzelecektir.

Buraya kadar her şey güzel ancak şöyle senaryolar ile de karşılaşabilirdik;
– Bir disk fiziksel hata vermeye başlar ancak çalışmaya devam edebilirdi.
– Bir diskin ömrünün bitmek üzere olduğunu gördüp değiştirmemiz gerekebilirdi.
– Diski değiştirmemizi gerektiren farklı durumlar olabilirdi.

Bu durumlarda disk sistemde görünmeye devam edecek ve MDRAID hata vermeyecektir.

Böyle bir durumda yapılması gereken, öncelikle ilgili diski fail olarak işaretlemektir;(Örnek olarak sdl1 diskini alalım)

[codesyntax lang=”bash”]
mdadm –manage /dev/md0 –fail /dev/sdl1
[/codesyntax]

Şimdi görüntü şu şekilde olmalı;
[codesyntax lang=”bash”]
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdk1[0] sdl1[2](F)
24418688 blocks [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1]
24418688 blocks [2/2] [UU]

unused devices:
[/codesyntax]

Şimdi diskimizi silebiliriz;

[codesyntax lang=”bash”]
mdadm –manage /dev/md0 –remove /dev/sdl1
[/codesyntax]

Ve şu andan itibaren ilk başta anlattığımız konuyu uygulayabilirsiniz.

Esen kalın,
Fikri DAL

Türksat Kablonet Vasat Hizmet Vermeye Devam Edecektir!

Merhaba,

Bugün sizlere elimden geldiğinde neden Kablonet/Uydunet kullanmamanız gerektiğini anlatmaya çalışacağım. Bu sadece Kablonet/Uydunet için geçerli olmayıp müşterilerine bu şekilde davranan tüm kurumlar için geçerlidir. Büyük oldukları için müşteriyi ezme, aşağılama, umursamama hakkını kendinde gören bu kurumların hizmetlerini almaya devam ederek onları cesaretlendirmeye devam etmeyeceğim. Türksat Kablonet Vasat Hizmet Vermeye Devam Edecektir! yazısına devam et

Linux, Performans, Güvenlik ve Sistem Yöneticisi

Özet

Aşağıda okuyacağınız bilgileri herhangi bir kitapta bulamazsınız, herhangi bir yerde doğru veya yanlış olduğuna dair teyit edecek net bir kaynakla karşılaşamazsınız. Bunlar yıllar içinde edindiğim tecrübelerin basit bir şekilde yazıya dökülmüş ham halleridir. Burada yazılanları uygulayıp/uygulamamak tamamen sizin inisiyatifinizdedir.

Bir sunucudan yüksek performans sağlamasını istemek sıradan bir beklentidir. Ancak bu beklentimizi sağlaması için sunucuyu yeterince optimize ediyor muyuz? Benzer şekilde “Linux nasılsa güvenli” diye düşünerek sunucuyu savunmasız bırakmanın yüksek ihtimalle karşılacağımız felaketlere davetiye çıkartmak olduğunun bilincinde miyiz?.

Bu yazımda da komutlardan ziyade mantıksal konular üzerinde durup performans arttırımı ve güvenlik için bir bilinç oluşturmaya çalışacağım. Sunucudan verebileceği tam performansı veya ona yakın olasılıkları almak için neler yapmalıyız kısaca bunlara değineceğim. Linux, Performans, Güvenlik ve Sistem Yöneticisi yazısına devam et

Sistem Yöneticisi ve Hata Ayıklama Deneyimleri

Her sistem yöneticisinin başlıca yetilerinden biri olan “Hatayı Bulma, anlama ve düzeltme” yaptığımız işin en önemli kısımlarından biridir. Herkes bir konuda çok iyi seviyede bilgi sahibi olabilir ancak herkes her konuda ileri seviye bilgi sahibi olamaz. Ne demek istediğimi biraz daha detaylı anlatmaya çalışayım; zaten çok bilgili olduğumuz bir konuda muhtemel hataları ve sebepleri tahmin etmemiz mümkün olduğu için bu problemlerle karşılaşmadan önlemlerimizi alırız. Ancak hepimizin bildiği gibi verdikleri ilanlarda açıkça Voltran arayan firmalar olduğu sürece hepimizin bir çok konuya bölünmesi gerekiyor ve zaman zaman hiç bilmediğimiz deryalarda dahi kendimizi bulabiliyoruz. Böyle durumlarda karşılaştığımız problemleri çözebilmek için hepimizin sahip olması gereken skill kesinlikle az önce yazmış olduğum “Hatayı Bulma, anlama ve düzeltme” adımlarından ilk ikisidir.  Aslında bu üçlüyü “Hatayı bulmak ve ayıklamak” olarak iki parçaya ayırabiliriz, zira bir kez hatayı bulduğumuzda artık çözüm sürecine geçmiş oluruz ki yeterli imkan ile çözülemeyecek problem olmadığını düşünmekteyim.

Bu konuda interneti talan ettiğimizde bir çok methodun varlığından haberdar oluruz, kimileri uzun uzun bunları detaylandırır, kimileri kısa ve sonuç odaklı çözümler önerir, benim de kendimce uyguladığım adımlar mevcut, bunları paylaşmakta herhangi bir sıkıntı görmüyorum;

  1. Problemle karşılaşma

Problemin sonuçları ile karşılaşıncaya kadar problemden haberdar değilsek bu noktada bir hatamız olduğunu bilmeli ve bunu bir kenara ders niyetine yazmalıyız. Zira tecrübelerimizden ders almanın birçok konuda faydalı olduğu inancını taşıyorum. Problemi önceden tespit edebilmenin bazı methodları mevcut, örneğin monitoring araçları. Bu araçları ve raporlarını düzenli kontrol etmek olasık bottleneckleri ve gelebilecek sorunları erken görmemizi sağlar. Ben bunun için şu tooları kullanıyorum;

MuninZabbixMmonit, ek olarak son kullanıcıya verdiğiniz servisleri bir son kullanıcı gibi deneyimleyecek perl, python veya ne ile yazabiliyorsanız bir bot çok makbule geçer.

Problemin sonuçları ile karşılaştığımız andan itibaren olası etki alanını (etkilenen ve devamında etkilenebilecek servisleri, kullanıcıları vb.) belirlemeli ve bu doğrultuda aksiyon almalıyız.

2. Problemi anlama

Problemi anlamak için öncelikle güncel logları (işletim sistemine ait olan, servislere ait olan mümkünse IPMI üzerinden donanıma ait olan loglar) sonrasında ise geçmişe dönük logları incelemek, monitor toollarının grafiklerinden faydalanmak, linux için var olan diğer araçları kullanmak öncelikli hareketler olmalıdır. Etkilenen server, service vb. ürün/programları mümkünse production seviyesinden çıkartıp arka planda daha rahat hareket edebileceğimiz bir ortama taşımalıyız. Sorunun donanım, network veya program seviyesinde olup olmadığını anlamak yine önceliklerimiz arasında yer almalıdır. Örnek olarak; storage üzerinde I/O sorunu görüyor olabiliriz, muhtemelen disklerden bir veya fazlası arızalanmış olabilir öte yandan çalışan program alakasız bir şekilde I/O’u tüketiyor olabilir. Burada anlık çözüm yerine sorunun gerçek sebebini bulmanın ne kadar önemli olduğunu görebilirsiniz.

Bu adım için en çok kullandığım ürünler;

iotophtopatop, ntop, iftop, ethtool, free, df, dmesg ve diğer logları detaylı incelemek

3. Problemi tanımlama

Takip ettiğimiz log dosyaları, grafikler ve diğer araçlar bize o an ve geçmişte sistemimiz üzerinde neler olup bittiğine dair detaylı bilgiyi vereceklerdir. Bu noktada bir dedektif gibi çalışarak iplerin uçlarını birbirine doğru bağlamalı ve hataya sebep olan gerçek sebebi net bir şekilde tanımlayabilmeliyiz. Yoksa daha öncede söylediğim gibi restart ettim düzeldi cümlesi aynı sorunun ileride tekrarlayacağına ve belkide daha kötü sonuçlara yol açabileceğiniz unutmamalıyız.

Bu noktada kullandığım araçlar;

perf-tools

3. Problemin çözümü

Bu noktada artık çok konuşulacak birşey kalmıyor.

Yukarıda günlük hayatta sürekli kullandığım program ve komutları paylaştım, herhangi birine faydamız dokunursa ne mutlu.

Sevgiler,

Fikri DAL

Önemli Bilgilendirme

Herkese selamlar,

Uzun zamandır yazamıyor olmanın verdiği rahatsızlık ile ufak ufak birşeyler karalamaya yeniden başlamak istiyorum. Öncelikle isim değişikliğinden bahsedeceğim.

Neden domain değişti;

dinopsys.net ismi bu yoğun ve ilgisiz dönemimde düşürdüğüm bir domain olarak tarih oldu. dinopsys kelimesini tam olarak ben uydurmuştum, daha önce herhangi bir dilde olmadığını bilerek bunu yapmıştım fakat son zamanlarda moda olmuş anladığım kadarıyla com net tüm domainlerim alınmış, sağlık olsun 🙂

Eski datayı neden bu siteye taşıdım;

Taşıdım çünkü farkettimki gerek benim gerek bir çok arkadaşımın bu yazılarda emekleri var. Hepsini silip atmak istemedim. Bu sebeple eski datayı bu siteye import ettim.

Ne yapacağım;

Bundan sonra kişisel blog adresim olarak bu dataların üzerine kendi ismimle birşeyler koymaya çalışacağım. Daha önceki amacım birilerine yardım etmekti. Şimdiki önceliğim ise (geriye dönüp datalara baktığımda kendi evrimimi gördüm) kendime ait bir blog oluşturmak ve öncelikle kendim için yazmak. Malum hafıza zayıf kolay unutuyorum 🙂

Herkese sevgiler.

Hazırlanan Yazılar ve Haberler

Debian 6 Squeeze Kurulumu ve Temel Ayarları

Debian 6 Squeeze Postfix, Dovecot, Apache2, Round Cube Kurulumu

Debian 6 PureFtp Kurulumu

Debian 6 Fail2Ban Kurulumu

Mikrotik Noktadan Noktaya Wireless Bağlantısı

Mikrotik Indoor Wireless Uygulamaları

Icewarp 10.x ve Plesk 10.x

Ayrica yeni kategori olarak Icewarp kategorisini ekledim.

Yeniden yazmaya nihayet basliyorum.

Kaldığımız Yerden Devam

Arkadaslar,

uzun suredir siteyle pek ilgilenemedim. Oncelikle is yogunlugu, kisisel yogunluk vs. gibi sebepler buna engel oldu. Bu aralar hazir kriz sebebiyle isler azalmisken kaldigimiz yerden devam edelim. Az once wp’ yi son stable surume guncelledim. Bugun yarin sitenin eksiklerini giderip upgrade edilmesi gereken pluginleri yukseltecegim. Pazartesi itibariyle yeni yazilarla kaldigimiz yerden devam ediyoruz. Isleyisi biraz degistirip isteklerinize gore yazilarda yazacagim. Bu yuzden yorumlarda isteklerinizi belirtmekten cekinmeyin.