28 Ekim 2013 Pazartesi

GNU/Linux Dosya Sistemleri

Dosya sistemi disk üzerindeki dosyaların organize edilmesidir. Bir işletim sisteminin bir disk veya bölümleri üzerindeki dosyalarının izlerini bulmak için kullandığı yapı ve yönteme dosya sistemi (filesystem) denir. 

Dosya sistemi yapısı genel olarak şu bölümlerden oluşur:

Süperblok (Superblock) : Dosya sisteminin boyutu gibi, bütünü hakkında bilgiler içeren bölüm. Dosya sisteminin büyüklüğü, başlangıç ve bitiş adresleri, inode tablosu, boş blok tablosu, veri bloklarının başlangıç adresleri gibi bilgileri saklar. Süperblok aynı zamanda dosya sisteminin düzgün olarak kalmasını sağlar, yapısı herhangi bir nedenle bozulursa bozukluğu giderebilecek yazılımların çalışmasını sağlar.

Dosya Düğümü (Inode) : Dosyanın ismi dışında bütün bilgilerini içeren bölümdür. Dosyanın ismi, dosya düğümünün numarasıyla birlikte bulunur. Dosya düğümü, veri bloklarının da numaralarını içerir. Bir dosya düğümünde belli sayıda veri bloğu için yer vardır. Daha fazla alana ihtiyaç duyulması durumunda dosya düğümünde dinamik olarak yeni bir yer ayrılır.

Veri Bloğu: Dosyalardaki bilgilerin depolanmasını sağlayan kısımdır.

GNU/Linux Dosya Sistemleri :

Ext : Linux için oluşturulmuş Ext ya da Ext1 ismiyle Nisan 1992'de özellikle Linux işletim sisteminin dosya sistemi ihtiyacı için Minix dosya sistemi'nin yetersizlikleri üzerine Rémy Card tarafından geliştirilen bir dosya sistemidir. Günümüzde hiçbir linux  dağıtımı tarafından desteklenmemektedir.

Ext2 : 1993 yılında geliştirilmiştir. Tanıtıldığında 2 tb sürücülere ve genişletilmiş dosya özelliklerine izin veren tek günlüklü olmayan dosya sistemidir. Ext2 dosya sistemi, en çok 4 TB boyutundaki disk bölümünü destekler ve bu bölüm üzerinde en çok 2 GB boyutuna kadar olan dosyalara izin verir. Düşük yazma ve silme gereksinimleri nedeniyle flash bellekler için idealdir.

Ext3 : Ext2 dosya sistemi yapısının sahip olduğu bütün özelliklerin yanısıra bir de günlükleme (journalling) özelliği vardır. Günlükleme özelliği, yapılan veya yapılmakta olan işlemlerin kayıtlarının tutulması işlemidir. Bu işlem sayesinde, sistemin zarar görmesi durumunda meydana gelen hasarlar, en kolay biçimde onarılabilir. Bunu faydası, herhangi bir sistem çökmesi durumunda, geri kurtarma işleminin süresinin azalmasıdır. Her ne kadar performansı diğer Linux dosya sistemleri olan JFS, ReiserFS, ve XFS 'ye göre az olsa da Ext3 'ün en büyük avantajı Ext2 kullananların hiçbir yedekleme yapmadan Ext3 'e geçebilmelerini sağlamasıdır.

Journalling Özelliği Nedir ?
Meta bilgisi ve dosya içeriğini önce günlüğe yazdıktan sonra kararlı olan veriyi dosya sistemine yazar. Çünkü günlük disk üzerinde sürekli devam eden bir yapıdadır, bu bazı durumlarda performansı arttırır.
Journaling özelliği, bilgisayar üzerinde yapılan işlemlerin loglarının başka bir yerde tutulmasını sağlar. Bu özellik sayesinde yapılan son işlemlere ulaşılabilir. Herhangi bir sistem çökmesi durumunda, sistemde yapılan son işlemlere ulaşılıp bu işlemlerin tekrarlanmasıyla verilerin kaybedilmemesi sağlanır. Linux işletim sisteminde kullanılan en kararlı ve sağlam günlükleme sistemlerinden biri XFS dosya sistemidir.
Ext4 : Ext3 dosya sisteminin sahip olduğu özelliklere ek olarak büyük boyutlu dosyaları ve dosya sistemlerini destekleyen bir yapıya sahiptir. Ext4 1 EiB(exbibyte) dosya sistemi ve 16 TB dosya boyutunu desteklemektedir. Ext3 ün sahip olduğu Journaling (günlükleme) ve disk üzerindeki hasarların onarılması özelliğine getirilen e2fsprogs (güvenli bağlama işleminin gerçekleştirileceği yeri belirleme), journal checksum (disk üzerinde oluşan hasarların onarımını hızlandırma) gibi araçlarla sistemin kararlılığı ve performansının artışı sağlanmıştır. Linux altında Ext2 ve Ext3 dosya sistemlerini Ext4 olarak mount edebilirsiniz. SSD'ler için iyi bir seçimdir ve genel performansı diğer Ext sürümlerinin üzerindedir.

BtrFS : Oracle tarafından geliştirilmeye başlanmıştır ve ReiserFS dosya sistemine benzer özellikler taşımaktadır. B-Tree Dosya Sistemine dayanır ve sürücü havuzuna, anlık yedeklere, saydam sıkıştırmaya ve çevrimiçi birleştirmeye izin verir. Yeni nesil Linux dosya sistemidir ve halen geliştirilmektedir.
ReiserFS : Hans Reiser tarafından geliştirilmiş bir  dosya sistemi yapısıdır. Bu sistemde, yapılan tüm meta değişiklikler blok olarak protokol içinde tutulmaktadır. Veri kayıplarını azaltmak için, Ext3 dosya sistemi gibi journallinge özelliğini kullanır. Çok sağlam bir dosya sistemi yapısı olduğu kabul edilmektedir. Bu dosya sisteminin maksimum dosya sistemi büyüklüğü her blok için 4 GB yani 16 TB, blok büyüklüğü 64 KB ve maksimum dosya büyüklüğü de 4 GB olabilir. Günlük gibi küçük dosyalar için çok performanslı olup veritabanı ve eposta sunucuları için uygun bir seçimdir.

XFS : En kararlı ve sağlam journalling dosya sistemlerinden biridir. Bu dosya sistemindeki en önemli özellik, kararlılıktır. Bu dosya sisteminde dosyanın boyutu maksimum 9.000 Pbyte, blok büyüklüğü 64 KB ve de maksimum dosya sistemi büyüklüğü 18.000 Pbyte kadar olabilmektedir. Silicon Graphics tarafından 1994'te kendi işletim sistemleri için geliştirilmiştir. 2001'de Linux için uyarlanmıştır.
JFS : OS/2 ve IBM Aix Unix işletim sisteminin günlüklü dosya sistemleridir. IBM tarafından 1990 da geliştirildi ve daha sonra Linux'a uyarlandı.JFS bölümleri dinamik olarak boyutlandırılabilir fakat ReiserFS ve XFS gibi küçültülemiyor. Düşük kaynak kullanımından dolayı düşük güçteki sunucu ve bilgisayarlar için tercih edilmektedir.
ZFS : Oracle tarafından geliştirilmiştir. BtrFS ve ReiserFS'ye benzer özellikler içermektedir. Sun CDDL lisansından dolayı, Linux çekirdeğine destek veremiyor. Fakat FUSE adıyla ZFS kullanımına olanak sağlanıyor. Her dağıtım tarafından desteklenmemektedir.
MINIX : En eski dosya sistemi yapısıdır. Güvenli bir sistem olarak kabul edilebilir. Bunun yanında en fazla 64 Mb’lık dosya sistemi, en çok 30 karakterlik dosya isimleri gibi bir takım kısıtlamalara sahiptir.
XIA : Minix dosya sistemi yapısının daha gelişmiş hali denilebilir. Minix dosya sisteminden farkı, dosya isimleri ve dosya sistemi boyutlarının sınırlarını kaldırmasıdır. Bu özelliğinden başka pek bir yeniliği yoktur. 

Swap : Aslında bir dosya sistemi değildir. Swap (Takas) Alanı, sabit disk üzerinde işletim sistemi tarafından ayrılmış bir bölümdür. İşlenecek veriler “Rastgele Erişimli Belleğe” (RAM) sığmadığı zaman bu bölüm “RAM”  gibi kullanılır ve böylece işlemlerin devam etmesi sağlanır. Sabit disklerin veri okuma/yazma hızları RAM’lerden çok daha düşük olduğu için takas alanının kullanılması işlemleri yavaşlatır. Linux işletim sisteminde bu alan sabit disk üzerindeki bir bölmelendirmedir. Linux İşletim Sistemlerinde bu alanı kullanıcı belirler, genelde RAM değerinin iki katı olarak ayrılır. Swap (Takas) alanı eğer bir Oracle Veritabanı sunucusu için yapılandırılacaksa;

0 MB ile 256 MB arasında RAM varsa RAM boyutunun 3 katı,
256 MB ile 512 MB arasında RAM varsa RAM boyutunun 2 katı
512 MB ile 2GB arasında RAM varsa RAM boyutunun 1,5 katı
2 GB ile 16 GB arasında RAM varsa RAM boyutu kadar,
16 GB dan fazla RAM varsa 16GB swap alanı oluşturulmalıdır.
Güncel Değerler için : http://tahiti.oracle.com/

2 yorum:

  1. ellerinize sağlık hocam bir saattir arıyordum burada buldum teşekkür ederim

    YanıtlaSil

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü