Seberapa sering saya harus menggosok RAID saya?

13

Secara umum saya ingin tahu seberapa sering array RAID perlu digosok. Apa yang berkontribusi pada kebutuhan untuk menggosok lebih sering (membaca data ?, menulis data?, Mematikan tidak terduga?, Usia drive?, Ukuran drive ?, jumlah pengguna ?, dll.)?

Saya telah membaca Arch wiki di sini dan yang dikatakannya adalah bahwa menggosok harus dilakukan secara teratur. Saya hanya ingin tahu seberapa teratur sudah cukup. Jelas itu akan tergantung, tetapi apa kisaran yang masuk akal? Tahunan? Bulanan? Mingguan? Harian? Terima kasih banyak atas informasi apa pun.

mrfred
sumber
1
Seberapa besar array Anda? Berapa lama scrub array Anda? Array yang lebih besar bisa memakan waktu berjam-jam atau berhari-hari untuk scrub penuh. Jelas Anda tidak dapat menggosok lebih sering daripada yang dibutuhkan untuk menyelesaikan satu gosok. Paket Debian mencakup skrip cron yang menjalankan hari Minggu pertama setiap bulan.
Zoredache
Saya tergantung bagaimana kotornya :)
metacom
@Zoredache: Itulah hal-hal yang saya cari. Karena array yang lebih besar membutuhkan waktu lebih lama, apakah itu akan mengurangi frekuensi yang harus Anda gosok? Apakah meningkatkan jumlah pengguna akan meningkatkan frekuensi itu? Apakah Anda perlu menggosok jika Anda tidak benar-benar menulis banyak data baru?
mrfred
RAID perangkat lunak? RAID perangkat keras? ZFS?
ewwhite

Jawaban:

15

Seberapa sering Anda memindai tergantung pada banyak hal.

  • Umur disk. Semakin tua mereka, semakin besar kemungkinan mereka mengandung kejahatan .
  • Kualitas asli dari disk yang dimaksud. Barang-barang yang dijual sebagai 'perusahaan' lebih mungkin bertahan bebas kesalahan, dan cakram ukuran 1 + TB tahun 2014 jauh lebih andal daripada setara tahun 2009 ketika dikirim.
  • Seberapa sensitif I / O produksi Anda terhadap I / O penggosok.
  • Berapa banyak dataset Anda yang Anda anggap sebagai perangkat kerja Anda.

Vendor RAID perangkat keras sering menyertakan proses penggosok latar belakang karena alasan ini, beberapa bahkan memungkinkan Anda untuk menyesuaikan prioritas I / O dari proses penggosok yang memungkinkan Anda untuk menghindari (atau sangat mengurangi) hukuman I / O produksi untuk gosok. Tentu saja, jika prioritas Anda rendah dan prod I / O Anda menjalankan sebagian besar disk Anda mungkin tidak akan pernah menyelesaikan scrub dan bahkan tidak menyadarinya sampai Anda mendapatkan kegagalan.

Sayangnya, saya tidak tahu apakah kernel Linux kehilangan prioritas untuk menggosok I / O atau tidak. Either way, itu ide yang baik untuk mengujinya dengan beban prod Anda untuk memastikan setiap hit untuk kinerja dapat diterima. Jika bisa diterima, bagus! Jika tidak, Anda harus membuat pilihan apakah menambahkan spindle untuk memungkinkan scrub + prod I / O atau hanya menerima risiko kemungkinan kegagalan susunan di jalan.

Hal lain yang berdampak pada frekuensi scrubbing adalah pola penggunaan I / O. Jika beban produksi hanya mencapai sebagian kecil disk, satu-satunya I / O yang biasanya akan menemukan blok buruk di bagian idle adalah scrub Anda; dalam hal ini Anda ingin menggosok lebih sering. Jika produksi Anda secara rutin membaca seluruh set-disk (seperti backup penuh harian), maka produksi I / O akan tersandung masalah lebih cepat dan Anda dapat menggosok lebih jarang.

Rencana tindakan yang baik adalah:

  1. Jalankan beberapa tes untuk melihat apakah menggosok akan menghalangi produksi.
    1. Cari tahu berapa lama scrub penuh berlangsung saat Anda melakukannya.
  2. Cari tahu berapa persen dari set disk Anda akan mendapatkan beberapa akses dalam satu minggu tertentu (termasuk cadangan I / O, jika ada, dalam perhitungan ini).
  3. Berdasarkan 1 dan 2 tentukan apakah Anda berada di kemah yang lebih jarang atau lebih sering.

Setelah Anda memiliki data itu ...

  • Jika pemindaian penuh berlangsung kurang dari sehari dan tidak memengaruhi produksi secara nyata, Anda dapat melakukannya sesekali seminggu sekali.
  • Jika pemindaian penuh dilakukan dalam waktu kurang dari satu hari dan berdampak pada produksi, cari tahu bagian mana dari minggu / bulan Anda yang paling tidak terpengaruh dan cobalah menjalankannya.
  • Jika pemindaian penuh memakan waktu lebih dari satu hari tetapi di bawah satu minggu dan tidak memengaruhi produksi, jalankan sesering setiap minggu atau sekali setiap bulan.
  • Jika pemindaian penuh memakan waktu lebih dari satu hari tetapi di bawah satu minggu dan berdampak pada produksi, pertimbangkan untuk menambahkan sumber daya agar dapat dijalankan, mengharuskan pemindaian dijalankan selama jendela perawatan yang diatur, atau manfaatkan kemampuan menganggur / periksa untuk melakukan scrubbing untuk melakukan itu pas dan mulai terus menerus.
  • Jika pemindaian penuh memakan waktu lebih dari seminggu, sebulan sekali sudah cukup. Tetapi jika itu berdampak pada produksi, Anda perlu menambahkan sumber daya agar bisa lengkap.
sysadmin1138
sumber