Memori non-ECC dengan ZFS: ide bodoh?

16

Saya memiliki server baru dan berencana untuk memutakhirkan 2 GB memori hingga maksimum 16 GB. (Secara teoritis 8 GB adalah batasnya, tetapi secara empiris 16 GB telah terbukti berfungsi.) Beberapa panduan menyarankan bahwa memori ECC tidak begitu penting, tapi saya tidak begitu yakin saya percaya ini.

Saya telah menginstal FreeNAS dan berencana untuk menambah volume ZFS segera setelah hard drive baru saya tiba. Apakah bodoh untuk berhemat dan mendapatkan memori non-ECC untuk NAS berbasis ZFS? Jika perlu, maka saya akan menggigit peluru, tetapi jika itu hanya paranoia, maka saya mungkin akan melewatkannya.

Apakah ada alasan ZFS atau FeeeNAS secara spesifik akan membutuhkan memori ECC, atau menderita terutama ketika berjalan pada sistem yang menggunakan memori non-ECC?

iconoclast
sumber
11
Secara umum untuk segala jenis aplikasi produksi / server Anda ingin membayar untuk ECC RAM. Panduan yang menyarankan memori ECC "tidak terlalu penting" adalah tersangka terbaik - saya berani mengatakan bahwa itu ditulis oleh seseorang yang tidak pernah memiliki kesalahan bit-bit membuang sistem produksi.
voretaq7
1
Apa yang akan Anda lakukan dengan microserver yang membutuhkan 16GB RAM?
tombull89
ZFS adalah RAM-lapar untuk memulai, dan saya berencana untuk menginstal ESXi dan menjalankan FreeNas di atas itu. Dengan cara ini ketika saya membutuhkan server lain, saya hanya membuat VM baru, menghindari gumpalan kotak & kabel. (Jika ada beberapa solusi otomatisasi rumah yang tidak payah seperti X-10, saya punya kotak untuk itu. Jika saya ingin menggunakan Git Lab untuk repo pribadi, saya punya kotak untuk itu. Dll)
iconoclast
2
Saya pikir jika dia menghapus konteks tentang mini-tower rig-nya yang mungkin sedikit gila dalam produksi, pertanyaan apakah atau tidak menggunakan memori ECC untuk instalasi ZFS benar-benar bagian yang penting.
Kent Fredric
1
Matt Ahrens, yang ikut mendirikan ZFS pada tahun 2001, mengatakan :There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.
Janus Troelsen

Jawaban:

7

Saya berpendapat bahwa menjalankan FreeNAS dengan RAM non-ECC adalah ide yang bodoh, seperti menjalankannya sebagai tamu tervirtualisasi, ketika data yang disimpan pada volume ZFS penting.

Joshua Paetzel, salah satu pengembang FreeNAS, memiliki artikel yang bagus tentang topik ini: http://www.freenas.org/whats-new/2015/02/a-complete-guide-to-freenas-hardware-design -part-i-purpose-dan-best-practices.html .

TL; DR

ZFS melakukan sesuatu yang tidak tersedia untuk filesystem lain: ia memeriksa data Anda, dan memeriksa metadata yang digunakan oleh ZFS, dan memeriksa checksum. Jika data Anda rusak dalam memori sebelum ditulis, ZFS akan dengan senang hati menulis (dan checksum) data yang rusak. Selain itu, ZFS tidak memiliki pemeriksa konsistensi pra-mount atau alat yang dapat memperbaiki kerusakan sistem file. [...] Jika modul memori non-ECC rusak, dapat menyebabkan kerusakan yang tidak dapat diperbaiki pada kumpulan ZFS Anda yang dapat menyebabkan hilangnya penyimpanan sepenuhnya.

Ronald
sumber
Terima kasih. Saya yakin. Inilah yang perlu saya ketahui.
iconoclast
@iconoclast Saya harap Anda tidak menunggu 2 tahun untuk jawaban ini.
ewwhite
13

ZFS hanya melindungi investasi Anda dalam data pada disk. Jika server sedang dalam produksi maka Anda ingin uptime setinggi mungkin dan ECC membantu ini dengan memungkinkan server untuk mentolerir kesalahan ONE BIT dalam memori yang gagal. Ini dapat memberi Anda waktu untuk menjadwalkan dan mengganti memori yang gagal tanpa panik.

mdpc
sumber
@iconoclast Tergantung bit mana yang dibalik. Jika kebetulan itu adalah data terenkripsi, atau kunci enkripsi, maka Anda baru saja kehilangan segalanya ...
Michael Hampton
1
@MichaelHampton: jadi, dengan kata lain, mengenkripsi data di server saya benar-benar meningkatkan kemungkinan kehilangan karena kegagalan memori.
iconoclast
2
Enkripsi @iconoclast bukan pengganti cadangan. Meskipun jika Anda mengenkripsi cakram, Anda hampir pasti perlu mengenkripsi cadangan juga.
Michael Hampton
3
@ewwhite Memiliki satu catu daya adalah masalah ketersediaan. RAM Non-ECC dapat memengaruhi ketersediaan dan integritas . Tidak sulit membayangkan skenario di mana integritas lebih penting daripada ketersediaan.
Skyhawk
2
Seperti yang saya catat sebelumnya. Server ini dilengkapi dengan ECC RAM. Seluruh argumen ini konyol karena tidak ada alasan untuk menggunakan sesuatu selain dari kit RAM yang diberkati pabrikan .
ewwhite
12

RAM ECC adalah hal yang baik, tetapi mari kita lihat konteksnya ...

Untuk penggunaan yang Anda maksudkan, ProLiant Microserver adalah server berdampak kecil bentuk-faktor kecil yang bagus. Ini tidak memiliki beberapa atribut yang umumnya terkait dengan sistem kualitas produksi (hanya empat drive bay, catu daya tunggal, CPU lebih lemah). Jadi, saya pikir Anda akan mengalami masalah yang terkait dengan kekurangan tersebut jauh lebih cepat daripada efek tidak memiliki RAM yang mengoreksi kesalahan. Panduan yang Anda baca benar ... ECC RAM tidak akan menjadi penting dalam sistem tertentu ...

Ini tidak berlaku untuk sistem kualitas produksi kelas atas.

Saya akan menambahkan: The Microserver dispesifikasikan dengan RAM ECC . Kenapa kamu tidak menggunakannya?

putih
sumber
1
Saya berasumsi dengan "kualitas produksi" yang Anda maksud kualitas perusahaan ? Saya akan membuat ini dalam produksi (ini bukan untuk QA, UAT, atau pengembangan), hanya dalam skala yang sangat kecil. Tetapi data di dalamnya akan nyata , bukan data sampah yang dihasilkan untuk pengembangan atau dikloning dari server produksi. Ini akan menjadi data produksi nyata . (Omong-omong, terima kasih atas jawaban yang sangat berguna untuk membantu meletakkan segala sesuatu dalam konteks!)
iconoclast
1
@iconoclast tidak, kualitas produksi masih kualitas produksi. PSU tunggal tidak cocok untuk server jenis apa pun yang penting untuk diikuti, kecuali jika Anda ingin membeli PSU cadangan untuk disimpan - yang akan menjadi bodoh karena Anda bisa mencolokkan PSU cadangan itu dan memiliki bla bla bla dual PSU. Tetap aman bukanlah "perusahaan"
pauska
3
@iconoclast Orang pada umumnya menganggap server produksi 24/7 dan sangat tersedia. Yang terakhir ini tentu saja merupakan skala biaya / manfaat mulai dari hanya memiliki dua hak PSU hingga redundansi tingkat pusat data. Pengaturan Anda, bagaimanapun, tidak memiliki hal-hal ini
Dan
1
Pembicaraan PSU ini adalah sampah, dengan segala hormat. Jaringan saya berlabuh di dua server yang dibuat khusus. DNS, DHCP, Direktori Aktif. Jalankan papan Micro-ATX dalam kasus yang sesuai, 8 cakram SAS + 2 SSD, pengontrol Raid, SINGLE PSU. ANDA akan menyebut itu bukan HA? Yah, lakukan - Saya masih memiliki HPC dan Virtualisasi grid yang menggantung itu sebagai titik jangkar (yaitu salah satu dari mereka HARUS berada di).
TomTom
2
Beberapa perusahaan memiliki server yang mereka matikan ketika mereka pulang pada akhir hari !. Saya tidak akan melakukan itu di jaringan rumah saya, tetapi beberapa perusahaan tampaknya tidak terlalu peduli tentang ketersediaan sumber daya internal.
Kent Fredric