Saya telah menyiapkan perangkat lunak Linux raid level 5 yang terdiri dari 4 * 2 TB disk. Array disk dibuat dengan ukuran strip 64k dan tidak ada parameter konfigurasi lainnya. Setelah pembangunan kembali awal saya mencoba membuat sistem file dan langkah ini memakan waktu sangat lama (sekitar setengah jam atau lebih). Saya mencoba membuat sistem file xfs dan ext3, keduanya membutuhkan waktu lama, dengan mkfs.ext3 Saya mengamati perilaku berikut, yang mungkin bisa membantu:
- menulis tabel inode berjalan cepat hingga mencapai 1053 (~ 1 detik), kemudian menulis sekitar 50, menunggu selama dua detik, kemudian 50 berikutnya ditulis (sesuai dengan tampilan konsol)
- ketika saya mencoba untuk membatalkan operasi dengan Control + C itu hang selama setengah menit sebelum itu benar-benar dibatalkan
Kinerja disk secara individual sangat baik, saya telah menjalankan Bonnie ++ pada masing-masing secara terpisah dengan nilai tulis / baca sekitar 95 / 110MB / s. Bahkan ketika saya menjalankan bonnie ++ pada setiap drive secara paralel, nilainya hanya berkurang sekitar 10 MB. Jadi saya tidak termasuk penjadwalan perangkat keras / I / O secara umum sebagai sumber masalah.
Saya mencoba berbagai parameter konfigurasi untuk stripe_cache_size dan ukuran readahead tanpa hasil, tetapi saya rasa mereka tidak relevan untuk operasi pembuatan sistem file.
Detail server:
- Server Linux 2.6.35-27-generik # 48-Ubuntu SMP x86_64 GNU / Linux
- mdadm - v2.6.7.1
Apakah ada yang punya saran tentang cara men-debug ini lebih lanjut?
sumber
time mkfs.xfs -l sunit=128 -d agsize=64g,sunit=128,swidth=512 -b size=4096 /dev/md0 -f
yang kira-kira waktu yang sama seperti mkfs tanpa parameterSaya menduga Anda mengalami masalah penulisan kecil RAID5 khas. Untuk menulis di bawah ukuran ukuran garis, itu harus melakukan baca-modifikasi-tulis untuk data dan paritas. Jika ukuran tulisannya sama dengan strip, ia bisa saja menimpa paritasnya, karena ia tahu nilainya, dan tidak perlu menghitung ulang.
sumber
Mkfs Anda dan kinerja sistem file berikutnya mungkin membaik jika Anda menentukan langkah dan lebar garis saat membuat sistem file. Jika Anda menggunakan blok 4k default, langkah Anda adalah 16 (garis RAID 64k dibagi dengan blok sistem file 4k) dan lebar jalur Anda adalah 48 (langkah sistem file 16 dikalikan dengan 3 disk data dalam array Anda).
sumber