Linux

Network File System (NFS)

NFS  (Network  File  System),  1984  yılında  Sun  Microsystems  tarafından  geliştirilmişbir protokoldür. Uzaktaki makine üzerinde bulunan dosya sistem(lerin)i, farklı bir işletim sistemine  bağlayabilmeniz  (mount)  için  geliştirilmiştir.  Ve  bunu  yaparken,  kullanıcının sanki yerel bir dosya sistemi üzerindeymiş gibi çalışmasını sağlar.

TCP / IP’nin evriminin başlarında, kullanıcının ağ üzerinden başka bir makineye erişmesine izin vermek için bazı araçlar oluşturulmuştu. Telnet gibi remote access protocols (uzaktan erişim protolleri), kullanıcının başka bir bilgisayarda oturum açmasına ve buradaki kaynakları kullanmasına izin verdi. File Transfer Protocol  (FTP), birinin uzak bir makineden bir dosyayı kendi dosyasına kopyalamasına ve düzenlemesine izin verdi.

Ancak, bu çözümlerin hiçbiri, bir kullanıcının uzak bir makinedeki bir dosyaya, yerel bir dosyanın kullanıldığına benzer bir şekilde erişmesine izin verme kurallarına uymuyordu. Sun bu ihtiyacı karşılamak için Network File System (Ağ Dosya Sistemi)’i (NFS) yarattı. NFS, yerel ve uzak bir dosya arasındaki ayrımı ortadan kaldırmak amacıyla özel olarak tasarlanmıştır. Bir kullanıcı için, uygun kurulum yapıldıktan sonra, uzak bilgisayardaki bir dosya, kullanıcının yerel bilgisayarındaki bir sabit disk üzerindeymiş gibi kullanılabilir. Sun ayrıca, hem Sun tarafından hem de diğer şirketler tarafından yapılan donanımların birlikte çalışabilmesini sağlamak için NFS’yi özellikle satıcıdan/üreticiden bağımsız olacak şekilde üretti.

NFS, klasik TCP / IP client/server modelini izler. Bir sabit disk veya belirli bir bilgisayarın depolama aygıtındaki dizin, yönetici tarafından paylaşılan bir kaynak olarak ayarlanabilir. Bu kaynağa daha sonra paylaşılan sürücü(shared drive) veya directory denir ve client makinede yerel bir dizin gibi görünmesini sağlayarak bilgisayarlardan erişilebiliriz.

NFS, çalışmasını tanımlayan üç ana bileşen içeren bir mimari kullanır. External Data Representation (XDR) standardı, verilerin client ve server arasındaki değişimlerde nasıl temsil edildiğini tanımlar. Remote Procedure Call (RPC) protokolü, uzak makinelerde procedure çağırma yöntemi olarak kullanılır. Ardından, bir dizi NFS prosedürü ve işlemi çeşitli istekleri yerine getirmek için RPC kullanarak çalışır. Mount protokolü, kaynakları yukarıda belirtildiği gibi bağlamak için kullanılır.

NFS’nin en önemli tasarım hedeflerinden biri performanstı. Açıkçası, uzaktaki bir makineye yerelmiş gibi bir dosya ayarlasanız bile, gerçek okuma ve yazma işlemleri bir ağ üzerinde ilerlemek zorunda. Genellikle bu sadece bir bilgisayar içerisine veri göndermekten daha fazla zaman alır, bu yüzden protokolün kendisinin mümkün olduğunca “yalın ve ortalama” olması gerekiyordu. Bu karar, çoğu dosya aktarım protokolünün yaptığı gibi güvenilir TCP yerine TCP / IP’de aktarım için güvenilir olmayan User Datagram Protocol’nün (UDP) kullanılması gibi bazı ilginç kararlara yol açmıştır. Bu da protokolün bir bütün olarak nasıl çalıştığı üzerinde ilginç sonuçlara sahiptir.

NFS için bir diğer önemli tasarım amacı basitti (elbette performansla ilgili). NFS sunucularının durumsuz olduğu söyleniyor, bu protokolün hangi sunucuların hangi clientler tarafından hangi dosyaların açıldığını takip etmesine gerek kalmayacak şekilde tasarlandığı anlamına geliyor. Bu, isteklerin birbirinden bağımsız olarak yapılmasına izin verir ve bir sunucunun karmaşık kurtarma prosedürlerine ihtiyaç duymadan çökmeler gibi olaylarla incelikle başa çıkmasını sağlar. Protokol ayrıca, isteklerin kaybolması veya çoğaltılması durumunda dosya bozulması yaşanmayacak şekilde tasarlanmıştır.
(continue reading…)

2,008 total views, no views today


systemctl

systemd, Linux için bir sistem ve servis yöneticisidir ve SystemV ve Upstart’ın yerini almaktadır. systemd, servis yapılandırmasını ve davranışını Linux dağıtımları arasında birleştirmeyi amaçlar.
Systemd’nin amacı; bilgisayardaki sistem ve servislerin çalışmasını organize etmektir. Yani modern linux işletim sisteminde başlama (startup) ve sunucu (server) proseslerini yöneten sistem olarak systemd sistem kaynaklarının, arkaplan (daemon) ve diğer süreçlerin (process) etkinleştirilmesi için bir mekanizma sağlar. Bu yönetimi, systemctl, journalctl, notify, analyze, cgls, cgtop, loginctl ve nspawn olarak adlandırılan araçlar sayesinde gerçekleştirir.

Arkaplan süreçleri (daemons) adından da anlaşılabileceği gibi başlatıldıklarında görevlerini yürütmek üzere arka planda bekler veya çalışırlar. Bu süreçler tipik olarak işletim sistemi yüklenirken (boot) başlatılırlar ve sistem kapatılana ya da manuel olarak durdurulana kadar arkaplanda (background) çalışmayı sürdürürler. Genel bir ilke olarak arkaplan süreç adları genellikle d harfi ile sonlanır (sshd – ssd deamon gibi).

Systemd ortamında aşağıdaki kavramlar yaygın olarak kullanılır:
• Daemon: başlatıldıklarında görevlerini yürütmek üzere arka planda bekleyen veya çalışan süreçler.
• Socket: Bağlantıları dinlemek için arkaplan süreçleri tarafından kullanılır. Yerel ve uzak istemciler için ana iletişim kanalıdır. Süreçler tarafından yaratılırlar.
• Service: Genellikle bir ya da daha çok sayıda arkapan sürecine işaret eder Servisi başlatma/durdurma işlemi genellikle sistem durumunda (state) kalıcı bir değişikliğe neden olur.

Eskiden init dediğmiz ve işletim sistemi kernel yüklemesinden sonra çalışan ve PID (Process ID) 1 olan süreçlerle yönetilmekte idi. Çekirdek kendini başlattığı (belleğe yüklendiği, çalışmaya başladığı ve aygıt dosyaları, veri yapıları ve benzeri şeyleri başlattığı zaman) ve kullanıcı seviyeli bir program olan initsürecini başlattığında, kendi üstüne düşen açılış işlemlerini bitirmiş olur. Bundan dolayı init her zaman için ilk süreçtir ve süreç numarası da daima 1’dir. init süreci /etc/inittab dosyasını okuyup sistemin hangi Run Level’dan başlayacağına karar verirdi. Aşağıda /etc/inittab dosyasından bir kesit sunulmaktadır.

# Default runlevel. The runlevels used by RHS are:
# 0 – halt (Do NOT set initdefault to this)
# 1 – Single user mode
# 2 – Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 – Full multiuser mode
# 4 – unused
# 5 – X11
# 6 – reboot (Do NOT set initdefault to this)
#
id:3:initdefault:

Buradaki id:3:initdefault: satırı bizim işletim sistemimizin RunLevel 3 ‘den başlayacağını göstermektedir. Red Hat sistemlerde RunLevel’lar

• 0 – halt (Sistemi kapatmak –poweroff veya halt- için kullanılan runlevel)
• 1 – Single user mode (Sistemi kurtarmak için kullanılan ve network ayarlarının aktive edilmediği tekli kullanıcı mode’u. Bazı yerlerde S veya s olarak da adlandırılır.
• 2 – Multiuser NFS olmadan çoklu kullanıcı mode’u (Bu runlevel 3. Runlevel ile genel olarak aynıdır. Tek fark network ayarlarını içermemesidir.)
• 3 – multiuser mode (Network ayarlarını nda aktive edildiği ve genellikle kullanılan RunLevel’dır.
• 4 – kullanılmıyor.
• 5 – X11 (Runlevel 3 e ek olarak görsel ekranın- ki biz buna X veya X11 de deriz- da başlatıldığı runlevel. Runlevel 3’den sonra en çok tercih edilen runlevel’dır.)
• 6 – reboot (Sistemin kapatılıp tekrar açıldığında kullanılan RunLevel’dır.

İnit süreci ön tanımlı runlevel’ı ayarladıktan sonra sistemde /etc/rc.d/init.d/ altında bulunan ve rpm paketleri içinde gelen servis scriptlerini (bunlar bir shell scripttir!) çalıştırır. Örnek olarak eğer runlevel 3 de isek ve sshd servisi çalışacaksa bunun başlangıç scripti /etc/rc.d/init.d/sshdaltında yer almakta. Bunun runlevel 3 de çalışmasını da /etc/rc.d/rc3.d/S55sshd scripti sağlamakta idi. Buradaki S harfi bunun start edilleceği, 55 ise başlangıç sırasını belirtmektedir.

# ls -la /etc/rc.d/rc3.d/S55sshd lrwxrwxrwx 1 root root 14 Jun  6  2011 /etc/rc.d/rc3.d/S55sshd -> ../init.d/sshd

(continue reading…)

1,442 total views, 3 views today


Şifresiz SSH Bağlantısı Kurmak

Linux üzerinde SSH Key kurulumunu anlatmadan önce SSH sisteminin ne olduğundan bahsedelim. SSH (Secure Shell), güvenli veri iletimi amacıyla şifrelenmiş bir ağ protokolüdür.  SSH ile birbirine bağlanmış iki bilgisayar arasındaki veri aktarımı bu şifrelenmiş, güvenli ağ protokolü üzerinden yapılır. SSH aşağıda belirtilen temel  unsurları sağlar;

  • authentication / Kimlik denetimi
  • encryption / Şifreleme
  • Integrity / Bütünlük.

SSH temel tanımlar;

  • SSH1, Tatu Ylönen tarafından geliştirilen ilk orjinal SSH ürünü.
  • SSH-1 protokolü temel alınarak geliştirilmiştir. SSH2, Tatu Ylönen tarafından geliştirilen SSH-2 ürünü.
  • SSH protocol 1.SSH-2,
  • SSH protocol 2 . Günümüzde yaygın kullanımda olan ve kullanımıtavsiye edilen ssh sürümü. IETF SECSH çalışma grubu tarafından standartlarıbelirlenmiştir.

SSH bağlantı sağladığınızda, her bağlatı yenilendiğinde karşılaştığız şifre işlemini pratik bir şekilde çözmek, kolay ve güvenli bir tanımlama işlemi oluşturmak için bu yazıda SSH anahtarı nasıl oluşturacak ve doğrulayacağımıza anlatacağım.

OpenSSH Nedir?

OpenBSD Project tarafından açık kaynak olarak geliştirilmiş, ağ erişimi (ssh tunneling) aşamasında tüm trafiğin şirelenmesi, saldırılardan korunması için artırılmış güvenlik önlemleri, yeni yetenekler ve metodlar barındıran bir SSH protokolü versiyonudur. SSH, SCP, SFTP gibi bağlantı operasyonları, SSAdd, SSH-Keydign, SSH-Keyscan ve SSH-Keygen gibi anahtar yönetimi, SSHD, SFtp-Server ve SSH-Agent gibi server taraflı oluşumları kapsar. Sunucu birden fazla kişinin ya da aracın erişimine açılacağı durumlar için en güvenli yöntemdir.

Public Key Authentication

Bu yapıda, “gizli (private key)” ve onu tamamlayan “açık (public)” olmak üzere iki anahtar bulunur. Kullanıcı “gizli (private)” anahtarını bağlanmak için kullanacağı sistemde, “açık (public)” anahtarını da bağlanacağı sistemde bulundurur. Bağlantı sırasında bu iki anahtarın eşleşmesiyle, sisteme giriş yapılmış olur. Bu sayede sunucu şifreleri paylaşılmadan, sadece sisteme girmesi gereken kullanıcıların public keyleri eklenerek giriş izni verilebilir.
(continue reading…)

3,008 total views, no views today


Bonding nedir? Linux İşletim Sistemlerinde Nic Bonding Yapılandırması

Bugünkü yazımda, Linux İşletim Sisteminde Network yedekliliği (redundant links, fault tolerance) olarak bilinen Linux Bonding konusu hakkında bilgilendirme yapacağım.

Bonding Linux için kullanılan terimdir. Diğer işletim sistemlerinde Teaming (Windows), Network dünyasındaTrunking olarak bilinmektedir.
Linux bonding
Bonding birden fazla Network interface (NIC)’in bir mantıksal gurup olarak tek bir interface olarak kullanablmemize olanak sağlar.

Bonding yedeklilik sağladığı gibi, band genişliğini (load balancing networks) artırmak için de kullanılabilmektedir.
Linux interface bonding
Bu işlemleri Windows altında donanım üreticileri tarafından sağlanan yazılımlarla yapmak mümkün. Bir takım kısıtlarla birlikte sorunsuz denilebilecek seviyede çalışabilmektedir. Aslen araya bir balancer koymadığınız takdirde yazılım bile olsa tam olarak yük dengelemesi yapılamamaktadır. Donanım üreticilerinin bu konudaki yazılımlarınada ihtiyaç duymamaktayız. Linux bunu kendi yeteneği ile yapabilmektedir.

Bonding modülü Linux işletim sistemi çekirdeği desteği ile gelir. Ethernet kartı standartı olarak IEEE 802 kullanılır.

Bonding modülünün 7 farklı şekilde çalışma yapısı bulunur, Kullanılan Mod’a bağlı olarak Bonding Layer 2 veya Layer 3 OSI Network katmanında kullanılmakta. (continue reading…)

2,376 total views, no views today


Openfiler Nedir? Nasıl kurulur? Nasıl Kullanılır?

Openfiler Nedir?

Merhabalar bu yazımda sırasıyla openfiler’ın ne olduğundan, kurulumundan ve openfiler üzerinde iscsi depolama alanı yapılandırıp daha sonra  başka bir linux sunucuya bağlayıp kullanacağız.

Openfiler, SAN/NAS hizmeti için hazırlanmış açık kaynak kodlu network depolama işletim sistemidir.

Openfiler’da fileserver, share disk, sanal harddisk ve türlü amaçlar için alanlar oluşturabilir ve yönetimini yapabiliriz. Openfiler, disklerimizden oluşmuş toplam kapasitemizi ihtiyacımıza göre alanlara ayırıp kullanmamızı sağlar.

Web tabanlı kolay kullanımlı arayüzü üzerinden kullanıcı hesaplarını, disk hacimlerini, disk kullanım kotalarını kısacası oldukça kapsamlı bir şekilde ağ depolama hizmetini her yönüyle kolayca kullanabilir ve ayarlayabilirsiniz.

Kısa bir tanıtımdan sonra openfiler kurulumuna gelecek olursak;

Openfiler’ı herhangi bir sunucuya kurabileceğiniz gibi vmware veya benzeri sanal araçlarada kurabilirsiniz.

Openfiler kurulumu için gerekli minumum kaynaklar aşağıdaki gibi.

Openfiler 0
(continue reading…)

3,069 total views, no views today


Multipath Nedir? Linux İşletim Sistemlerinde Multipath Yapılandırması

Multipath genellikle hostların (fiziksel sunucu) storage ile olan bağlantısını yedeklemek amacı ile kullanılır, fiziksel sunucu ile storage arasındaki fiber kablolardan birisi kopması, zarar görmesi v.b. durumunda storage olan erişimi kaybetmeden sisteminize erişilebilirliği sağlar. Yani Multipath SAN (Storage Area Network) ortamlarında sunucular HBA (Host Bus Adaptor) kartı, SAN switch, Storage controller gibi bileşenlerden biri arızalansa bile SAN disklere erişimin devam etmesini sağlayan teknolojidir.
Multipath genellikle Storage vendorlar tarafından sağlanmaktadır ancak güncel işletim sistemleri Native yani kendi multipath driverları ile gelmekte.

NOT : Tüm dağıtımlarda Linux kernel 2.6.x ile genel olarak Native Linux Multipath kullanılmaya baslamıstır. Yani CentOS/RedHat 6, Oracle Linux 6 ile native olarak desteklemektedir.

NOT : Eski sürüm Linux dağıtımlarında MPIO için HP, Hitachi, EMC, NetApp gibi Vendorların Multipath (MPIO) yazılımı ile gelmektedir.

multipath

Görselden de anlaşılacağı gibi Sunucular üzerinde bulunan HBA kartları SAN aracılığı ile storage lara bağlanmaktadır.
HBA lardan birisinde veya SAN ların birisinde problem olması durumunda ikinci hba veya san üzerinden veri akışı devam etmekte ve problem yaşanmamaktadır.

SAN : Sunucular ve depolama üniteleri arasında hızlı, güvenilir bağlantı sağlayan özelleştirilmiş bir ağ türüdür. SAN uygulamasında bir depolama ünitesi herhangi tek bir sunucunun özel malı olmak yerine, depolama birimleri ağdaki sunucu ve diğer depolama ünitelerinin ortak malıdır. Kısacası SAN; sunucuları depolama birimlerine, depolama birimlerini birbirlerine ve sunucuları birbirine bağlamaktadır. San iletim teknolojileri dediğimizde üç farklı temel teknolojiden bahsedebiliriz; Fibre Channel, iSCSi, FCIP.
Multipath konusunun daha iyi anlaşılması için SAN ile ilgili birkaç kavramın daha bilinmesi gerek.

SAN Switch : Üzerinde HBA kartı olan cihazlarımızı GBIC modül ve fiber optic kablolar kullanarak 2, 4, 8, 16 GB hızında, network katmanı haricinde güvenli bir şekilde birbirleri ile haberleştirmek için kullanılan bir teknolojidir. SAN Swithleri günümüzde daha çok sunucuları, storage ve tape cihazlarını haberleştirmek için kullanıyoruz.

HBA : HBA (Host Bus Adaptor) disk erişimi için kullanılan fiber hızda bağlanmasını sağlayan SCSI-3 protokolünü dönüştüren bir PCI karttır. NIC (Network Interface Card)/Ethernet gibi çalışan ama fiber kablolar aracılığıyla internete değil de storagelara bağlanan kartlardır. HBA, ethernet kartının sahip olduğu MAC adresi gibi üzerinde WWN (World Wide Name)’e sahiptir. Host Bus Adapter SCSI ve FC (Fibre Channel) olarak iki şekilde bulunur, günümüzde Fibre Channel kullanan HBA kartlarını daha çok kullanmaktayız ve görmekteyiz. (continue reading…)

2,044 total views, no views today


  • Sertifikasyon



  • Etiketler

  • Topluluklar

                     
                     
  • Copyright © 1996-2010 Mustafa Bektaş Tepe. All rights reserved.
    Türkçeleştirme Blogizma | AltyapıWordPress
    Takip Et

    Her yeni yazı için posta kutunuza gönderim alın.

    Diğer takipçilere katılın: