Avamar: NDMP yedeklemesi, disk bölümü belleği kullanımından kaynaklanan Önemli sinyal 11 segmentasyon hatasıyla başarısız oluyor
Summary: Avamar Network Data Management Protocol (NDMP) yedeklemesi, çok büyük bir disk bölümü (örneğin, 5 TB, 3 M dosyaları) birden fazla akış çalıştırdığında ve yaklaşık 15 GB Rastgele Erişim Belleği (RAM)/SWAP tükettiğinde ve bellek sınırlarını aştığında "Fatal signal 11" (segmentasyon hatası) ile iptal edilebilir. Birimi bölerek, eş zamanlı yedeklemeleri veya dosya sayısını azaltarak, daha düşük bir dizin düzeyini yedekleyerek veya paralel akışları artırarak çözüme ulaşın. ...
Symptoms
Yedekleme Arızası Göstergeleri
Avamar NDMP yedeklemesi bir segmentasyon hatasıyla (sinyal 11) karşılaştığında aşağıdaki belirtiler gözlemlenir:
- Yedekleme işi, aşağıdakine benzer önemli bir hata mesajıyla iptal edilir:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
- Günlük girişleri, işlenmekte olan olağandışı büyüklükteki veri kümelerini gösterir, örneğin:
avtar Info <8688>: Status 2017-10-13 19:32:37, 3,050,352 files, 2,419,299 directories, 5,119 GB (3,050,352 files, 1.913 GB, 41.42% new) 15049MB 60% CPU (1 open files)
- Tek bir yedekleme akışı için genellikle 15 GB RAM/SWAP'ı aşan yüksek bellek tüketimi bildirilmektedir.
- Her biri potansiyel olarak 2 GB veya daha fazla bellek kullanan çok sayıda NDMP akışı etkindir (istemci başına 8'e kadar).
- Birden fazla büyük yedekleme aynı anda çalışabilir ve bu da genel sistem yükünü artırır.
- Etkilenen disk bölümü milyonlarca dosya ve dizin içeriyor (örneğin, 5,1 TB veriyi kapsayan 2,4 M dizindeki 3 M dosya).
- Yalnızca az miktarda veri değiştiğinde bile (1,9 GB gibi), yedekleme işlemi NAS'taki her dosyayı işlenmek üzere göndermeye çalışır.
Cause
Ölümcül sinyali tetikleyen altta yatan faktörler 11.
Sinyal 11 (segmentasyon hatası), bir işlem kendisine tahsis edilmemiş belleğe eriştiğinde üretilir. Aşağıdaki koşullar Avamar NDMP yedeklemesi sırasında bu olaya doğrudan neden olmuştur:
- Birden fazla büyük NDMP yedeklemesi aynı anda çalışıyordu.
- Bir yedeklemede 3.050.352 dosya ve 2.419.299 dizin işlenerek toplam 5,1 TB veri işlenirken bu verilerin yalnızca 1,9 GB'ı değişti.
- Her NDMP akışı ≥ 2 GB bellek tüketebilir. İstemciye en fazla 8 akışa izin verildi ve birkaç istemci aynı anda etkindi, bu da yüksek bir toplam bellek talebine yol açtı.
- Yedekleme işlemi, çökmeden önce yaklaşık 15 GB RAM/SWAP kullanıyordu.
- Avamar, istemci başına akış sayısını sınırlar ancak toplam akış sayısı için genel bir sınır UYGULAMAZ. Bu, birleşik bellek kullanımının kullanılabilir kaynakları aşmasına izin verir.
Bu yoğun bellek kullanan koşullar, avtar işleminin bir segmentasyon hatasıyla karşılaşmasına neden oluyordu ve bu hatalar günlüğe şu şekilde kaydedildi:
2017-10-13 19:42:00 avtar FATAL <5889>: Fatal signal 11 in pid 31103
Resolution
Sinyal 11'in neden olduğu Avamar NDMP yedekleme hatalarını düzeltme (segmentasyon hatası)
1. Adım - Geçerli yedekleme yükünü değerlendirin.
Büyük NDMP yedeklemeleri oluşturan disk bölümlerini belirlemek için Avamar Administrator konsolunu veya CLI'yı kullanın.
Etkin NDMP işlerini ve kaynak kullanımlarını listeleyin:
$ avtar -listjobs -type ndmp
Adım 2 - Eşzamanlı birim yedeklemelerini azaltın.
- Aşırı RAM/SWAP tüketiminden kaçınmak için eş zamanlı olarak yedeklenen disk bölümü sayısını sınırlayın.
- Avamar Administrator'da yedekleme zamanlamasını düzenleyin ve çakışan aralıkların seçimini kaldırın.
Adım 3 - Büyük Birimleri Daha Küçük Alt Birimlere Bölün
- 3 milyondan fazla dosya veya 5 TB'den fazla veri içeren disk bölümlerini tanımlayın (örnekte olduğu gibi).
- Dizin ağacının bir seviye altında mantıksal alt birimler oluşturun.
- Avamar'da her bir alt birimi ayrı bir NDMP istemcisi olarak yapılandırın.
- Örneğin: Alt dizin için yeni bir NDMP istemcisi oluşturma
$ avtar -addclient -name subvol1 -path /data/level2/subvol1
4. Adım - NDMP akış ayarlarını düzenleyin.
- NAS destekliyorsa istemci başına maksimum NDMP akışı sayısını artırın.
- NAS NDMP yapılandırmasında, akış sınırını mümkünse varsayılan 4'ten 8'e yükseltin.
5. Adım - Akış Başına Dosyaları Sınırlayın
- Yedekleme politikaları oluştururken, her akışın bellek ayak izini 2 GB'den küçük tutmak için daha düşük bir "akış başına dosya" eşiği ayarlayın.
- Bu değeri ayarlamak için Avamar Administrator → Policies → Advanced Settings öğesini kullanın.
6. Adım - Yedeklemeler Sırasında Bellek Kullanımını İzleme
- Yedekleme çalışırken Avamar sunucusundaki RAM ve takas tüketimini izleyin.
- Kullanımın toplam kullanılabilir belleğin (15 GB'lık bir iş için 12 GB'den az gibi) çok altında kaldığından emin olun.
- Gerçek zamanlı bellek izleme
$ top -b -n 1 | grep avtar
7. Adım - Düzeltmeyi doğrulayın
- Daha önce başarısız olan yedeklemeyi yeniden çalıştırın.
- Günlüğün artık
Fatal signal 11listeleme. - Yedeklemenin başarıyla tamamlandığını ve bildirilen veri boyutunun beklentilerle eşleştiğini doğrulayın.
- Hatalar için en son yedekleme günlüğünü kontrol edin
$ tail -n 50 /var/log/avtar/backup.log