Dosya sistemi oluşturmak için mkfs komutu kullanılır. Ön tanımlı olarak mkfs komutu ext2 linux dosya sistemi formatında disk bölümünü formatlar. Fakat –t parametresi ile diğer dosya sistemleri de oluşturulabilir. Örneğin /dev/sdb1 disk bölümünde MS-DOS formatında disk bölümü oluşturmak için aşağıdaki komut kullanılır.
mkfs –t msdos /dev/sdb1
Aslındamkfs komutu farklı komutlar için bir aracı komut durumundadır. Kendisi herhangi bir dosya sistemi oluşturmaz. Verilen parametreye göre ilgili dosya sistemi oluşturma komutunu çalıştırır. Yukarıdaki örnekteki –t msdos parametresinden dolayı aslında mkdosfs komutunu çalıştırır. –t parametresi verilmediğinde ext2 dosya sistemini ise mke2fs komutunu çalıştırarak oluşturur. Mkfs yerine doğrudan ilgili dosya sistemine ait komutu da çalıştırabilirsiiz. Bu komutlardan bazıları:
mke2fs
mkfs.minix
mkfs.ext3
mkfs.bfs
mkfs.ufs
mkfs.ext2
mkdosfs
mkfs.xfs
mkfs.ext4
mkfs.cramfs
mkfs.btrfs
mkfs.jfs
mkfs.ext4dev
mkfs.msdos
mkfs.vfat
Örneğin aşağıdaki 3 komutla ext3 dosya sistemi oluşturulabilir.
Fdisk, komut satırı üzerinden kullanılan, güçlü bir disk yönetimi aracıdır. Diskiniz ile ilgili bölme, biçimlendirme, silme, yeni bölüm oluşturma gibi işlemleri Fdisk kullanarak yapabilirsiniz.
Fdisk’in, disklerimiz üzerinde kalıcı değişiklikler yapmamızı sağladığından, root yetkileri ile çalıştırılması gerekiyor.
sudo fdisk /dev/x
Burada x yerine diskinizin ismini yazmalısınız. Eğer IDE ise hda , SCSI ise sda şeklinde olur genelde.
fdisk ile kullanılabilecek parametreler aşağıda gibidir.
Parametre
Yaptığı İş
a
açılış flamasını indirir/kaldırır
b
bsd disk etiketini düzenler
c
dos uyumluluk flamasını indirir/kaldırır
d
bir disk bölümünü siler
l
bilinen disk bölümü türlerini listeler
m
bu menüyü gösterir
n
yeni bir disk bölümü ekler
o
yeni bir DOS disk bölümü oluşturur
p
disk bölümleme tablosunu gösterir
q
değişiklikleri kaydetmeden çıkar
s
yeni bir Sun disk etiketi oluşturur
t
disk bölümünün sistem kimliğini değiştirir
u
gösterme/girdi birimini değiştirir
v
disk bölümleme tablosunu doğrular
w
tabloyu diskteki yerine yazar ve çıkar
x
fazladan işlevsellik (uzmanlar için)
Şimdi bir örnek yapacak olursak.
fdisk -l komutu ile var olan diskleri ve partitionları görürüz.
fdisk /dev/sdb komutu ile fdisk başladı ve bizden komut bekliyor.
m komutu ile yardım menüsünü açabilirsiniz. Kullanılan tüm komutların listesini verir.
p yazıp enter’a bastığımızda bize bölüm bilgilerini verir.
n ile yeni bölüm oluşturabiliriz.
p ile primary partion oluşturmak istediğimizi belirttik.
1 ile 4 arasında primary partition umuzu seçeriz.
Burada partition ımızın boyutunu ayarlarız cylinder sayısına bölerek de yapabiliriz veya K,M ve G büyüklüklerinide seçebiliriz. Hiçbirşey yazmadan ilerlerseniz müsait olan tüm alanı kullanarak bir disk oluşturur.
Tüm değişiklikleri onaylayıp çıkmak için w , vazgeçip çıkmak için ise q komutunu kullanabilirsiniz.
Dosya sistemi yapısı genel olarak şu bölümlerden oluşur;
Superblock
Datablock
Bootblock
inode
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ğlanabilir bu yazılımlar otomatik olarak alınan yedekleri yükler. Aşağıdaki komutla superblock’u ve yedeklerini görebiliriz.
DataBlock
Dosyalardaki bilgilerin depolanmasını sağlayan kısımdır.
Bootblock
Dosya sisteminin ilk birkaç segmentinde yer almaktadır. Önyükleme bloğu, işletim sistemini yüklemek için kullanılan başlangıç önyükleme programını içerir.
iNode
iNode Index node, kelimelerinin kısaltılmasıdır. Bir dosya sisteminde (ext4,ext3,ntfs vb..) dosyaların saklanma işlemi dosyanın adı ve o ada karşılık gelen eşsiz, benzersiz bir tamsayıdan oluşmaktadır. Dosya sistemindeki her nesne iNode (index node) ile gösterilir. Bunu bir etiket olarak düşünebilirsiniz. File System’de her dosya ve dizinin eşsiz bir iNode numarası bulunur. iNode da dosyanın ismi ve File System ağacında nerede olduğu bilgisi tutulmaz, tutulan bilgiler ise aşağıdaki gibidir;
Dosyanın türü
Dosyanın izinleri(r-okuma,w-yazma,x-çalıştırma)
Dosyanın sahibi ve grubu
Dosyanın boyutu
Dosyanın Access,change,modification zaman etiketleri
Dosyanın silinme zamanı
Link sayısı(soft veya hard link)
Access Control List(ACL) bilgisi
Dosyanın disk üstünde hangi blockta olduğu bilgisi
Locking bilgisi,kullanımda olduğu zaman “kullanılıyor diye dosyayı locklar”
Depoloma motorları, MYSQL’DE farklı tablo türleri için SQL işlemlerini yürüten MYSQL bileşenleridir. InnoDB, varsayılan ve en genel amaçlı depoloma motorudur. Oracle’da özel kullanım alanları dışında InnoDB kullanılmasını önerir. (MySQL 5.5’den itibaren varsayılan saklama motoru InnoDB’dir. Öncesinde varsayılan saklama motoru MyISAM’dır.)
Sunucunuuzn hangi depolama motorlarını desteklediğini belirlemek için SHOW ENGINES komutunu kullanabiliriz.
Tabloda gördüğümüz gibi bir çıktı elde ederiz. Buradaki sütun adlarını inceleyecek olursak;
Engine : depolama motorunun adını içerir.
Support : sürücümüz üzerinde desteklenip desteklenmediği içerir.
Comment : depolama motoru hakkında kısa bir açıklama içerir.
Transactions : transaction yapısını destekleyip, desteklemediği bilgisini içerir.
XA : Koordinat tabanlı transaction işlemlerini destekleyip, desteklemediği bilgisini içerir.
Savepoints : Yapılan işlemlerin geri alınmasına (rollback) yönelik kayıt noktaları (savepoints) oluşturmayı destekleyip, desteklemediği bilgisini içerir.
Depolama motorları belirli bir veritabanı tablosundan bilgi çekmeyi tabloda bilgi saklamayı ve tablodaki bilgiyi kontrol etmeyi sağlar.
MySQL sunucusunun mimarisi aşağıdaki şekilde verilmiştir. Verileri kalıcı olarak diske kaydeden, SQL sorgularını çalıştıran ve verileri diskten ya da bellekten derleyip getiren gerçekte depoloma motorlarıdır. Üstelik depoloma motorları eklenip çıkarılabilen bir yapıya sahiptir. MySQL için yazılmış özel kullanım alanları olan çok sayıda üçüncü parti depoloma motorları mevcuttur tokudb, aria.
MySQL 5.7 desteklenen depolama motorları aşağıdaki gibidir. (continue reading…)
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…)