Anlık görüntüler alan tüketiyor
Belirti
Anlık görüntüler (snapshot) yoğun olarak kullanıldığında havuzdaki boş alan beklenenden daha hızlı azalır.
Neden
Bir anlık görüntü oluşturulduğunda alan tüketmez, ancak birimin (volume) verileri yakalanan durumdan farklılaştıkça kapasite kullanmaya başlar. Uzun ömürlü anlık görüntüler bu farkları biriktirir.
Anlık görüntülerin yanı sıra klonlar da kapasite tutar. Klon, yazma sırasında kopyalama
(copy-on-write) yöntemiyle oluşturulan bir kopyadır: oluşturulduktan hemen sonra neredeyse
hiç alan tüketmez, ancak kaynak verilere dayanır. Bir klon var olduğu sürece kaynak
silinemez: silme işlemi -2604 döndürür ve silmeyi engelleyen klonları listeler.
Nasıl kontrol edilir
- Makinenin anlık görüntülerinin sayısı ve boyutu: VM kartında Name, Date of creation ve Size (GB) sütunlarını içeren Snapshots tablosunu kontrol edin. Oluşturma tarihi uzun ömürlü anlık görüntüleri belirler.
- Kalan havuz kapasitesi:
Provider Data Center→Storage Resources, ZFS pools tablosu, Capacity (RAW) sütunu. Havuz kartı aynı değeri Properties bölümünde daha ayrıntılı olarak gösterir. - Küme için yapılandırılmış kapasite eşiği:
get-statusmapyanıtındakipool_capacity_tresholdseçeneği. Küme 11…94 aralığındaki değerleri kullanır, varsayılan değer 60'tır. Küme 10 ve 95 değerlerini ve aralık dışındaki tüm değerleri, reddetmeden sessizce 60 ile değiştirir. Yanıt veritabanındaki orijinal kaydı gösterir, bu nedenle değiştirme yanıtta görünmez. - Makinenin verilerini tutan klonları olup olmadığı: böyle bir makineyi silme girişimi,
klon listesiyle birlikte
-2604döndürür.
Çözüm
Artık gerekmeyen anlık görüntüleri silin, uzun ömürlü anlık görüntüleri gereksiz yere tutmaktan kaçının ve havuzun boş kapasitesini izleyin.
Alan azaldığında önce klonları, sonra anlık görüntüleri, ardından makineleri kaldırın. Ters sıra işe yaramaz, çünkü klon kaynağının verilerini tutar.
Önleme
Farkların fark edilmeden birikmemesi için eski anlık görüntüleri düzenli olarak kaldırın ve havuzdaki boş alanı izleyin.
Anlık görüntü sayısının taşımadan sonra bir kontrol ölçütü olduğunu da unutmayın: başka bir havuza taşınan bir makine için bu sayı, taşımadan önce ölçülen sayıyla eşleşmelidir.
API yöntemleri
Bu sayfada ele alınan API işlemleri vm-snapshot-list, snapshot-list,
vms-snapshot-remove, pools-get ve get-statusmap yöntemleridir. Bkz.
API başvurusu.
Ayrıca bkz.
- Anlık görüntüler ve geri alma—anlık görüntü oluşturma, anlık görüntüye geri alma ve anlık görüntüyü silme.
- Küme havuzlarını görüntüleme—havuz kapasitesinin ve durumunun nerede kontrol edileceği.
- Dataset özellikleri—kapasitenin dataset düzeyinde nasıl hesaplandığı.
- VM taşıma ve klonlama—klonun ne yaptığı ve kaynağını nasıl tuttuğu.