Anatomy of a Disk
Hard disk’ler partition’lara bölünebilir, bu da esasen birden fazla block device oluşturur. /dev/sda1 ve /dev/sda2 gibi örnekleri hatırlayın, /dev/sda tüm disk iken, /dev/sda1 o disk üzerindeki ilk partition’dır. Partition’lar veriyi ayırmak için son derece kullanışlıdır ve belirli bir filesystem’e ihtiyaç duyarsanız, tüm diski tek bir filesystem türü yapmak yerine kolayca bir partition oluşturabilirsiniz.
Partition Table
Her diskte bir partition table bulunur, bu tablo sisteme diskin nasıl partition edildiğini söyler. Bu tablo size partition’ların nerede başladığını ve bittiğini, hangi partition’ların bootable olduğunu, diskin hangi sektörlerinin hangi partition’a ayrıldığını vb. söyler. İki ana partition table şeması kullanılır: Master Boot Record (MBR) ve GUID Partition Table (GPT).
Partition
Diskler verilerimizi organize etmemize yardımcı olan partition’lardan oluşur. Bir disk üzerinde birden fazla partition olabilir ve bunlar birbirleriyle çakışamaz. Bir partition’a ayrılmamış alan varsa, bu free space olarak bilinir. Partition türleri partition table’ınıza bağlıdır. Bir partition içinde bir filesystem’e sahip olabilir veya bir partition’ı swap gibi diğer şeylere ayırabilirsiniz (buna yakında geleceğiz).
MBR
Geleneksel partition table, standart olarak kullanılmıştır
Primary, extended ve logical partition’lara sahip olabilir
MBR’ın dört primary partition limiti vardır
Ek partition’lar bir primary partition’ı extended partition’a çevirerek oluşturulabilir (bir disk üzerinde yalnızca bir extended partition olabilir). Daha sonra extended partition içinde logical partition’lar eklersiniz. Logical partition’lar diğer partition’lar gibi kullanılır. Aptalca biliyorum.
2 terabyte’a kadar diskleri destekler
GPT
GUID Partition Table (GPT), disk partitioning için yeni standart haline geliyor
Yalnızca bir tür partition vardır ve bunlardan çok sayıda oluşturabilirsiniz
Her partition’ın global olarak benzersiz bir ID’si (GUID) vardır
Çoğunlukla UEFI tabanlı booting ile birlikte kullanılır (detaylara başka bir derste gireceğiz)
Filesystem Structure
Önceki dersimizden biliyoruz ki bir filesystem dosyalar ve dizinlerin organize edilmiş bir koleksiyonudur. En basit haliyle, dosyaları yönetmek için bir veritabanı ve dosyaların kendilerinden oluşur, ancak biraz daha detaya ineceğiz.
Boot block - Bu, filesystem’in ilk birkaç sektöründe bulunur ve gerçekten filesystem tarafından kullanılmaz. Bunun yerine işletim sistemini boot etmek için kullanılan bilgileri içerir. İşletim sistemi yalnızca bir boot block’a ihtiyaç duyar. Birden fazla partition’a sahipseniz, boot block’ları olacaktır, ancak bunların birçoğu kullanılmaz.
Super block - Bu, boot block’tan sonra gelen tek bir block’tur ve inode table’ın boyutu, logical block’ların boyutu ve filesystem’in boyutu gibi bilgiler içerir.
Inode table - Bunu dosyalarımızı yöneten veritabanı olarak düşünün (inod’lar hakkında tüm bir dersimiz var, endişelenmeyin). Her dosya veya dizin inode table’da benzersiz bir entry’ye sahiptir ve dosya hakkında çeşitli bilgiler bulunur.
Data blocks - Bu, dosyalar ve dizinler için gerçek veridir.
Farklı partition table’lara bir göz atalım. Aşağıda MBR partitioning table’ı (msdos) kullanan bir partition örneği verilmiştir. Makinede primary, extended ve logical partition’ları görebilirsiniz.
pete@icebox:~$ sudo parted -l
Model: Seagate (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 6860MB 6859MB primary ext4 boot
2 6861MB 21.5GB 14.6GB extended
5 6861MB 7380MB 519MB logical linux-swap(v1)
6 7381MB 21.5GB 14.1GB logical xfs
Bu örnek GPT’dir ve partition’lar için yalnızca benzersiz bir ID kullanır.
Model: Thumb Drive (scsi)
Disk /dev/sdb: 4041MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 1000MB 1000MB first
2 1000MB 4040MB 3040MB second
Last updated