---
title: 'Disk Ekleme ve Genişletme'
source: 'https://academia.sh/tr/kurslar/sistem-yonetimi/disk-ekleme-ve-genisletme'
course: 'Sistem Yönetimi'
language: tr
updated: '2026-08-17T18:10:05+00:00'
license: 'CC BY-SA 4.0'
---

# Disk Ekleme ve Genişletme

Yeni bir aygıtı sisteme katma zinciri dokuz adımdır ve kırk beş okumanın on üçü işin bittiğini söylerken bitmemiştir; aygıt adına yazılmış kalıcı girdi kırk önyüklemenin yalnız onunda doğru dosya sistemini takar.

Bu konu boyunca depolama hep var olan bir şeydi: bir aygıt, üzerinde bölümler, içlerinde
dosya sistemleri, üstlerinde takma noktaları. Kursun son dersi zincirin başına döner ve bir
aygıtın sisteme katılmasını baştan sona izler.

İzlenecek şey adımların kendisi değil, adımlar arasındaki **boşluktur**. Her adımda bir araç
"tamam" der ve bir üst katman henüz haberdar değildir. Ölçülecek sayı, zincirin kaç okumasında
"iş bitti" tanısının yanlış olduğudur.

## Zincirin Halkaları

Yeni bir aygıt fiziksel olarak bağlandığında sistem onu kendiliğinden kullanmaz. Arada dokuz
adım vardır ve her adım bir öncekine bağlıdır.

Aygıt önce **tanınmalıdır**: çekirdek veri yolunu tarar ve aygıtı ağacına ekler. Sonra
**bölümlenir**; bölümleme tablosu aygıta yazılır, ama çekirdek eski tabloyu bellekte tutmaya
devam edebilir ve bir **yeniden okuma** gerekir. Ardından bölüme **dosya sistemi kurulur**.
Kurulan dosya sistemi ağaçta görünmez; **takılması** gerekir. Elle takma yeniden başlatmada
kaybolduğu için bir **kalıcı takma girdisi** yazılır. Son olarak veriyi üretecek birim yeni
yola **yazmaya başlamalıdır**; yolun değişmesi tek başına birimin yapılandırmasını değiştirmez.

- **DP38** — Zincir dokuz adımdır ve adımların sırası bu ölçümde sabittir; kalıcı takma girdisi
  elle takmadan **önce** yazılmıştır, çünkü yaygın uygulama budur.
- **DP39** — Kâhin, "yeni alan kalıcı olarak kullanımda" durumudur: dosya sistemi takılı,
  girdi kalıcı ve birim yeni yola yazıyor. Üçü birden sağlanmadan iş bitmemiştir.
- **DP40** — Beş araç okunur ve her biri zincirin tek bir halkasını görür: `lsblk` aygıtı,
  `blkid` dosya sistemini, `findmnt` ve `df` takmayı, girdi denetimi kalıcılığı.
- **DP41** — Doğrulama önyüklemesinde keşif sırası ortak tanımın üretecinden çekilir; **40
  önyükleme** gözlenir ve girdi iki biçimde yazılır.

```python
"""Yeni aygiti sisteme katma zinciri: her adimda hangi arac ne diyor."""
TOHUM = 20260218
ONYUKLEME = 40
ALAN = ("gorunur", "bolum", "cekirdek_okudu", "fs", "takili", "birim_yazar",
        "kalici")
ADIM = (
    ("0 aygit takildi",          0, 0, 0, 0, 0, 0, 0),
    ("1 yeniden tarandi",        1, 0, 0, 0, 0, 0, 0),
    ("2 bolum olusturuldu",      1, 1, 0, 0, 0, 0, 0),
    ("3 cekirdek tabloyu okudu", 1, 1, 1, 0, 0, 0, 0),
    ("4 dosya sistemi kuruldu",  1, 1, 1, 1, 0, 0, 0),
    ("5 kalici girdi yazildi",   1, 1, 1, 1, 0, 0, 1),
    ("6 elle takildi",           1, 1, 1, 1, 1, 0, 1),
    ("7 birim yeni yola yazar",  1, 1, 1, 1, 1, 1, 1),
    ("8 yeniden baslatildi",     1, 1, 1, 1, 1, 1, 1),
)
ARAC = {"lsblk": "gorunur", "blkid": "fs", "findmnt": "takili",
        "df": "takili", "girdi denetimi": "kalici"}


def durum(a):
    d = dict(zip(ALAN, a[1:]))
    d["kahin"] = d["takili"] and d["kalici"] and d["birim_yazar"]
    return d


print("adim                      ", "  ".join(f"{k:>14s}" for k in ARAC), " kahin")
for a in ADIM:
    d = durum(a)
    print(f"{a[0]:26s}", "  ".join(f"{str(bool(d[v])):>14s}" for v in ARAC.values()),
          f" {str(bool(d['kahin'])):>5s}")
print()
print("arac             dogru okuma  yanlis okuma")
toplam = 0
for arac, alan in ARAC.items():
    y = sum(bool(durum(a)[alan]) != bool(durum(a)["kahin"]) for a in ADIM)
    toplam += y
    print(f"  {arac:14s} {len(ADIM) - y:11d}  {y:12d}")
print("yanlis tani:", toplam, "/", len(ADIM) * len(ARAC))
print()


def uretec(tohum):
    d = tohum

    def sonraki(n):
        nonlocal d
        d = (d * 1103515245 + 12345) % 2147483648
        return d % n
    return sonraki


def dogrulama(tohum, girdi_bicimi, aygit=5, sayi=ONYUKLEME):
    """Kalici girdi aygit ADINA yazildiysa , kesif sirasi degisince kayar."""
    r = uretec(tohum)
    dogru = 0
    for _ in range(sayi):
        kalan, sira = list(range(aygit)), []
        while kalan:
            sira.append(kalan.pop(r(len(kalan))))
        dogru += 1 if girdi_bicimi == "kimlik" else sira[1] == 1
    return dogru


for tohum in (TOHUM, 20260219):
    print(f"tohum {tohum}: {ONYUKLEME} onyukleme |"
          f" ada yazili girdi dogru {dogrulama(tohum, 'ad'):3d}"
          f" | kimlige yazili girdi dogru {dogrulama(tohum, 'kimlik'):3d}")
```

```
adim                                lsblk           blkid         findmnt              df  girdi denetimi  kahin
0 aygit takildi                     False           False           False           False           False  False
1 yeniden tarandi                    True           False           False           False           False  False
2 bolum olusturuldu                  True           False           False           False           False  False
3 cekirdek tabloyu okudu             True           False           False           False           False  False
4 dosya sistemi kuruldu              True            True           False           False           False  False
5 kalici girdi yazildi               True            True           False           False            True  False
6 elle takildi                       True            True            True            True            True  False
7 birim yeni yola yazar              True            True            True            True            True   True
8 yeniden baslatildi                 True            True            True            True            True   True

arac             dogru okuma  yanlis okuma
  lsblk                    3             6
  blkid                    6             3
  findmnt                  8             1
  df                       8             1
  girdi denetimi           7             2
yanlis tani: 13 / 45

tohum 20260218: 40 onyukleme | ada yazili girdi dogru  10 | kimlige yazili girdi dogru  40
tohum 20260219: 40 onyukleme | ada yazili girdi dogru   6 | kimlige yazili girdi dogru  40
```

Üç sayı yan yana. **Kâhin:** iş **yedinci adımda** bitiyor; ondan önceki hiçbir durumda yeni
alan kalıcı olarak kullanımda değil. **Araç çıktısı:** `lsblk` birinci adımdan itibaren aygıtı
gösteriyor ve gösterdiği şey doğru — yalnız sorulan soruya cevap değil. **Yanlış tanı:** kırk
beş okumanın **on üçü** işin bittiğini söylüyor.

Dağılım zincirin biçimini veriyor. En alttaki araç en çok yanılıyor: `lsblk` altı kez, `blkid`
üç kez. En üsttekiler en az yanılıyor ama sıfır değil — `findmnt` ve `df` birer kez, çünkü
altıncı adımda dosya sistemi takılıdır ve birim hâlâ eski yola yazmaktadır. Girdi denetimi
iki kez yanılıyor, çünkü kalıcı girdi takmadan önce yazılmıştır ve dosya kâğıt üzerinde
doğrudur. **Hiçbir araç zincirin tamamını görmüyor** ve her biri kendi halkasında doğruyu
söylüyor.

Bu dağılımın pratik sonucu bir sıralama kuralıdır: doğrulama zincirin altından değil,
üstünden başlar. Önce birimin gerçekten yeni yola yazdığı, sonra takmanın kalıcı olduğu,
en son aygıtın göründüğü sorulur; ters sırada sorulduğunda ilk üç yanıt olumlu gelir ve
soru orada kesilir.

Son iki satır zincirin sekizinci adımını ölçüyor. Doğrulama önyüklemesinde girdi aygıt adına
yazılmışsa kırk önyüklemenin yalnız **onunda** doğru dosya sistemi takılıyor; ikinci tohumda
bu sayı **altıya** düşüyor. Kimliğe yazılmış girdide kırkın kırkı doğru. Yeniden başlatmadan
doğrulanmamış bir zincir, tamamlanmış sayılmaz.

## Geri Alınamaz Adımlar

Zincirin dokuz adımından üçü geri alınamaz ve üçü de aynı yerde toplanıyor: aygıta yazan
adımlar. Bölümleme tablosunu yazmak eski yerleşimi siler, dosya sistemi kurmak bölümdeki her
şeyi siler, takas alanı olarak biçimlendirmek de aynı şeyi yapar. Üçünün ortak riski hedefin
yanlış seçilmesidir ve hiçbiri "emin misiniz" diye sormaz. Bu ders o komutları
**çalıştırılabilir tam biçimde vermez**.

Güvenli yol dört adımdır ve dördü de ölçülebilir. Birincisi **hedefi kimliğinden
doğrulamaktır**: `lsblk` ve `blkid` çıktısında hedef aygıtın boş olduğu, üzerinde takılı
dosya sistemi bulunmadığı ve beklenen boyutta olduğu okunur. İkincisi **kuru çalışmadur**:
bölümleme araçlarının uygulamadan gösteren seçeneği ve tablonun metin dökümü, değişikliğin
ne olacağını önceden yazdırır. Üçüncüsü **ayrı aygıtta denemedir**: bir dosyayı geri döngü
aygıtı olarak bağlamak, bütün zinciri gerçek veriden uzakta çalıştırmayı sağlar. Dördüncüsü
**anlık görüntüdür**: değişiklik mantıksal birim üzerindeyse, öncesinde alınan bir anlık
görüntü geri dönüşü mümkün kılar.

Genişletme yönü de aynı kurala uyar ve bir ek sıralaması vardır. Aygıt büyütüldüğünde çekirdek
yeni boyutu kendiliğinden görmez; bölüm büyütülmeden mantıksal birim, mantıksal birim
büyütülmeden dosya sistemi büyüyemez. Sıra yukarı doğru işler ve küçültmede tersine döner.
Tersine çevrilmediğinde ortaya çıkan şey bir hata iletisi değil, sessiz bir veri kaybıdır.

## Özet

- Yeni bir aygıtı sisteme katmak dokuz adımlık bir zincirdir: tanıma, bölümleme, tablonun
  yeniden okunması, dosya sistemi kurulumu, kalıcı girdi, takma ve birimin yeni yola
  yönlendirilmesi.
- Beş araç zincirin beş ayrı halkasını görür ve hiçbiri tamamını görmez; kırk beş okumanın
  on üçü işin bittiğini söylerken bitmemiştir. En alttaki araç en çok yanılır: `lsblk` altı,
  `blkid` üç kez.
- Zincir yeniden başlatmayla doğrulanmadan tamamlanmış sayılmaz: aygıt adına yazılmış girdi
  kırk önyüklemenin onunda, ikinci tohumda altısında doğru dosya sistemini takıyor; kimliğe
  yazılmış girdide kırkın kırkı doğru.
- Zincirin üç adımı geri alınamaz ve hiçbiri onay istemez; güvenli yol hedefi kimliğinden
  doğrulamak, kuru çalışma çıktısını okumak, ayrı aygıtta denemek ve anlık görüntü almaktır.
- Genişletme aşağıdan yukarı, küçültme yukarıdan aşağı yapılır; sıranın tersine çevrilmesi
  hata iletisi değil, sessiz veri kaybı üretir.

## Kurs Kapanışı

Bu kurs bir soruyu yirmi iki kez sordu: **çıktının söylediği ile sistemin gerçeği arasındaki
fark ne kadar.** Her derste üç sayı yan yana durdu — kâhin, aracın gösterdiği ve o gösterimden
çıkarılan tanının kaç kez yanlış olduğu. Kursun kuralı buydu: bir komutun sayısı gösterdiği
satır değil, o satırlardan çıkarılan tanının kaç kez yanlış olduğudur.

Aşağıdaki tablo yirmi iki dersin ölçüsünü tek yerde toplar. **Boş bırakılan satırlar
uydurulmamıştır**: her satır yalnız kendi kaynak dersinden yazılır ve o dersler bu payda
üretilmedi.

| Ders | Kâhin | Araç çıktısı | Yanlış tanı |
|---|---|---|---|
| Süreç Listeleme ve Arama | 24 sürecin **14'ü** ağır | aralık 1/5/15/30/60 → 14, 14, 11, 9, 9 | **0, 0, 3, 5, 5**; ömür ortalaması sütunu **7** |
| Ön Plan ve Arka Plan İşleri | 13 işten `&` ile **0'ı**, ayırmayla **4'ü** yaşıyor | `jobs` **13 satır** | `&` **13**, ayırma **9**, uçtermini kesen yol **0** |
| Sinyaller | isteği kabul eden **2**, direnen **5**; zorlayanda **7/7** | çıkış kodu her denemede **0** | bekleme 0/10/30 saniye → **7, 6, 5** |
| Süreç Öncelikleri | toplam iş **237.906 → 238.244**, yük 3,97'de sabit | `NI` sütunu **6/6** değişti | **6/6**; boşalan payın yüzde **94'ü** öteki ağır süreçlere gidiyor |
| Kaynak Sınırları | **8 arıza nedeni** | **3 ileti + 1 sessizlik**, her ileti iki nedene | yalnız ileti **21**, yalnız sınır **29**, birleşik **13** |
| Servis Yöneticisi Modeli | 6 birim, **7** geçişli bağımlılık | düz **0** / doğrudan **4** / geçişli **7** / sıralı **9** satır | **3 / 2 / 0 / 2** — en çok satır basan okuma en iyi tanıyı vermiyor |
| Servis Durumu ve Denetimi | 6 birimin 6'sı arızalı, **60** yeniden başlatma | **4** birim "çalışıyor", görünmez süre **600** | **4/6**; yoklama 1/5/15/30/60 → **480/99/33/18/10** |
| Yeni Servis Tanımlama | **60** çöküş, 9 bileşimin 9'unda arızalı | 5 "çalışıyor", 2 "çıktı", 2 "arızalı" | **7/9**; başlatma sınırı yok/20/10/5/3 → görünmez süre **600/600/106/62/41** |
| Önyükleme Süreci | `veri-alma` → **4** etkilenen, kesinti gören **5** | "**1 birim**"; **4** birim hiç denenmiyor | **3/6** |
| Önyükleyiciler | 24 değişikliğin **11'i** iş görüyor | üretici **24**, komut satırı **21**, davranış sınaması **11** | **13 / 10 / 0**; kurtarma günlüğü ikisinde de **0** satır |
| Günlük Mimarisi | 4000 satırda 86 hata, gerçek kaynak **31** ile `isleme` | altı birim dosyası: 28, 0, 31, 0, 27, 0 | **5/6**; üç dosya **tamamen sessiz** |
| Kimlik Doğrulama Günlükleri | 601 satırda **41** saldırı satırı | dört süzgeç: 153, 67, 51, 43 satır | **114 / 28 / 12 / 2** |
| Günlük Filtreleme ve Döndürme | **86 hata**, ilki 6,1. saniyede | döndürmede kalan 86, 42, **19**, 12, **5** | altı sorudan **0/3/4/4/4**; oran 0,2209 ve **0,0581** |
| Sistem Sağlığı Ölçümleri | anlık yük eşiği **54 saniye** aşıyor | ortalama bant 6,18–6,25, eşiği **hiç** aşmıyor | **54**; yanlış alarm **0** |
| Başarım Sorunlarının İzi | **18 olay** (4/4/10) | beş görüntü: 432, **1728**, 432, 54, 54 satır | **12 / 12 / 8 / 2 / 0** — satır dörde katlanınca tanı **değişmiyor** |
| Blok Aygıtları ve Bölümler | boş alan dört parça, en büyük bitişik 2.881.536 sektör | bölüm listesi 3.702.784 boş sektör | 6 / 12 karar |
| Dosya Sistemleri | bozuk bloğa dokunan 54 okuma | sağlama toplamsız tasarımda 0 hata | 54 sessiz okuma |
| Dosya Düğümleri ve Meta Veri | 32.768 dosyada yazma başarısız | blok doluluk 0,0125 | 2 / 12 uyarı |
| Takma ve Kalıcı Takma | 717 dosya gerçekten eskimiş | 1504 dosya eski görünüyor | 787 yanlış silme |
| Mantıksal Birim Yönetimi | yazılabilir alan 296 blok | lvs 4392, vgs 8488 blok | 7 / 21 okuma |
| Takas Alanı | bellek baskısı 84 saniye | kullanılan takas 533'te duruyor | 272 yersiz uyarı |
| Disk Ekleme ve Genişletme | iş yedinci adımda bitiyor | lsblk birinci adımdan beri aygıtı gösteriyor | 13 / 45 okuma |

Depolama bölümünün yedi dersi tek bir örüntüyü tekrar tekrar gösterdi. Araçlar yalan
söylemiyor; her biri kendi katmanında doğruyu söylüyor ve sorulan soru o katmanın sorusu
değil. Bölüm listesi boşluk haritası değildir, doluluk yüzdesi yazılabilirlik değildir,
mantıksal birimin boyutu dosya sisteminin boyutu değildir, kullanılan takas bellek baskısı
değildir. Yanlış tanı bu boşluklarda doğuyor ve sayısı sütun eklemekle azalmıyor: dosya
düğümü ölçümünde üç ayrı uyarı kuralı da on iki durumda ikişer yanlış verdi, yalnız yanlışın
türü değişti.

İkinci bir örüntü zamanla ilgiliydi. Anlık görüntü dört yüz on üçüncü saniyede doldu ve
altmış saniyede bir bakan izleme o ana kadar kıpırdamayan bir sayı gördü; takas hızı iki
bakış arasına düştüğünde kaçırılan saniye 2'den 49'a çıktı. Kanıt kendiliğinden yok oluyor
ve depolamada bu, dolan bir alanın ya da düşen bir anlık görüntünün ardında hiçbir iz
bırakmamasıyla oluyor. Geç bakan az görür.

Kurs boyunca yıkıcı komutlar tam biçimde yazılmadı ve bu bir eksiklik değil, ölçümün bir
parçasıydı. Bölümleme tablosunu yazan, dosya sistemi kuran, mantıksal birim silen ve takas
alanı biçimlendiren komutların ortak yanı, hedefin yanlış seçilmesi hâlinde hiçbir uyarı
üretmemeleridir. Güvenli yol her derste aynı dört adımdı: hedefi kimliğinden doğrulamak,
kuru çalışma çıktısını okumak, denemeyi ayrı bir aygıtta yapmak ve geri dönüş noktası bırakmak.

Bir sonraki kurs, **Linux Ağ Yönetimi ve Sorun Giderme**, aynı soruyu tek makinenin dışına
taşır. Orada da bir arayüz listesi vardır ve listede görünen adres bağlantının kurulabildiği
anlamına gelmez; orada da bir yönlendirme tablosu vardır ve tablodaki satır paketin oraya
ulaştığını göstermez. Katmanlı tanı yöntemi, bu kursun katman katman ayırdığı depolama
zincirinin ağ üzerindeki karşılığıdır: fiziksel bağlantıdan uygulamaya doğru daralan bir
sorgu dizisi ve her katmanda "burada doğru, üstte değil" diyen bir araç. Ayrıca orada
kanıt daha da hızlı yok olur, çünkü paket geçip gider ve yakalanmadığı sürece hiçbir yerde
durmaz.
