Berapa lama untuk fsck volume?

9

Kami menjalankan situs web yang saat ini melayani 3-5 juta tampilan halaman. Situs kami adalah situs berbagi file sehingga berisi 250.000 file dan beberapa ribu tautan simbolik.

Hard disk adalah disk SATA 1500GB.

Dengan menggunakan hdparmkami mengetahui bahwa kecepatan hard disk kami telah berkurang menjadi 15-20 MB / s, yaitu 80 MB / s.

Jadi sekarang kita ingin menjalankan fsckuntuk memperbaiki masalah disk.

  1. Apakah fsckakan menyelesaikan masalah ini?
  2. Berapa banyak waktu yang fsckdiperlukan untuk menyelesaikan (hanya kami ingin menghitung waktu henti yang akan kami miliki)?
khizar ansari
sumber
Sistem file apa yang Anda gunakan? Apakah ini array RAID, atau disk SATA sederhana?
Kyle Smith
disk dan sistem file SATA sederhana adalah ext3
khizar ansari
11
Mengapa Anda menjalankan server web produksi pada satu disk? Server dengan disk tunggal bukan server - mereka berdetak bom waktu.
Evan Anderson
3
Sepertinya disk itu sekarat. Segera migrasikan data Anda (ke array RAID nyata dengan pengontrol yang didukung baterai).
Joel E Salas

Jawaban:

8

Penurunan kecepatan diharapkan karena jumlah file yang diakses secara bersamaan meningkat. Hard disk drive tidak suka diakses secara paralel: setiap kali kepala baca / tulis perlu mengganti silinder Anda kehilangan beberapa milidetik. Bahkan jika dua file berada pada silinder yang sama, atau bahkan trek yang sama, Anda mungkin masih harus menunggu rotasi untuk berpindah dari satu ke yang lain. Jika Anda mengukur kinerja drive dalam megabit per detik, berharap itu turun secara eksponensial saat akses paralel meningkat.

fsck tidak akan membantu dengan ini: hanya memperbaiki kerusakan pada struktur direktori, itu tidak melakukan optimasi.

Solusi ideal adalah beralih ke penyimpanan solid-state karena itu tidak memiliki keterbatasan fisik dari piring berputar. Tapi itu mungkin mahal.

Cara terbaik berikutnya adalah menggunakan RAID yang dioptimalkan untuk akses paralel. Ingatlah bahwa RAID dapat dikonfigurasi untuk banyak profil kinerja yang berbeda, sehingga Anda perlu meluangkan waktu untuk mempelajari pengaturan perangkat keras dan driver RAID yang diberikan.

Anda mungkin dapat mengurangi masalah menggunakan caching filesystem agresif. Jika sistem Anda memiliki RAM yang cukup, linux seharusnya sudah melakukannya dengan cukup baik. Jalankan program seperti topuntuk melihat berapa banyak RAM gratis yang ada. Tetapi jika file yang paling umum digunakan tidak sesuai dengan RAM (atau RAM apa pun yang mungkin Anda peroleh), ini tidak akan membantu.

Upaya orang miskin adalah membagi file Anda menjadi beberapa hard drive fisik yang berbeda (bukan hanya partisi yang berbeda pada drive yang sama). Itu sebenarnya bukan solusi jangka panjang yang dapat diukur dan pada akhirnya akan membebani Anda lebih dari sebuah RAID yang layak. Tapi itu mungkin perbaikan cepat jika Anda memiliki drive di sekitar.

Untuk solusi apa pun yang melibatkan hard disk drive, pastikan mereka memiliki kecepatan rotasi yang cepat dan latensi yang rendah.

Saya telah menulis artikel dengan latar belakang umum tentang kinerja hard-drive di sini:

Kiat UNIX - Sistem File

Seth Noble
sumber
Saya tidak melihat hdparmpatokannya banyak hubungannya dengan "akses paralel". Bagi saya terdengar lebih seperti disk yang rusak. Itu lebih cepat di masa lalu dan sekarang tidak. Mungkin karena memindahkan sektor.
Evan Anderson
Itu tentu saja kemungkinan, meskipun saya pikir relokasi pada skala itu akan menghasilkan beberapa kesalahan I / O. Berdasarkan data awal yang sangat lambat, 80 megabit per detik, saya berasumsi tes ini berjalan pada sistem aktif. Jadi ... adakah kesalahan I / O dalam log sistem, bagaimana hdparmpengujian dilakukan, dan apakah hasilnya dalam "megabit" atau "megabita" per detik?
Seth Noble
3

Saya harapkan 5 jam untuk fsck selesai.

Sebagai gantinya saya akan menganggap (itu berarti: pengujian, pengujian dan pengujian) migrasi ke reiserfs.

marcoc
sumber
2
  1. Tidak (fsck dapat memperbaiki metadata sistem file yang rusak, bukan disk yang rusak, juga bukan alat defragmentasi).
  2. Tergantung pada sistem file. Dengan ext3, sangat lama, saya akan memesan beberapa jam. Sistem file yang lebih modern seperti ext4 atau xfs dapat dengan mudah menjadi urutan besarnya lebih cepat.
janneb
sumber
1

hdparm melakukan pembacaan berurutan. Disk File Server Anda harus melakukan banyak pencarian seperti yang dikatakan orang lain.

Jika Anda mendapatkan kesalahan HD, itu seharusnya muncul di / var / log / di suatu tempat.

Mengapa Anda tidak mencoba "smartctl -t short / dev / sda" dan kemudian "smartctl -t long / dev / sda" ?? ... Dengan sebagian besar HDD baru, Anda dapat mengeluarkan perintah ini bahkan saat menggunakan HD . Smart akan memberi Anda beberapa hasil. Anda dapat membaca kesehatan HDD Anda menggunakan "smartctl --all / dev / sda" ..

Jika Anda mengirim hdparm ke HDD yang dipasang dengan akses bersamaan, itu bisa menjadi jawaban mengapa hasil Anda jauh lebih sedikit daripada sebelumnya.

Saya harus memindahkan data Anda ke pengaturan RAID secepatnya.

Jose Tavares
sumber