Proxmox LVM-Thin Havuzu Dolduğunda Ne Yapılmalı? Sanal Sunucuları Kurtarma Rehberi
Proxmox VE (Virtual Environment) üzerinde yerel depolama mimarisi olarak sıkça tercih edilen LVM-Thin, “thin provisioning” (esnek disk alanı tahsisi) yeteneği sayesinde sanal makinelere gerçekte var olandan daha fazla disk alanı atanabilmesine (over-provisioning) olanak tanır. Ancak bu esneklik, havuzun gerçek doluluk oranı takip edilmediğinde büyük bir riski beraberinde getirir. Proxmox LVM-Thin havuzu dolduğunda, veri yazmaya devam […]
Proxmox VE (Virtual Environment) üzerinde yerel depolama mimarisi olarak sıkça tercih edilen LVM-Thin, “thin provisioning” (esnek disk alanı tahsisi) yeteneği sayesinde sanal makinelere gerçekte var olandan daha fazla disk alanı atanabilmesine (over-provisioning) olanak tanır. Ancak bu esneklik, havuzun gerçek doluluk oranı takip edilmediğinde büyük bir riski beraberinde getirir. Proxmox LVM-Thin havuzu dolduğunda, veri yazmaya devam edemeyen sanal sunucular aniden kilitlenir, “Read-only” (Salt Okunur) moda geçer veya tamamen askıda (IO-freeze) kalır.
Bu rehberde, LVM-Thin havuzunun %100 dolması durumunda CLI üzerinden kriz anı yönetimini, sanal makineleri (VM) güvenli bir şekilde kurtarma adımlarını ve havuzu genişletme yöntemlerini bulacaksınız.
—
1. Kriz Anında İlk Teşhis: CLI ile Durum Kontrolü
Sanal sunucular yanıt vermeyi kestiğinde ve Proxmox arayüzünde diske yazma (I/O) hataları belirdiğinde, root kullanıcısı ile SSH üzerinden Proxmox hostuna bağlanın. Sorunun kaynağını doğrulamak için aşağıdaki komutları sırasıyla çalıştırın:
# Mantıksal hacimlerin (LV) doluluk oranlarını kontrol edin
lvs -a -o lv_name,lv_size,data_percent,metadata_percent,lv_attr
Bu komutun çıktısında, ilgili LVM-Thin havuzunun (genellikle data veya pve-data olarak adlandırılır) Data% değerinin 100.00 olduğunu görüyorsanız, havuz tamamen kilitlenmiş demektir. Ayrıca Metadata% alanının da dolup dolmadığını kontrol edin; metadata alanının dolması da havuzun kilitlenmesine yol açar.
Sistem loglarındaki hata mesajlarını yakalamak için:
dmesg | tail -n 50
# veya
journalctl -u pvedaemon --since "1 hour ago"
Loglarda thin-pool-name: space check failed veya write failed: No space left on device gibi ibareler krizin nedenini açıkça ortaya koyacaktır.
—
2. Sanal Sunucuları Kurtarma Adımları
Havuz %100 dolduğunda sanal makineler diske veri yazamadığı için normal yollarla kapatılamaz veya Proxmox arayüzünden doğrudan müdahale edilemeyebilir. Sistemi ayağa kaldırmak için aşağıdaki acil durum senaryolarından birini uygulamanız gerekir.
Yöntem A: Güvenli Alan Açma (Kalıntı ve Log Temizliği)
LVM-Thin havuzunu genişletmeden veya içeriden dosya silmeden önce, Proxmox hostunun kendi ana diskinde (root dosya sisteminde) yer açmak geçici bir rahatlama sağlayabilir (özellikle local ve local-lvm aynı disk üzerindeyse):
# Eski ve gereksiz Proxmox ISO dosyalarını silin
rm -rf /var/lib/vz/template/iso/*
# İşletim sistemi paket önbelleğini temizleyin
apt-get clean
# Eski sistem loglarını temizleyerek diskte yer açın
journalctl --vacuum-time=1d
Yöntem B: Askıda Kalan Sanal Makineleri Zorla Durdurma
Havuz dolduğu için I/O döngüsüne giren ve komut almayan VM’leri (Virtual Machine) kapatarak veri bozulmasının önüne geçebilirsiniz. Normal kapatma (shutdown) çalışmayacağı için zorunlu durdurma uygulanmalıdır:
# Kilitlenen VM'in ID'sini bulun (Örn: 101)
qm stop 101 --skiplock
# Eğer arayüz veya qm komutu yanıt vermiyorsa, işlemi KVm sürecinden sonlandırın
ps aux | grep kvm
kill -9 [VM_PID]
VM’leri durdurmak, LVM-Thin üzerindeki anlık yazma baskısını ortadan kaldıracak ve havuzun yönetim komutlarına tekrar yanıt vermesini sağlayacaktır.
—
3. LVM-Thin Havuzunu Genişletme (Resizing)
Sanal sunucuları kalıcı olarak kurtarmanın ve tekrar başlatabilmenin en sağlıklı yolu, LVM-Thin havuzunun boyutunu fiziksel olarak artırmaktır. Bunun için sunucuda boşta duran bir disk alanı, yeni bir disk veya mevcut Volume Group (VG) üzerinde ayrılmamış alan bulunmalıdır.
Mevcut Volume Group İçinde Alan Varsa Genişletme
Eğer vgs komutu çıktısında VFree (Boş Alan) kısmı yeterli görüyorsa, thin-pool hacmini doğrudan genişletebilirsiniz:
# Havuz adınızın 'data', VG adınızın 'pve' olduğunu varsayarsak 50GB genişletmek için:
lvextend -L +50G /dev/pve/data
# Havuzun metadata alanını da genişletmek gerekirse (Örn: 1GB):
lvextend --poolmetadatasize +1G /dev/pve/data
Yeni Disk Ekleyerek Volume Group Genişletme
Eğer sunucuya yeni bir fiziksel disk (Örn: /dev/sdb) eklendiyse, önce bu diski fiziksel hacim (PV) yapıp ardından mevcut gruba dahil etmelisiniz:
# Fiziksel hacim oluşturun
pvcreate /dev/sdb
# Diski mevcut pve Volume Group'una dahil edin
vgextend pve /dev/sdb
# Şimdi thin-pool alanını yeni eklenen alanla genişletin
lvextend -l +100%FREE /dev/pve/data
Genişletme işlemi tamamlandıktan sonra lvs komutu ile **Data%** oranının %100’den güvenli bir seviyeye (Örn: %80) düştüğünü doğrulayın.
—
4. Alternatif Çözüm: Sanal Makineyi Farklı Depolama Alanına Taşımak
Sunucuya yeni bir disk ekleme şansınız yoksa ancak Proxmox’a bağlı farklı bir depolama birimi (NFS, Samba, harici disk veya harici bir local disk) mevcutsa, kilitlenen sanal makinenin diskini o alana taşıyarak havuzu rahatlatabilirsiniz.
VM disklerini CLI üzerinden taşımak için (VM kapalı konumdayken):
# VM 101'in diskini 'local-lvm' havuzundan 'backup-storage' adlı depolama alanına taşır
qm move_disk 101 scsi0 backup-storage --delete
Kritik Not: Havuz %100 dolu olduğunda taşıma işlemi sırasında geçici dosyalar yazılamayacağı için hata alınabilir. Bu nedenle öncelikle yukarıdaki adımlarla havuzda çok küçük de olsa bir alan açılması veya VM’in imajının
ddkomutuyla harici bir yere klonlanması gerekebilir.
—
5. Gelecekte Havuzun Dolmasını Önlemek İçin Alınacak Önlemler
Proxmox LVM-Thin havuzunun aniden dolması gibi kriz durumlarıyla tekrar karşılaşmamak için altyapınızda şu otomasyonları ve yapılandırmaları uygulamanız önerilir:
- Auto-Extend Özelliğini Aktif Edin: LVM’in belirli bir eşik geçildiğinde havuzu otomatik genişletmesini sağlayabilirsiniz.
/etc/lvm/lvm.confdosyasını düzenleyin:thin_pool_autoextend_threshold = 80 thin_pool_autoextend_percent = 20(Bu ayar, havuz %80 doluluğa ulaştığında VG üzerinde boş alan varsa havuzu %20 oranında otomatik büyütür.)
- Sanal Makinelerde Discard/TRIM Desteğini Açın: Sanal makinelerin içerisinden silinen dosyaların kapladığı alanın LVM-Thin havuzuna geri iade edilebilmesi için VM disk ayarlarında Discard seçeneğini işaretleyin ve konuk işletim sisteminde haftalık
fstrim -avkomutunu cronjob’a ekleyin. - Erken Uyarı Alarmı Kurun: Proxmox entegre metriklerini veya harici izleme yazılımlarını (Grafana, Zabbix vb.) kullanarak LVM-Thin doluluk oranı %85 üzerine çıktığında e-posta veya SMS uyarısı tetikleyin.
Altyapınız için teklif alın
Bulut sunucu, kurumsal e-posta veya yönetilen hizmetler hakkında uzman ekibimiz size yardımcı olsun.
İlgili Yazılar
Neden Yönetilen Hizmet (Managed IT)? Sunucu Outsource Avantajları
Günümüz iş dünyasında dijital altyapıların kesintisiz, güvenli ve performanslı çalışması, şirketlerin rekabet gücünü doğrudan belirler.…
RBL (Real-time Blackhole List) Nedir? IP Kara Listeden Nasıl Çıkarılır?
Kurumsal e-posta iletişiminde karşılaşılan en can sıkıcı durumlardan biri, gönderilen e-postaların aniden karşı tarafa ulaşmaması veya…
Zimbra Destek Hizmeti | Kurumsal Zimbra Teknik Destek ve Yönetilen Zimbra | NETSE
Zimbra Destek Hizmeti: Kurumsal İşletmeler İçin Profesyonel Zimbra Destek Rehberi (2026) Kurumsal e-posta altyapıları, işletmelerin günlük…