Haruskah swap dan campuran RAID-1?

9

Saya punya kotak dengan array RAID-1 kecil yang digunakan untuk ruang swap. Saya hanya melakukan ini karena saya sedang mengatur mirror untuk setiap partisi lain dalam sistem.

Hari ini saya membaca pertanyaan ini dan itu membuat saya bertanya-tanya: "apakah memiliki swap pada RAID-1 ideal / disarankan?".

LRE
sumber

Jawaban:

17

Anda seharusnya (mungkin) tidak melepaskan swap dari RAID 1.

Kadang-kadang kurang penting memiliki swap pada RAID 1, tetapi tidak apa-apa, biasanya membantu, dan sering kali diperlukan . Jarang ada alasan untuk sengaja menukar swap Anda di tempat lain, jika Anda sudah menggunakan RAID 1.

Tukar di RAID 1 Semoga Berkinerja Lebih Baik

SWAP pada RAID 1 dapat diharapkan berkinerja lebih baik daripada partisi swap tunggal di luar RAID, tetapi tidak serta dua swap diatur ke prioritas yang sama.

Menulis ke RAID 1 terkadang lebih lambat daripada menulis ke disk tunggal, karena semua data harus ditulis ke kedua disk. Seringkali itu tidak terlalu lambat - biasanya pelambatan akan diabaikan. Jika Anda memiliki RAID 1 dari dua disk pada pengontrol IDE yang sama, itu akan lebih lambat. Tetapi ketika mengakses satu disk tidak memperlambat akses ke disk lain, menulis ke RAID 1 tidak akan secara signifikan lebih lambat.

Membaca dari RAID 1 hampir selalu lebih cepat daripada membaca dari disk tunggal, karena ketika satu disk ditempati oleh pembacaan, lebih banyak data dapat dibaca dari disk lain. Membaca dari RAID 1 yang terdiri dari dua drive seringkali hampir dua kali lebih cepat dari membaca dari satu drive.

Saya tidak mengetahui adanya pengujian untuk membandingkan dua partisi swap terpisah dengan partisi swap tunggal pada RAID 1 (atau RAID lainnya). Tidak ada alasan untuk berpikir bahwa partisi swap tunggal akan bekerja dengan baik atau lebih baik daripada swap pada RAID 1. Situasi ini lebih rumit jika Anda memiliki dua swap pada disk terpisah:

  • Jika swap diberikan prioritas yang berbeda /etc/fstab, halaman terpisah ditukar dengan mereka; halaman yang sama tidak ditukar dengan keduanya sekaligus. Saya berharap dua swap lebih cepat untuk mengakses data swap yang tidak terkait secara bersamaan, tetapi lebih lambat untuk mengakses satu halaman.

  • Jika swap diberikan prioritas yang sama /etc/fstab, data (bahkan dari satu halaman) akan bergaris . Ini mirip dengan RAID 0 dan kemungkinan besar akan melakukan lebih baik daripada menempatkan swap pada RAID 1.

    Secara teoritis jika Anda memiliki perangkat keras RAID 1, striping perangkat lunak bisa menjadi kurang efisien, tetapi kecuali jika Anda memiliki aplikasi yang tidak biasa di mana membaca dari swap jauh lebih umum daripada menulis ke sana, saya berharap perangkat lunak striped non-RAID untuk mengungguli partisi swap pada RAID 1.

    (Karena kernel dapat menghapus data yang ditukar antara beberapa partisi swap, tidak ada alasan untuk mengatur perangkat lunak RAID 0 hanya untuk swap.)

Lihat bagian artikel Wikipdia ini "Level RAID standar" , untuk informasi lebih lanjut tentang kinerja RAID 1.

Terima kasih kepada gertvdijk karena memberikan informasi penting tentang swap bergaris.

Anda Mungkin Sangat Membutuhkan Swap Anda pada RAID 1

Apakah Anda memerlukan swap pada RAID 1 atau tidak tergantung pada mengapa Anda memerlukan RAID 1 pada awalnya. Data dalam swap biasanya sangat fluktuatif dan kehilangan biasanya tidak mewakili kehilangan aset yang signifikan. Namun.:

  1. Satu keuntungan dari RAID (kecuali RAID 0) adalah jika drive gagal komputer Anda tetap berjalan (hanya sedikit lebih lambat). Jika Anda memiliki program yang menjalankan halaman yang telah ditukar ke disk (yang hampir selalu terjadi jika swap diaktifkan), drive yang berisi partisi swap (apakah hanya partisi swap) yang gagal, dan tidak memiliki cadangan cadangan, sistem Anda akan segera berhenti bekerja dengan benar (dan kemungkinan akan sepenuhnya tidak dapat digunakan sampai reboot, tergantung pada bagaimana swap digunakan). Jika Anda menggunakan mesin sebagai server produksi atau untuk tugas penting lainnya, downtime akan terjadi .

    Jika Anda dapat mentolerir kegagalan total swap dari satu peristiwa buruk yang biasa ditemui (satu drive gagal), Anda harus bertanya pada diri sendiri mengapa Anda menggunakan RAID 1 sama sekali . Anda mungkin memiliki jawaban yang bagus ... dan Anda mungkin tidak. Perlindungan RAID (kecuali RAID 0) terhadap kegagalan disk, tetapi RAID bukan solusi cadangan . Jika Anda mengubah atau menghapus file pada RAID, atau malware menginfeksi sistem pada RAID, perubahan dilakukan segera di mana-mana - RAID tidak akan memungkinkan Anda untuk memulihkannya.

    Jika yang Anda butuhkan adalah cadangan alih-alih redundansi , dan Anda belum memiliki cadangan yang sangat andal dan mudah diakses, maka Anda harus mengambil salah satu drive sepenuhnya dari RAID dan menggunakannya untuk cadangan. (Tentu saja, kadang-kadang juga perlu memiliki cadangan di luar situs.)

  2. Jika Anda hibernasi komputer Anda (mis., Suspend-to-disk), isi RAM disalin ke partisi swap . Jadi Anda benar-benar dapat kehilangan data dengan kehilangan partisi swap Anda, jika mesin Anda hibernasi ketika terjadi kegagalan disk.

Eliah Kagan
sumber
Jawaban yang bagus, @Eliah. Motivasi saya untuk RAID-1 berasal dari digigit oleh kegagalan disk di masa lalu - backup saya menyelamatkan saya dari kehilangan data tetapi saya masih harus memasukkan disk baru dan membangun kembali mesin, yang membutuhkan waktu. Dengan cara ini saya masih dapat memiliki setup yang berfungsi dalam array yang terdegradasi dan memasukkan disk baru untuk membangun kembali array.
LRE
@LRE RAID Anda hanya berfungsi seperti cadangan saat penyebab hilangnya data adalah kegagalan drive. Ini adalah penggunaan RAID yang bisa diterima, tetapi pastikan Anda memiliki cadangan terpisah untuk melindungi terhadap semua penyebab kehilangan data lainnya, yang juga umum terjadi .
Eliah Kagan
"Tukar pada RAID 1 Kemungkinan Berkinerja Lebih Baik" Tidak sepenuhnya benar. Lihat halaman wiki.kernel.org ini : "Kernel itu sendiri dapat menghapus swapping pada beberapa perangkat, jika Anda hanya memberi mereka prioritas yang sama di file / etc / fstab." Menempatkan swap di atas RAID Anda adalah murni hal ketersediaan sejauh yang saya tahu.
gertvdijk
@ gertvdijk Terima kasih, saya telah mengedit untuk memasukkan informasi itu. Niat saya dalam mengatakan swap pada RAID 1 cenderung berkinerja lebih baik adalah bahwa itu kemungkinan berperforma lebih baik daripada partisi swap tunggal (bukan dalam RAID); Saya mempersempit klaim dan menambahkan detail juga.
Eliah Kagan
@EliahKagan, ya saya mengerti itu dan saya punya cadangan (dan mereka telah menyelamatkan kulit saya di masa lalu) - RAID-1 ada di sana untuk memuji cadangan
LRE
3

Bagian instalasi lanjutan dalam dokumentasi Ubuntu Server menjelaskan instalasi pada larik RAID 1 perangkat lunak. Dari apa yang saya lihat, mereka juga membuat partisi swap pada RAID, sehingga hampir merupakan tata letak yang "disarankan".

Dari sudut pandang teori murni, bagaimanapun, menggunakan RAID 1 untuk partisi swap dapat memberikan manfaat lebih sedikit dibandingkan dengan partisi "normal" - data pada partisi swap lebih atau kurang stabil, sehingga kecil kemungkinan Anda akan kehilangan banyak data di kasus kegagalan disk, meskipun proses mungkin macet atau sistem dapat reboot jika partisi swap tiba-tiba gagal.

Menggunakan RAID-0 atau 2 partisi non-RAID terpisah mungkin (atau mungkin tidak) lebih masuk akal dari sudut pandang kinerja, jika Anda khawatir tentang kinerja Anda mungkin perlu melakukan benchmarking.

Selain itu, semua ini dapat mempengaruhi kinerja hanya dalam kasus sistem Anda sangat terbatas RAM dan swap banyak digunakan. Menambahkan lebih banyak RAM dan menghapus swap sepenuhnya akan menjadi solusi terbaik, baik dari sudut pandang kinerja dan keandalan :)

Sergey
sumber
Bertukar dengan RAID 1 sebenarnya sangat masuk akal .
Eliah Kagan