Tag: Network File System

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…)

Loading


Linux Dosya Sistemleri


Dosya sistemi verilerin nasıl saklanacağını ve tutulacağını belirleyen sistemdir. Bir sabit diskin herhangi bir dosya sistemi ile formatlanması demek, üzerine yazılacak bilgilerin nereye ve hangi standartlara göre yazılacağının belirtilmesi demektir. Formatlama işlemi yapılmamış bir sabit diskin üzerine anlamlı bilgi kümeleri yazmak söz konusu değildir.

Dosyalarımız fiziksel depolama alanları üzerinde tutulur. Bu alanlar bilgisayarımızdaki dahili harddisk , harici hard diskimiz , CD/DVD ROM, SAN, NAS.. gibi biçimlerde olabilir. Peki bu alanlardaki bilgilere nasıl erişiriz sorusunun cevabı File System(Dosya Sistemi) oluyor arkadaşlar. File System olmadan depolama alanına ne bir şey kopyalayabiliriz, ne paylaştırabiliriz, ne güvenlik ve erişimini sağlayabiliriz ne de herhangi bir şekilde kullanabiliriz. İşletim sistemimizin verilere erişimi için yine onun bileceği bir biçimde diski biçimlendirmeliyiz. Yani  Disklerin işletim sistemin kullanabilmesi için çekirdeğin tanıdığı bir formatta olması gerekir.

Windows ailesinde bulunan işletim sistemleri (XP, 2000, ME, 98, vs…) FAT32 ya da NTFS dosya sistemi kullanmaktadır. Linux dağıtımlarıysa seçenekleriniz daha fazladır; ext2, ext3, ReiserFS, jfs, xfs ve daha birçok farklı dosya sistemini kullanabilirsiniz. Elbette bunca seçenek arasında, her iki işletim sisteminde de, ön plana çıkanlar olmuştur. Şimdi sırasıyla Linux’un dosya sistemi gelişim seyrini ve diğer destek verdiği dosya sistemlerini inceleyelim.

  Extendend File System (extfs)

Linux işletim sistemi ile birlikte kullanıma giren bu dosya sistemi extended files ystem (uzatılmış dosya sistemi) ya da kısaca ext olarak adlandırılır.  Temel olarak Linux için Unix benzeri bir dosya sistemi sağlar, fiziksel aygıtları işlemek için sanal dizinler kullanılır ve veriler fiziksel aygıtlardaki belli uzunluktaki bloklarda depolanır. 1992 yılında Linux için Minix File System’deki (MFS) yetersizliklerden dolayı ilk geliştirilmiş dosya sistemidir. MFS’de dosya isimleri en fazla 14 karakter, maksimum dosya boyutu da 64MB olabiliyordu. Günümüzde kullanılmıyor diyebiliriz.

Ext dosya sistemi, sanal dizinde depolanan dosyalar hakkında iz bilgisi veren inode adlı bir sistem kullanır. İnode sistemi, dosya bilgisini saklamak için her bir fiziksel aygıt üzerinde ayrı bir tablo yaratır ve buna inode tablosu denir. Sanal dizinde depolanan her dosyanın inode tablosunda bir girişi vardır. Bu dosya sistemi türünün adındaki extended (uzatılmış) sözcüğü, her dosyada izlenen aşağıda sıralanan ek verilerden ötürüdür:

  • Dosya adı
  • Dosya boyutu
  • Dosyanın sahibi
  • Dosyanın ait olduğu grup
  • Dosya için erişim izinleri
  • Dosyadan veri barındıran her disk blokuna işaretçiler

Linux, inode tablosundaki her bir inode’u, dosya sistemi tarafından veri dosyaları yaratmakla görevlendirilmiş özgün bir numara kullanarak (inode numarası) işaretler. Dosya sistemi, bir dosyayı belirlemek için tam dosya adı ve yolundan ziyade inode numarasını kullanır.
(continue reading…)

Loading


  • Sertifikasyon



  • Etiketler

  • Topluluklar

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