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.
Menggali lebih dalam, saya menemukan beberapa benang pada milis XFS yang menunjuk ke peningkatan frekuensi dari xfsaild
proses 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.
Jawaban:
"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.
sumber
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 ...
sumber
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.
sumber