---
title: "XFS ve LVM ile Kesintisiz Disk Genişletme"
canonical: https://hamzadenizyilmaz.com.tr/blog/xfs-ve-lvm-ile-kesintisiz-disk-genisletme
author: "Hamza Deniz Y\u0131lmaz"
created: 2026-08-01T18:51:52.0000000+03:00
published: 2026-08-01T18:51:52.0000000+03:00
modified: 2026-10-30T00:30:44.8279693+00:00
---

# XFS ve LVM ile Kesintisiz Disk Genişletme

Bir sanal diski büyütmek, üzerindeki dosya sistemini kendiliğinden büyütmez. XFS bir LVM mantıksal birimi üzerinde çalışıyorsa yeni alanın sırasıyla disk, varsa bölüm, fiziksel birim (PV), birim grubu (VG), mantıksal birim (LV) ve dosya sistemine ulaşması gerekir. Önce `lsblk`, `pvs`, `vgs`, `lvs` ve `findmnt` ile hangi katmanda boş alan bulunduğunu belirleyin; yalnızca eksik katmanı genişletin.

Bu rehber, standart kalın tahsisli bir LVM LV üzerinde bağlı XFS dosya sistemini büyütme akışını anlatır. RAID, multipath, thin pool, LUKS şifreleme ve küme depolaması farklı ara katmanlar içerir. Bu yapılarda aşağıdaki cihaz adlarını doğrudan kullanmayın. Örnekler bir laboratuvar düzenini açıklar; bu makale belirli bir müşteri sisteminde işlemin test edildiği iddiasını taşımaz.

## Katmanları doğru okuyun

Örnek düzenimizde sanal disk `/dev/sdb`, diskin son bölümü `/dev/sdb1`, PV bu bölümün üzerinde, VG `vg_data`, LV `lv_app` ve XFS bağlama noktası `/srv/app` olsun:

```text
/dev/sdb → /dev/sdb1 → PV → vg_data → lv_app → XFS → /srv/app
```

Bu isimler gerçek sisteminizden alınmış değerler değildir. Özellikle işletim sistemi diski ile veri diskini karıştırmak veri kaybına yol açabilir. `/dev/mapper/` adları içindeki çift tireler LVM ad kaçışından kaynaklanabilir; isimleri tahmin etmek yerine `lvs` çıktısını kullanın.

| Katman | Kontrol | Aranan bilgi |
|---|---|---|
| Disk/bölüm | `lsblk` | Yeni disk boyutu ve bölümün boyutu |
| PV | `pvs` | Fiziksel birim boyutu ve kullanılabilir alan |
| VG | `vgs` | LV'ye atanabilecek `VFree` |
| LV | `lvs` | Hedef LV'nin boyutu ve türü |
| Dosya sistemi | `findmnt`, `df` | XFS türü, doğru bağlama noktası ve kullanılabilir alan |

## Değişiklik öncesi kayıt ve yedek

Önce uygulama verisinin geri yüklenebilir yedeğini alın. Hipervizör snapshot'ı tek başına veritabanı tutarlılığı veya bağımsız yedek garantisi değildir. LVM metadata yedeği de dosyaların yedeği değildir. Bu ayrım büyütme işleminin geri dönüşünü planlarken belirleyicidir.

Aşağıdaki komutlar envanter çıkarır; boyut değiştirmez:

```bash
lsblk -o NAME,PATH,SIZE,TYPE,FSTYPE,MOUNTPOINTS
findmnt -T /srv/app -o SOURCE,FSTYPE,TARGET,OPTIONS
df -hT /srv/app
sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo vgs -o vg_name,vg_size,vg_free
sudo lvs -a -o lv_name,vg_name,lv_size,segtype,devices
```

`findmnt` sonucu `xfs` değilse XFS adımına geçmeyin. `lvs` içinde `thin`, `thin-pool`, `raid` gibi türler varsa bu örneğin kapsamı dışındasınız. Çıktıları tarihli değişiklik kaydına ekleyin. Kullanılan LVM ve XFS araç sürümlerini `lvm version` ve `xfs_growfs -V` ile kaydedin; dağıtımın kendi sürüm belgelerini esas alın.

LVM metadata'sını ayrıca saklayabilirsiniz:

```bash
sudo vgcfgbackup vg_data
```

Bu komutun ürettiği kayıt, veri yedeğinin yerine geçmez. Dosya sisteminin içeriğini eski boyuta geri taşımaz.

## Hangi adımlara ihtiyacınız var?

**VG içinde yeterli `VFree` zaten varsa:** Disk, bölüm ve PV adımlarını atlayın; doğrudan hedef LV'yi büyütün. Kullanılabilir kapasiteyi tekrar diske eklemeye çalışmak gereksizdir.

**Disk büyüdü, PV'nin bulunduğu bölüm eski boyutta kaldıysa:** Önce bölümü, ardından PV'yi büyütün. Bölümün arkasında bitişik boş alan bulunmalıdır.

**PV doğrudan bütün diskin üzerindeyse:** Ortada `/dev/sdb1` gibi bir bölüm olmayabilir. Bölüm büyütme komutu kullanmayın; doğru disk cihazındaki PV için `pvresize` adımını değerlendirin.

**Yeni ve ayrı bir disk eklendiyse:** Bu, mevcut diski büyütmekten farklıdır. Yeni cihazda PV oluşturma ve VG'ye ekleme gerekir. Mevcut verili diskte `pvcreate` çalıştırmak bu rehberin hiçbir adımı değildir.

## 1. İşletim sisteminin yeni disk kapasitesini gördüğünü doğrulayın

Sanal diskin kapasitesini önce depolama veya hipervizör tarafında artırın. Ardından `lsblk` ile işletim sisteminin gördüğü disk boyutunu karşılaştırın. Eski boyut görünüyorsa bölüm veya LVM komutları yeni alanı oluşturamaz.

Diskin yeniden taranması cihaz türüne ve sanallaştırma platformuna bağlıdır. SCSI, NVMe ve multipath için tek bir evrensel yeniden tarama komutu yoktur. Platformun desteklediği yöntemi uygulayın; üretim sisteminde rastgele `/sys` yollarına yazmayın. Yeni disk boyutu doğrulanmadan devam etmeyin.

## 2. Yalnızca bölüm tabanlı PV için bölümü büyütün

Örneğimizde `/dev/sdb1`, `/dev/sdb` diskinin son bölümüdür. `growpart` kuruluysa önce değişiklik yapmayan önizlemeyi alın:

```bash
sudo growpart -N /dev/sdb 1
```

Önizlemede hedefin doğru bölüm olduğunu ve başlangıç sektörünün değişmediğini kontrol edin. Sonuç uygunsa:

```bash
sudo growpart /dev/sdb 1
lsblk -o NAME,PATH,SIZE,TYPE,FSTYPE,MOUNTPOINTS /dev/sdb
```

Burada disk ile bölüm numarası ayrı argümanlardır. NVMe örneğinde disk `/dev/nvme1n1`, bölüm numarası `1` olur; komutun ilk argümanı `/dev/nvme1n1p1` değildir. Bölümün sonrasında başka bir bölüm varsa bu örnekle ilerlemeyin. Bölümü silip yeniden oluşturmayı, başlangıç sektörünü taşımayı veya dosya sistemini yeniden biçimlendirmeyi çözüm olarak kullanmayın.

İşletim sistemi bölüm tablosunun güncellenmesini reddederse çıktıyı inceleyin. Kesintisiz büyütme her sistemde garanti değildir; desteklenen yeniden okuma veya bakım penceresi gerekebilir.

## 3. PV'nin yeni alanı görmesini sağlayın

Bölüm boyutu doğrulandıktan sonra PV'yi büyütün:

```bash
sudo pvresize /dev/sdb1
sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo vgs -o vg_name,vg_size,vg_free
```

`pvresize`, bu örnekte PV'nin mevcut blok cihazı kapasitesini yeniden değerlendirir. VG içindeki boş alanın arttığını görmelisiniz. Artmadıysa yanlış PV, güncellenmemiş bölüm boyutu veya ek depolama katmanı olasılığını araştırın. `--setphysicalvolumesize` ile tahmini bir boyutu zorlamayın.

## 4. Hedef LV'ye kontrollü miktarda alan ekleyin

VG'de yeterli boşluk varsa örneğin 20 GiB ekleyin:

```bash
sudo lvextend -L +20G /dev/vg_data/lv_app
sudo lvs -o lv_name,vg_name,lv_size,segtype,devices
```

`+20G`, mevcut boyuta alan ekler; `20G` ise hedef toplam boyutu ifade eder. Bu farkı gözden kaçırmayın. `-l +100%FREE` tüm boş extents'i hedef LV'ye ayırır; başka LV'ler, snapshot veya büyüme rezervi için alan bırakmaz. Bu nedenle kapasite planı olmadan tüm boşluğu tüketmek yerine açık bir artış miktarı kullanıyoruz.

Bu adımın ardından `lvs` yeni boyutu, `df` ise hâlâ eski dosya sistemi boyutunu gösterebilir. Bu beklenebilir: LV ve dosya sistemi farklı katmanlardır.

## 5. Bağlı XFS dosya sistemini büyütün

Doğru bağlama noktasını bir kez daha doğrulayıp XFS'yi genişletin:

```bash
findmnt -T /srv/app -o SOURCE,FSTYPE,TARGET
sudo xfs_growfs -d /srv/app
df -hT /srv/app
```

`/srv/app` bağlı XFS'nin hedefidir. `xfs_growfs`, alttaki LV'yi büyütmez; LV adımı tamamlanmış olmalıdır. `resize2fs` XFS için uygun araç değildir. İki adımı açık göstermek, LV büyütmesi başarılı olup dosya sistemi adımı başarısız kaldığında hangi işlemin tamamlandığını ayırt etmeyi kolaylaştırır.

## Sonucu hangi kanıtlarla kabul edeceksiniz?

Başarı ölçütü komutun yalnızca sıfır çıkış kodu vermesi değildir. Envanteri tekrar alın ve üç karşılaştırma yapın: PV/VG toplam kapasitesi doğru mu; hedef LV planlanan miktarda büyüdü mü; aynı bağlama noktasındaki XFS yeni kapasiteyi gösteriyor mu? Mevcut dosyaların okunabildiğini, uygulamanın kontrollü bir yazma işlemini tamamladığını ve yeni disk/dosya sistemi hatası kaydedilmediğini ayrıca kontrol edin.

```bash
sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo vgs -o vg_name,vg_size,vg_free
sudo lvs -o lv_name,vg_name,lv_size
findmnt -T /srv/app -o SOURCE,FSTYPE,TARGET
df -hT /srv/app
```

## Sık görülen hatalar

| Belirti | Kontrol ve sonraki adım |
|---|---|
| `Insufficient free space` | `vgs` ile boş extents'i kontrol edin. PV büyümesi tamamlanmadan LV'ye alan atanamaz. |
| `data size unchanged` | `lvs` ile alttaki LV boyutunu, `findmnt` ile doğru XFS bağlama noktasını kontrol edin. |
| `not a mounted XFS filesystem` | Yanlış yol veya farklı dosya sistemi türü olabilir; `findmnt -T` sonucunu doğrulayın. |
| Disk büyüdü, `pvs` değişmedi | Bölüm boyutunu ve `pvresize` hedefini karşılaştırın. |
| Dosya sisteminde boş alan var ama yazılamıyor | İzin, kota, inode, salt okunur bağlama ve uygulama hatalarını inceleyin; tekrar LV büyütmek tek başına çözüm değildir. |

## Geri dönüş ve sınırlar

Bu işlem zincirinin tersini komutları ters sırayla çalıştırarak uygulamayın. RHEL 9 gibi dağıtımların desteklediği XFS sürümlerinde dosya sistemi küçültme desteğini varsaymayın. Daha yeni upstream araçlardaki yetenekler dağıtımınızın çekirdek ve destek politikasına otomatik olarak taşınmaz. Dosya sisteminden küçük bir LV oluşturmak veri kaybına yol açabilir. Yanlış kapasite tahsisinin düzeltilmesi gerekiyorsa doğrulanmış yedekten yeni, uygun boyutlu bir dosya sistemine geri yükleme planı hazırlayın.

## Sık sorulan sorular

### Yeniden başlatma kesinlikle gerekmiyor mu?

Bağlı XFS büyütülebilir; ancak disk ve bölüm boyutunun çalışan sistem tarafından tanınması platforma bağlıdır. Bu nedenle başlıktaki kesintisiz büyütme bir yetenektir, her altyapıda sıfır kesinti garantisi değildir.

### `lvextend -r` kullanabilir miyim?

LVM'nin `--resizefs` seçeneği desteklenen araçlarla dosya sistemini de büyütmeyi deneyebilir. Burada katmanların ayrı doğrulanabilmesi için `lvextend` ve `xfs_growfs` ayrı gösterildi. Dağıtımınızın LVM araçları ve dosya sistemi yardımcıları için destek belgesini kontrol edin.

### Ağ yapılandırması yapmam gerekiyor mu?

Hayır. Bu senaryoda DNS, Netplan veya güvenlik duvarı değişikliği yoktur. İşlem mevcut blok depolama kapasitesinin doğru katmanlara aktarılmasıdır.

## Kaynaklar

- [Red Hat Enterprise Linux 9 — XFS dosya sistemini büyütme](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_file_systems/increasing-the-size-of-an-xfs-file-system_managing-file-systems)
- [LVM2 pvresize kılavuzu](https://man7.org/linux/man-pages/man8/pvresize.8.html)
- [LVM2 lvextend kılavuzu](https://man7.org/linux/man-pages/man8/lvextend.8.html)
- [xfsprogs xfs_growfs kılavuzu](https://man7.org/linux/man-pages/man8/xfs_growfs.8.html)
- [Ubuntu growpart kılavuzu](https://manpages.ubuntu.com/manpages/noble/en/man1/growpart.1.html)

Yazar: Hamza Deniz Yılmaz. Teknik gözden geçirme: 29 Ekim 2026. Komutlar örnek cihaz düzeni içindir; kullanılan sürüm ve gerçek test sonuçları uygulama kaydında ayrıca belirtilmelidir.

## XFS ve LVM ile Kesintisiz Disk Genişletme — kaynak ve uygulama notları

### Konuya özgü sınır

Disk bölümü, fiziksel hacim, mantıksal hacim ve dosya sistemi farklı katmanlardır. XFS büyütme işlemi, alttaki blok aygıtında alan açılmasının yerine geçmez. Hedefin mount noktasını ve dosya sistemi türünü belirleyin; XFS için küçültme işlemi varsaymayın.

### Durumu değiştirmeden ön kontrol

Aşağıdaki sorgular envanter içindir; yetki veya modül eksikliği ayrıca değerlendirilmelidir. Çıktılar burada çalıştırılmış test sonucu olarak sunulmamaktadır.

```sh
lsblk -f
findmnt -o SOURCE,FSTYPE,TARGET
lvs
```

### Birincil başvuru

- [Linux XFS belgeleri](https://docs.kernel.org/filesystems/xfs/index.html)

### İlgili okuma yolu

- [LVM Disk Büyütme ve Dosya Sistemi Genişletme](/blog/lvm-disk-buyutme-ve-dosya-sistemi-genisletme)

- [Cloudflare DNS'e Kesintisiz Geçiş Planı](/blog/cloudflare-dns-e-kesintisiz-gecis-plani)

- [Plesk Migration Manager ile Kesintisiz Site Taşıma](/blog/plesk-migration-manager-ile-kesintisiz-site-tasima)
