Saya ingin membangun server penyimpanan (berdasarkan GNU / Linux atau FreeBSD) yang akan selalu ada. Untuk mencegah korupsi data (yang tidak mungkin terjadi karena saya tidak pernah memiliki masalah seperti itu, tetapi lebih baik aman daripada menyesal) Saya ingin menggunakan RAM ECC.
Meskipun tidak sebagus EDD (?) (Yang jauh lebih mahal) dan memberikan perlindungan tambahan. ECC tampaknya hanya mengoreksi kesalahan bit tunggal.
RAM terdaftar ECC hanya dapat digunakan dengan papan workstation / server seperti Intel Xeon atau AMD interlagos / magny-cours / valencia g34 atau c32.
ECC unbuffered dapat digunakan pada Intel Xeon lga1155 atau AMD AM3 + pada papan Asus.
Pilihan kedua akan jauh lebih murah di sisi prosesor dan motherboard, dan saya ragu saya akan membutuhkan lebih dari 16GB RAM (4x4 GB ECC unbuffered adalah tongkat dengan harga terjangkau terbesar).
Keraguan yang saya alami adalah (terutama mengenai asus am3 + board): apakah ECC-unbuffered RAM dan ECC-terdaftar RAM (dari sudut pandang keselamatan dan keandalan)? Atau itu pilihan yang lebih buruk. Saya tidak terlalu peduli dengan kecepatan.
Lebih detail: server akan menggunakan case server dengan drive hingga 24 x 3.5 '' dan harus mengkonsumsi sesedikit mungkin. LGA1155 tampaknya dalam arti itu taruhan yang lebih baik (TDP ~ 20-95W) dibandingkan yang lain (> 80W) dengan harga dua kali lipat. Setiap saran diterima. Katakanlah kurang dari 120W saat idle (~ dengan 10 hard disk dari 24).
sumber
Jawaban:
Nah, jika Anda hanya menggunakan 16GB RAM - yang bukan rentang RAM server - Anda akan baik-baik saja dengan standar RAM / sys desktop apa pun.
Jika itu hanya server penyimpanan, Anda bahkan tidak akan membutuhkan kinerja CPU sebanyak itu.
Seperti yang Anda katakan, pergi dengan Sandy bridge, itu akan memberi Anda sistem yang keren, performan dan dapat diandalkan.
Berbicara tentang rentang RAM 16GB, Anda tidak perlu khawatir tentang hal-hal ECC.
sumber
Benar. Untuk memperbaiki lebih banyak kesalahan akan membutuhkan lebih banyak bit. Seperti itu, Anda sudah menggunakan 10 bit untuk menyimpan 8 bit informasi, 'membuang' 20% dari chip memori untuk memungkinkan koreksi bit tunggal dan hingga dua bit deteksi kesalahan.
Ini berfungsi sebagai berikut. Bayangkan a
0
atau a1
. Jika saya membaca keduanya maka saya hanya harus berharap saya membaca hal yang benar. Jika 0 dibalik ke 1 oleh beberapa radiasi kosmik atau oleh chip yang buruk maka saya tidak akan pernah tahu.Di masa lalu kami mencoba menyelesaikannya dengan paritas. Parity menambahkan bit kesembilan per 8 bit yang disimpan. Kami memeriksa berapa nol dan berapa 1 dalam byte. Kesembilan ditetapkan untuk membuat angka genap. (untuk paritas genap) Jika Anda pernah membaca byte dan angkanya salah, maka Anda tahu ada yang salah. Anda tidak tahu bit mana yang salah.
ECC memperluasnya. Ini menggunakan 10 bit dan algoritma yang kompleks untuk menemukan ketika bit tunggal telah membalik. Ia juga tahu apa nilai aslinya. Cara yang sangat sederhana untuk menjelaskan bagaimana hal itu terjadi adalah:
Ganti semua
0
dengan000
. Ganti semua1
dengan111
.Sekarang Anda dapat membaca enam kombinasi:
000
001
010
100
101
111
Kami tidak pernah 100% yakin apa yang awalnya disimpan. Jika kita membaca
000
maka itu mungkin hanya000
yang kita harapkan, atau ketiga bit itu mungkin terbalik. Yang terakhir sangat tidak mungkin. Bit tidak terbalik secara acak, meskipun itu terjadi. Katakanlah itu terjadi satu dari sepuluh kali untuk beberapa perhitungan yang mudah (kenyataannya jauh lebih sedikit). Itu berhasil dengan peluang berikut untuk membaca nilai yang benar:000
-> Baik000
(99,9% yakin), atau flip tiga (peluang 1/1000)001
-> Kami tahu ada yang salah. Tapi entah itu000
dan satu bit terbalik (peluang 1:10), atau itu111
dan dua bit terbalik (peluang 1: 100). Jadi mari kita perlakukan seolah-olah kita membaca000
tetapi mencatat kesalahannya.010
-> Sama seperti di atas.100
-> Sama seperti di atas.011
-> Sama seperti di atas, tetapi dengan asumsi itu adalah111
101
-> Sama seperti di atas, tetapi dengan asumsi itu adalah111
110
-> Sama seperti di atas, tetapi dengan asumsi itu adalah111
111
-> Baik111
(99,9% yakin), atau flip tiga (peluang 1/1000)111
-> Baik000
(99,9% yakin), atau flip tiga (peluang 1/1000)ECC melakukan trik serupa tetapi melakukannya dengan lebih efisien. Untuk 8 bit (satu byte) mereka hanya menggunakan 10 bit untuk mendeteksi dan memperbaiki.
Saya sudah menyebutkan apa bagian ECC itu, sekarang bagian yang terdaftar vs yang tidak dibangun.
Pada CPU modern, pengontrol memori ada pada die CPU, dimulai sejak lama untuk chip AMD Opteron dan dengan seri Core i untuk Intel. Sebagian besar CPU desktop kemudian berbicara langsung ke soket DIMM yang memegang RAM. Ini bekerja dan tidak ada logika tambahan yang diperlukan. Itu murah untuk dibuat, dan kecepatannya tinggi karena tidak ada penundaan dari pengontrol memori ke RAM.
Tetapi pengontrol memori hanya dapat menggerakkan arus terbatas pada kecepatan tinggi. Ini berarti ada batasan berapa banyak soket memori yang dapat ditambahkan ke motherboard. (Dan untuk membuatnya lebih kompleks, seberapa banyak DIMM dapat digunakan, yang mengarah ke peringkat memori. Saya akan melewatkan itu karena ini sudah lama).
Pada papan server Anda sering ingin menggunakan lebih banyak memori daripada sistem desktop. Oleh karena itu buffer "register" ditambahkan ke memori. Membaca dari chip pada DIMM pertama kali disalin ke buffer ini. Siklus clock kemudian buffer ini terhubung ke pengontrol memori untuk mentransfer data.
Buffer / register ini menunda banyak hal, membuat memori lebih lambat. Itu tidak diinginkan dan karenanya hanya digunakan / dibutuhkan pada papan yang memiliki banyak bank memori. Sebagian besar papan konsumen tidak membutuhkan ini, dan sebagian besar CPU konsumen tidak mendukungnya.
RAM yang terhubung langsung, tidak terbuffer vs RAM yang disangga / terdaftar bukan merupakan kasus di mana yang satu lebih baik atau lebih buruk daripada yang lain. Mereka hanya memiliki trade-off yang berbeda dalam hal berapa banyak slot memori yang dapat Anda miliki. Registered RAM memungkinkan lebih banyak RAM dengan mengorbankan beberapa kecepatan (dan mungkin biaya). Dalam kebanyakan kasus di mana Anda membutuhkan memori sebanyak mungkin, memori ekstra itu lebih dari mengimbangi RAM yang berjalan pada kecepatan yang sedikit lebih lambat.
Dari sudut pandang keselamatan dan stabilitas, ECC-unbuffered dan ECC-terdaftar adalah sama.
24 drive akan mengkonsumsi banyak daya. Berapa banyak tergantung pada drive. Drive 140GB 15K RPM SAS saya hanya menghasilkan 10 watt saat idle, sama dengan disk 1TB SATA 7k2. Saat digunakan keduanya lebih menarik.
Lipat gandakan dengan 24. 24x10 Watt saat idle berarti 240 watt hanya menjaga piringan piringan berputar, mengatasi hambatan udara. Double-ish untuk digunakan.
Intel lebih baik pada CPU berdaya rendah, pada saat penulisan dan untuk CPU yang Anda sebutkan.
Jika Anda menggunakan FreeBSD, perhatikan keras pada ZFS. Itu bisa bagus. Banyak fitur yang lebih canggih (mis. Deduplikasi dan / atau kompresi) menggunakan daya CPU yang serius, dan ingin banyak memori. ZFS untuk penggunaan dasar dengan ZRAID akan baik-baik saja pada kedua set CPU yang Anda sebutkan dan dengan 16 GB, tetapi jika Anda mengaktifkan fitur seperti deduplikasi, Anda harus melihat dengan hati-hati ke memori yang direkomendasikan yang diperlukan untuk kapasitas disk Anda; direkomendasikan hingga 5GB per TB penyimpanan oleh beberapa panduan .
Dua hal lagi:
sumber
Dua masalah terpisah.
ECC Vs non-ECC
Vs Terdaftar Tidak Dibuat:
sumber