RHEL / CentOS'un (EL6) son sürümleri, on yıldan fazla bir süredir yoğun bir şekilde bağlı kaldığım XFS dosya sisteminde bazı ilginç değişiklikler getirdi . Geçen yaz bir kısmını, kötü belgelenmiş bir çekirdek desteğinden kaynaklanan bir XFS seyrek dosya durumunu kovalayarak geçirdim . Diğerleri EL6'ya taşındığından beri talihsiz performans sorunları veya tutarsız davranışlar yaşadı.
XFS, veri ve büyüme bölümleri için varsayılan dosya sistemimdi, çünkü kararlılık, ölçeklenebilirlik ve varsayılan ext3 dosya sistemlerine göre iyi bir performans artışı sunuyordu.
Kasım 2012'de ortaya çıkan EL6 sistemlerinde XFS ile ilgili bir sorun var. Sunucularım boştayken bile anormal yüksek sistem yükleri gösterdiğini fark ettim. Bir durumda, boşaltılmamış bir sistem 3 + 'lık sabit bir yük ortalaması gösterecektir. Diğerlerinde, yükte 1+ çarpma oldu. Takılan XFS dosya sistemlerinin sayısı, yük artışının ciddiyetini etkiliyor gibiydi.
Sistem iki aktif XFS dosya sistemine sahiptir. Etkilenen çekirdeğe yükseltme yapıldıktan sonra yük +2'dir.
Daha derine inerek , XFS posta listesindexfsaild
, STAT D durumunda oturan sürecin sıklığının arttığına işaret eden birkaç konu buldum . İlgili CentOS Hata İzleyici ve Red Hat Bugzilla girdileri, konunun ayrıntılarını ana hatlarıyla belirtir ve bunun bir performans sorunu olmadığı sonucuna varır; yalnızca sistem yükünün 2.6.32-279.14.1.el6'dan daha yeni olan çekirdeklerdeki raporlanmasındaki bir hata .
O NE LAN?!?
Bir kerelik bir durumda, yük raporlamasının büyük bir sorun olmayabileceğini biliyorum. Bunu NMS'niz ve yüzlerce veya binlerce sunucu ile yönetmeyi deneyin! Bu, Kasım 2012'de EL6.3'te 2.6.32-279.14.1.el6 numaralı çekirdekte tanımlanmıştır. 2.6.32-279.19.1.el6 ve 2.6.32-279.22.1.el6 Çekirdekleri bu davranışta bir değişiklik yapmadan sonraki aylarda (Aralık 2012 ve Şubat 2013) piyasaya sürüldü. Bu sorunun tespit edilmesinden bu yana işletim sisteminin yeni bir küçük sürümü bile oldu. EL6.4, serbest bırakıldı ve şimdi aynı davranışı sergileyen 2.6.32-358.2.1.el6 çekirdeğinde .
Ben de yürüttüğünü, EL6.3 ya da sadece XFS kullanmayan ön Kasım 2012 sürümü de çekirdek sürümleri kilitleme, yeni bir sistem inşa kuyruğunu yaşadım ve soruna işin zorunda ext4 veya ZFS bir de, şiddetli performans cezası üstüne çalışan özel uygulama için. Söz konusu uygulama, uygulama tasarımındaki eksiklikleri hesaba katacak bazı XFS dosya sistemi özelliklerine dayanmaktadır.
Red Hat'in ödeme duvarı bilgi bankası sitesinin arkasına geçerken şunu belirtti:
Çekirdek 2.6.32-279.14.1.el6 yüklendikten sonra yüksek yük ortalaması görülüyor. Yüksek yük ortalaması, xfsaild'in her XFS formatlı cihaz için D durumuna girmesinden kaynaklanır.
Şu anda bu sorunun çözümü yok. Şu anda Bugzilla # 883905 aracılığıyla takip ediliyor. Geçici Çözüm Yüklenen çekirdek paketini 2.6.32-279.14.1 sürümünden daha düşük bir sürüme düşürün.
(düşey çekirdekler hariç, RHEL 6.4'te bir seçenek değildir ...)
Bu yüzden, EL6.3 veya EL6.4 işletim sistemi sürümleri için planlanan hiçbir gerçek düzeltmeyle bu sorunun 4 + ayını yaşıyoruz. EL6.5 için önerilen bir düzeltme ve kullanılabilir bir çekirdek kaynağı düzeltme eki var ... Ama sorum şu:
Akım sağlayıcısı önemli bir özelliği bozduğunda OS'nin sağladığı çekirdeklerden ve paketlerden ayrılmak ne kadar mantıklı?
Red Hat bu hatayı tanıttı. Onlar gereken bir doğrularını çekirdeğin içine bir düzeltme dahil. Kurumsal işletim sistemlerini kullanmanın avantajlarından biri, tutarlı ve tahmin edilebilir bir platform hedefi sağlamalarıdır . Bu hata, bir yama döngüsü sırasında zaten üretimdeki sistemleri bozdu ve yeni sistemlerin dağıtımına olan güveni azalttı. Önerilen yamadan birini kaynak koduna uygulayabilsem de bu ne kadar ölçeklenebilir? İşletim sistemi değiştikçe güncellenmesi için biraz dikkatli olması gerekir.
Burada doğru hamle nedir?
- Bunun muhtemelen çözülebileceğini biliyoruz, ama ne zaman olacağını.
- Red Hat ekosisteminde kendi çekirdeğinizi desteklemenin kendi uyarıları vardır.
- Destek uygunluğu üzerindeki etkisi nedir?
- Uygun XFS işlevselliğini kazanmak için yeni oluşturulan EL6.4 sunucularının üstüne çalışan bir EL6.3 çekirdeğini bindirmeli miyim?
- Resmi olarak düzeltilene kadar beklemeli miyim?
- Bu, kurumsal Linux sürüm döngüleri üzerinde sahip olduğumuz kontrolün eksikliği hakkında ne söylüyor?
- Bir XFS dosya sistemine dayanmak çok mu uzun sürdü bir planlama / tasarım hatası?
Düzenle:
Bu yama, en son CentOSPlus çekirdek salınımına dahil edildi (çekirdek- 2.6.32-358.2.1.el6.centos.plus ). Bunu CentOS sistemlerimde test ediyorum, ancak bu Red Hat tabanlı sunucular için pek yardımcı olmuyor.