Blog Projeler Dokümanlar Araçlar Hizmetler Dosyalar Linkler Hakkımda İletişim
.NET, API, veritabanı ve kullanıcı arayüzü bileşenlerinden oluşan yazılım mimarisi

XFS ve LVM ile Kesintisiz Disk Genişletme

XFS üzerinde LVM disk büyütme: disk, bölüm, PV, VG ve LV katmanlarını doğrulayın; pvresize, lvextend ve xfs_growfs adımlarını doğru sırayla uygulayın.

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:

/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:

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:

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:

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:

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:

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:

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:

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.

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

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.

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

Birincil başvuru

İlgili okuma yolu

Paylaş:

Markdown olarak görüntüle · Markdown indir

Kaynak kullanımı ve düzeltme bildirme ilkeleri

Bu yazı hakkında sorunuz mu var? İletişime geçin.

İletişime Geç

İlgili yazılar

.NET, API, veritabanı ve kullanıcı arayüzü bileşenlerinden oluşan yazılım mimarisi
AlmaLinux

nmcli ile Bond, VLAN ve Statik IP Yapılandırması

nmcli ile Bond, VLAN ve Statik IP Yapılandırması için gerçek komutlar, yapılandırma örnekleri, beklenen çıktılar, güvenlik kontrolleri, yedekleme ve geri dönüş adımları içeren uygulamalı rehber. Amaç; varsayılan ayarları körlemesine kullanmadan ihtiyaca uygun, doğrulanabilir ve geri alınabilir bir yapılandırma oluşturmak.

.NET, API, veritabanı ve kullanıcı arayüzü bileşenlerinden oluşan yazılım mimarisi
AlmaLinux

Rootless Podman ile Production Container Çalıştırma

Rootless Podman ile Production Container Çalıştırma için gerçek komutlar, yapılandırma örnekleri, beklenen çıktılar, güvenlik kontrolleri, yedekleme ve geri dönüş adımları içeren uygulamalı rehber. Amaç; varsayılan ayarları körlemesine kullanmadan ihtiyaca uygun, doğrulanabilir ve geri alınabilir bir yapılandırma oluşturmak.

.NET, API, veritabanı ve kullanıcı arayüzü bileşenlerinden oluşan yazılım mimarisi
AlmaLinux

SELinux Context, Booleans ve audit2why ile Sorun Çözme

SELinux Context, Booleans ve audit2why ile Sorun Çözme için gerçek komutlar, yapılandırma örnekleri, beklenen çıktılar, güvenlik kontrolleri, yedekleme ve geri dönüş adımları içeren uygulamalı rehber. Amaç; belirtiyi tahminle değil katman katman ölçerek kök nedene indirmek ve düzeltmeyi kanıtlamak.

.NET, API, veritabanı ve kullanıcı arayüzü bileşenlerinden oluşan yazılım mimarisi
AlmaLinux

Cockpit Web Yönetim Paneli Kurulumu ve Erişim Güvenliği

Cockpit Web Yönetim Paneli Kurulumu ve Erişim Güvenliği için gerçek komutlar, yapılandırma örnekleri, beklenen çıktılar, güvenlik kontrolleri, yedekleme ve geri dönüş adımları içeren uygulamalı rehber. Amaç; sıfırdan kurulum yapmak, varsayılan davranışı görmek ve servisin gerçekten çalıştığını kanıtlamak.

.NET, API, veritabanı ve kullanıcı arayüzü bileşenlerinden oluşan yazılım mimarisi
AlmaLinux

Fail2ban ile SSH ve Web Servisi Koruması

Fail2ban ile SSH ve Web Servisi Koruması için gerçek komutlar, yapılandırma örnekleri, beklenen çıktılar, güvenlik kontrolleri, yedekleme ve geri dönüş adımları içeren uygulamalı rehber. Amaç; varsayılan ayarları körlemesine kullanmadan ihtiyaca uygun, doğrulanabilir ve geri alınabilir bir yapılandırma oluşturmak.

.NET, API, veritabanı ve kullanıcı arayüzü bileşenlerinden oluşan yazılım mimarisi
AlmaLinux

DNF Depo Yönetimi: BaseOS, AppStream, CRB ve EPEL

DNF Depo Yönetimi: BaseOS, AppStream, CRB ve EPEL için gerçek komutlar, yapılandırma örnekleri, beklenen çıktılar, güvenlik kontrolleri, yedekleme ve geri dönüş adımları içeren uygulamalı rehber. Amaç; varsayılan ayarları körlemesine kullanmadan ihtiyaca uygun, doğrulanabilir ve geri alınabilir bir yapılandırma oluşturmak.