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.