Sistem file XFS rusak di RHEL / CentOS 6.x - Apa yang bisa saya lakukan?

28

Versi terbaru dari RHEL / CentOS (EL6) membawa beberapa perubahan menarik untuk XFS filesystem saya sudah tergantung pada berat selama lebih dari satu dekade. Saya menghabiskan sebagian musim panas lalu untuk mencari- cari file file XFS yang jarang karena backport kernel yang tidak terdokumentasi dengan baik. Yang lain memiliki masalah kinerja yang tidak menguntungkan atau perilaku yang tidak konsisten sejak pindah ke EL6.

XFS adalah sistem file default saya untuk data dan partisi pertumbuhan, karena ia menawarkan stabilitas, skalabilitas dan peningkatan kinerja yang baik dibandingkan sistem file ext3 default.

Ada masalah dengan XFS pada sistem EL6 yang muncul pada November 2012. Saya perhatikan bahwa server saya menunjukkan beban sistem tinggi yang tidak normal, bahkan saat idle. Dalam satu kasus, sistem tanpa muatan akan menunjukkan rata-rata beban konstan 3+. Di tempat lain, ada muatan 1+ benjolan. Jumlah sistem file XFS yang terpasang tampaknya mempengaruhi tingkat keparahan peningkatan beban.

Sistem memiliki dua sistem file XFS aktif. Muat +2 setelah peningkatan ke kernel yang terpengaruh. masukkan deskripsi gambar di sini

Menggali lebih dalam, saya menemukan beberapa benang pada milis XFS yang menunjuk ke peningkatan frekuensi dari xfsaildproses duduk di STAT D negara. Yang sesuai CentOS Bug Tracker dan Red Hat Bugzilla entri menguraikan spesifik dari masalah ini dan menyimpulkan bahwa ini bukan masalah kinerja; hanya kesalahan dalam pelaporan beban sistem di kernel yang lebih baru dari 2.6.32-279.14.1.el6 .

WTF?!?

Dalam situasi satu kali, saya mengerti bahwa pelaporan muatan mungkin bukan masalah besar. Coba atur itu dengan NMS Anda dan ratusan atau ribuan server! Ini diidentifikasi pada November 2012 di kernel 2.6.32-279.14.1.el6 di bawah EL6.3. Kernel 2.6.32-279.19.1.el6 dan 2.6.32-279.22.1.el6 dirilis pada bulan-bulan berikutnya (Desember 2012 dan Februari 2013) tanpa perubahan pada perilaku ini. Bahkan ada rilis minor baru dari sistem operasi sejak masalah ini teridentifikasi. EL6.4 dirilis dan sekarang di kernel 2.6.32-358.2.1.el6 , yang menunjukkan perilaku yang sama.

Saya sudah memiliki sistem antrian build baru dan harus mengatasi masalah ini, baik mengunci versi kernel pada rilis pra-November 2012 untuk EL6.3 atau tidak menggunakan XFS, memilih ext4 atau ZFS , dengan penalti kinerja yang parah untuk aplikasi khusus yang berjalan di atas. Aplikasi yang dimaksud sangat bergantung pada beberapa atribut sistem file XFS untuk menjelaskan kekurangan dalam desain aplikasi.

Pergi di belakang situs knowledgebase paywalled Red Hat , sebuah entri muncul menyatakan:

Rata-rata beban tinggi diamati setelah menginstal kernel 2.6.32-279.14.1.el6. Rata-rata beban tinggi disebabkan oleh xfsaild masuk ke status D untuk setiap perangkat yang diformat XFS.

Saat ini tidak ada resolusi untuk masalah ini. Saat ini sedang dilacak melalui Bugzilla # 883905. Penanganan masalah Downgrade paket kernel yang diinstal ke versi yang lebih rendah dari 2.6.32-279.14.1.

(kecuali menurunkan kernel, bukan opsi di RHEL 6.4 ...)

Jadi kita sudah 4+ bulan mengatasi masalah ini tanpa ada perbaikan nyata yang direncanakan untuk rilis OS EL6.3 atau EL6.4. Ada perbaikan yang diusulkan untuk EL6.5 dan tambalan sumber kernel tersedia ... Tapi pertanyaan saya adalah:

Pada titik apa masuk akal untuk meninggalkan kernel dan paket yang disediakan OS ketika pengelola upstream telah melanggar fitur penting?

Red Hat memperkenalkan bug ini. Mereka harus memasukkan perbaikan ke dalam kernel errata. Salah satu keuntungan menggunakan sistem operasi perusahaan adalah mereka memberikan target platform yang konsisten dan dapat diprediksi . Bug ini mengganggu sistem yang sudah diproduksi selama siklus tambalan dan mengurangi kepercayaan diri dalam menerapkan sistem baru. Sementara saya bisa menerapkan salah satu tambalan yang diusulkan ke kode sumber , seberapa scalable itu? Dibutuhkan kewaspadaan untuk terus diperbarui seiring perubahan OS.

Apa langkah yang benar di sini?

  • Kita tahu ini mungkin bisa diperbaiki, tetapi tidak kapan.
  • Mendukung kernel Anda sendiri dalam ekosistem Red Hat memiliki serangkaian peringatan sendiri.
  • Apa dampaknya pada kelayakan dukungan?
  • Haruskah saya hanya overlay kernel EL6.3 yang berfungsi di atas server EL6.4 yang baru dibangun untuk mendapatkan fungsionalitas XFS yang tepat?
  • Haruskah saya menunggu sampai ini diperbaiki secara resmi?
  • Apa yang dikatakan hal ini tentang kurangnya kendali yang kita miliki atas siklus rilis Linux perusahaan?
  • Apakah mengandalkan sistem file XFS untuk kesalahan perencanaan / desain begitu lama?

Edit:

Patch ini dimasukkan ke dalam rilis kernel CentOSPlus terbaru ( kernel-2.6.32-358.2.1.el6.centos.plus ). Saya menguji ini pada sistem CentOS saya, tetapi ini tidak banyak membantu server berbasis Red Hat.

putih
sumber
3
Saya selalu di bawah keyakinan bahwa jika Anda menggunakan EL6, dan membayar dukungan RHEL, maka tanggung jawab mereka untuk memperbaikinya untuk Anda?
Tom O'Connor
6
Ya ... Red Hat akan memperbaikinya ... Sesuai jadwal mereka sendiri !! - Masalah ini muncul pada akhir 2012. Ini masih belum diperbaiki. Ini tidak dijadwalkan untuk perbaikan sampai rilis RHEL 6.5, sehingga secara teknis, mereka yang mengurus hal itu ...
ewwhite
Nah, dengan sikap yang ditunjukkan Red Hat (ref the bug tracker), sejujurnya saya tidak percaya mereka mengganggu XFS lagi. Kernel khusus masuk akal di sini, tetapi apa gunanya membayar untuk dukungan? Mungkin CentOS adalah jalanmu ..
pauska
5
<rant> Saya mengerti rasa frustrasi Anda, saya bertanggung jawab atas lingkungan RHEL / CentOS campuran sebelumnya dan RH membuatnya sangat sulit bagi Anda untuk menyimpan barang-barang kadang-kadang, melihat bagaimana mereka terus menerus "mengabaikan" untuk memperbaiki bug penting, kadang-kadang mereka memperkenalkan diri . Kemudian mereka menjadwalkan perbaikan untuk rilis besar berikutnya, tetapi karena mereka gagal mendukung peningkatan ke versi utama berikutnya, ini sedikit membantu. Pada titik tertentu saya memilih untuk membuang kernel resmi mereka pada beberapa kotak RHEL5 hanya karena saya harus karena kurangnya fitur tertentu. </rant>
Adrian Frühwirth
1
@ MartinSchröder SLES tidak terlalu populer di AS, tetapi ini bisa menjadi pilihan. XFS sendiri tidak rusak, tetapi Red Hat menangani itu. Ini layak dipertimbangkan.
ewwhite

Jawaban:

14

Pada titik apa masuk akal untuk meninggalkan kernel dan paket yang disediakan OS ketika pengelola upstream telah melanggar fitur penting?

"Pada titik di mana kernel atau paket vendor sangat rusak sehingga mereka mempengaruhi bisnis Anda" adalah jawaban umum saya (kebetulan ini juga tentang titik di mana saya mengatakan masuk akal untuk mulai mencari cara untuk keluar dari hubungan vendor) .

Pada dasarnya seperti yang Anda dan orang lain katakan, RedHat tampaknya tidak ingin menambal ini di kernel terdistribusi mereka (untuk alasan apa pun). Itu cukup banyak membuat Anda dalam situasi harus memutar kernel Anda sendiri (menjaganya tetap pada patch sendiri, memelihara paket Anda sendiri dan menginstalnya pada sistem Anda dengan Wayang atau sejenisnya, atau menjalankan server paket yang Yum atau apa pun yang mereka gunakan hari ini bisa referensi), atau bawa kelereng kamu dan pulang.


Ya, saya tahu membawa kelereng Anda dan pulang kerap kali merupakan proposisi yang mahal - beralih vendor OS adalah hal yang sangat menyakitkan, terutama di dunia Linux di mana rasanya sangat berbeda dari sudut pandang administrasi.
Pilihan lain seperti benar-benar CentOS juga tidak menarik (karena Anda kehilangan dukungan, dan pada dasarnya Anda masih mendapatkan kode RedHat yang dibuat oleh orang lain sehingga Anda masih memiliki bug ini).

Sayangnya, kecuali jika cukup banyak orang (yaitu "perusahaan besar) mengambil kelereng mereka dan pulang ke rumah, vendor tidak akan terlalu peduli untuk mengacaukan orang dengan mengirimkan kode yang buruk dan tidak memperbaikinya.

voretaq7
sumber
14

Ini diperbaiki ( diam-diam ) oleh Red Hat 23 April 2013 di RHEL kernel-2.6.32-358.6.1.el6 sebagai bagian dari pembaruan 6,4 errata ...

putih
sumber
2
20 minggu setelah laporan bug, 2 minggu setelah posting di sini, Apakah Anda berpikir bahwa mungkin redhat melihat semua saran mengatakan untuk "berjalan"
Jasen
Mungkin? Saya tidak yakin.
ewwhite
3

Jika Anda perlu patch kernel RHEL Anda, Anda dapat melakukannya sendiri dan secara resmi didukung pada yang kernel, Anda hanya perlu bagi mereka untuk menyatakan itu.

Ada ketentuan dalam perjanjian dukungan RHEL untuk melakukannya - ISTR Anda dibatasi 1 atau 2 per kuartal atau tahun tetapi tidak dapat mengingat dengan pasti.

MikeyB
sumber
Sangat bagus untuk tahu!
ewwhite
Ini tidak benar. Anda dapat meminta perbaikan yang dipercepat dari Red Hat, tetapi ada kriteria masalah yang harus dipenuhi untuk dikirimkan, dan beberapa cara berbeda untuk memberikan perbaikan dipercepat yang didukung. Jika Anda mengkompilasi ulang kernel Anda sendiri, kernel itu tidak didukung oleh Red Hat.
suprjami
Saya memiliki pelanggan yang melakukan ini. Saya tidak berpikir mereka melakukannya untuk semua orang tetapi mereka melakukannya.
MikeyB