หน่วยความจำ Non-ECC พร้อม ZFS: ความคิดงี่เง่า?


16

ฉันมีเซิร์ฟเวอร์ใหม่และวางแผนที่จะอัพเกรดหน่วยความจำขนาดเล็ก 2 GB เป็นสูงสุด 16 GB (ตามหลักวิชา 8 GB นั้นมีขีด จำกัด แต่แสดงให้เห็นแล้วว่าใช้งานจริงได้ 16 GB) คำแนะนำบางคำแนะนำว่าหน่วยความจำ ECC นั้นไม่สำคัญ แต่ฉันไม่แน่ใจว่าฉันเชื่ออย่างนั้น

ฉันได้ติดตั้งFreeNASแล้วและวางแผนที่จะเพิ่มปริมาณ ZFS ทันทีที่ฮาร์ดไดรฟ์ใหม่ของฉันมาถึง มันจะโง่ที่จะปล่อยทิ้งและรับหน่วยความจำที่ไม่ใช่ ECC สำหรับ NAS ที่ใช้ ZFS หรือไม่ ถ้าจำเป็นฉันก็จะกัดกระสุน แต่ถ้ามันเป็นแค่ความหวาดระแวงฉันก็จะข้ามมันไป

มีเหตุผลใดที่ ZFS หรือ FeeeNAS โดยเฉพาะจะต้องใช้หน่วยความจำ ECC หรือประสบโดยเฉพาะอย่างยิ่งเมื่อทำงานบนระบบที่ใช้หน่วยความจำที่ไม่ใช่ ECC?


11
โดยทั่วไปแล้วจะพูดถึงแอปพลิเคชันการผลิต / เซิร์ฟเวอร์ทุกประเภทที่คุณต้องการจ่ายสำหรับ ECC RAM คำแนะนำที่แนะนำหน่วยความจำ ECC คือ "ไม่สำคัญ" เป็นสิ่งที่น่าสงสัยที่สุด - ฉันอยากจะบอกว่าพวกเขาเขียนโดยคนที่ไม่เคยมีข้อผิดพลาดแบบบิตเดียวทิ้งในระบบการผลิต
voretaq7

1
คุณจะทำอะไรกับไมโครไซต์ที่ต้องการ RAM ขนาด 16GB?
tombull89

ZFS เป็นตัวหิวแรมที่จะเริ่มต้นด้วยและฉันวางแผนที่จะติดตั้ง ESXi และเรียกใช้ FreeNas ที่อยู่ด้านบน ด้วยวิธีนี้เมื่อฉันต้องการเซิร์ฟเวอร์อื่นฉันเพิ่งสร้าง VM ใหม่โดยหลีกเลี่ยงกล่องและสายไฟ (ถ้ามีโซลูชันระบบอัตโนมัติภายในบ้านที่ไม่ดูดเหมือน X-10 ฉันมีกล่องสำหรับมันถ้าฉันต้องการใช้ Git Lab สำหรับ repos ส่วนตัวฉันมีกล่องใส่ไว้ ฯลฯ )
iconoclast

2
ฉันคิดว่าถ้าเขาลบบริบทเกี่ยวกับแท่นขุดเจาะขนาดเล็กของเขาซึ่งอาจเป็นบิตของการสร้างบ้าในการผลิตคำถามที่ว่าจะใช้หรือไม่ใช้หน่วยความจำ ECC สำหรับการติดตั้ง ZFS เป็นส่วนสำคัญจริงๆ
Kent Fredric

1
แมตต์ Ahrens ที่ ZFS ร่วมก่อตั้งในปี 2001 กล่าวว่า :There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.
เจนัส Troelsen

คำตอบ:


7

ฉันจะยืนยันว่าการเรียกใช้ FreeNAS ด้วย non-ECC RAM เป็นแนวคิดที่โง่ราวกับกำลังเรียกใช้ในฐานะแขกเสมือนจริงเมื่อข้อมูลที่เก็บไว้ในโวลุ่ม ZFS มีความสำคัญ

Joshua Paetzel หนึ่งในนักพัฒนาของ FreeNAS มีบทความที่ดีในหัวข้อนี้: http://www.freenas.org/whats-new/2015/02/a-complete-guide-to-freenas-hardware-design -part-I-วัตถุประสงค์และดีที่สุด

TL; DR

ZFS ทำบางสิ่งที่ไม่มีระบบไฟล์อื่นที่คุณสามารถทำได้: ตรวจสอบข้อมูลของคุณและตรวจสอบข้อมูลเมตาที่ใช้โดย ZFS และตรวจสอบผลรวมตรวจสอบ หากข้อมูลของคุณเสียหายในหน่วยความจำก่อนที่จะถูกเขียน ZFS จะเขียน (และตรวจสอบ) ข้อมูลที่เสียหายอย่างมีความสุข นอกจากนี้ ZFS ยังไม่มีตัวตรวจสอบความสอดคล้องหรือเครื่องมือที่สามารถแก้ไขความเสียหายของระบบไฟล์ได้ล่วงหน้า [... ] หากโมดูลหน่วยความจำที่ไม่ใช่ ECC ไปยุ่งเหยิงอาจทำให้เกิดความเสียหายที่ไม่สามารถแก้ไขได้ในพูล ZFS ของคุณซึ่งอาจทำให้หน่วยความจำหายไปทั้งหมด


ขอบคุณ ฉันเชื่อมั่น นี่คือสิ่งที่ฉันต้องการรู้
iconoclast

@iconoclast ฉันหวังว่าคุณจะไม่รอ 2 ปีสำหรับคำตอบนี้
ewwhite

13

ZFS ปกป้องการลงทุนของคุณในข้อมูลบนดิสก์เท่านั้น หากเซิร์ฟเวอร์นั้นอยู่ในระหว่างการผลิตคุณต้องมีเวลาทำงานสูงสุดและ ECC ช่วยด้วยการอนุญาตให้เซิร์ฟเวอร์ยอมรับข้อผิดพลาด ONE BIT ในหน่วยความจำที่ล้มเหลว สิ่งนี้สามารถให้เวลาคุณในการกำหนดเวลาและแทนที่หน่วยความจำที่ล้มเหลวโดยไม่ต้องตกใจ


@iconoclast ขึ้นอยู่กับบิตที่ถูกพลิก หากมันเกิดขึ้นกับข้อมูลที่เข้ารหัสหรือคีย์เข้ารหัสคุณก็สูญเสียทุกอย่างไปแล้ว ...
Michael Hampton

1
@MichaelHampton: ดังนั้นกล่าวอีกนัยหนึ่งการเข้ารหัสข้อมูลบนเซิร์ฟเวอร์ของฉันจริง ๆ แล้วเพิ่มโอกาสในการสูญเสียความล้มเหลวของหน่วยความจำ
iconoclast

2
การเข้ารหัส @iconoclast ไม่สามารถทดแทนการสำรองข้อมูลได้ แม้ว่าคุณจะเข้ารหัสดิสก์ แต่คุณก็เกือบจะต้องเข้ารหัสข้อมูลสำรองด้วยเช่นกัน
Michael Hampton

3
@ whitewhite การมีแหล่งจ่ายไฟเดียวเป็นปัญหาความพร้อมใช้งาน RAM Non-ECC อาจส่งผลกระทบต่อทั้งความพร้อมและความสมบูรณ์ ไม่ยากที่จะจินตนาการถึงสถานการณ์ที่ความสมบูรณ์มีความสำคัญมากกว่าความพร้อมใช้งาน
Skyhawk

2
อย่างที่ฉันได้กล่าวไปแล้ว เซิร์ฟเวอร์นี้มาพร้อมกับ ECC RAM การโต้เถียงทั้งหมดนี้โง่เพราะไม่มีเหตุผลที่จะใช้อย่างอื่นนอกเหนือจากชุด RAM ที่ผู้ผลิตอวยพรให้
ewwhite

12

ECC RAM เป็นสิ่งที่ดี แต่มาดูบริบท ...

สำหรับการใช้งานที่คุณต้องการ ProLiant Microserver เป็นเซิร์ฟเวอร์ขนาดเล็กที่มีผลกระทบต่ำ มันขาดคุณสมบัติบางอย่างที่มักเกี่ยวข้องกับระบบคุณภาพการผลิต (เพียงสี่ช่องไดรฟ์แหล่งจ่ายไฟเดียว CPU ที่อ่อนกว่า) ดังนั้นฉันคิดว่าคุณจะพบปัญหาที่เกี่ยวข้องกับข้อบกพร่องเหล่านั้นเร็วกว่าผลกระทบของการไม่มีแรมแก้ไขข้อผิดพลาด คำแนะนำที่คุณอ่านถูกต้อง ... ECC RAM จะไม่สำคัญสำหรับระบบนั้น ...

สิ่งนี้ไม่ถือเป็นจริงสำหรับระบบคุณภาพการผลิตขั้นสูง

ฉันจะเพิ่มการ MicroServer เป็นspec'd กับ RAM ทำไมคุณไม่ใช้มันล่ะ


1
ฉันถือว่า "คุณภาพการผลิต" คุณหมายถึงคุณภาพขององค์กรหรือไม่ ฉันจะได้รับสิ่งนี้ในการผลิต (ไม่ใช่สำหรับ QA, UAT หรือการพัฒนา) ในระดับที่เล็กมาก แต่ข้อมูลในนั้นจะเป็นของจริงไม่ใช่ข้อมูลขยะที่สร้างขึ้นสำหรับการพัฒนาหรือการโคลนจากเซิร์ฟเวอร์ที่ใช้งานจริง มันจะเป็นข้อมูลการผลิตจริง (โดยวิธีนี้ขอบคุณสำหรับคำตอบที่มีประโยชน์มากที่จะช่วยให้สิ่งต่าง ๆ ในบริบท!)
iconoclast

1
@ ภาพเหมือนไม่มีคุณภาพการผลิตยังคงคุณภาพการผลิต PSU เดียวไม่เหมาะสำหรับเซิร์ฟเวอร์ทุกชนิดที่สำคัญต่อการรักษาเว้นแต่คุณต้องการซื้อ PSU สำรองเพื่อเก็บไว้ซึ่งจะโง่เพราะคุณสามารถเสียบ PSU สำรองในนั้นและมี bla bla bla ของ PSU คู่ได้ การอยู่อย่างปลอดภัยไม่ใช่ "องค์กร"
pauska

3
@iconoclast โดยทั่วไปผู้คนคิดว่าเซิร์ฟเวอร์ที่ใช้งานจริงนั้นมีให้บริการตลอด 24 ชั่วโมงทุกวัน อย่างหลังคือระดับของต้นทุน / ผลประโยชน์ตั้งแต่การมี PSU เพียงสองสิทธิ์จนถึงการสำรองระดับดาต้าเซ็นเตอร์ อย่างไรก็ตามการตั้งค่าของคุณไม่มีสิ่งเหล่านี้เลย
Dan

1
การพูด PSU นี้เป็นขยะด้วยความเคารพ เครือข่ายของฉันยึดกับเซิร์ฟเวอร์สองเครื่องที่เป็นรุ่นต่อเติมเอง DNS, DHCP, Active Directory ใช้งาน Micro-ATX board ในเคสที่สอดคล้องกันดิสก์ 8 SAS + 2 SSD, คอนโทรลเลอร์คอนโทรลเลอร์, SINGLE PSU คุณจะเรียกว่าไม่ใช่ฮ่า ๆ ? ทำอย่างนั้น - ฉันยังมี HPC และ Virtualization grid ห้อยไว้ที่จุดยึด (เช่นหนึ่งในนั้นต้องอยู่บน)
TomTom

2
บริษัท บางแห่งมีเซิร์ฟเวอร์ที่ปิดเมื่อพวกเขากลับบ้านในตอนท้ายของวัน! ฉันจะไม่ทำอย่างนั้นในเครือข่ายในบ้านของฉัน แต่บาง บริษัท ดูเหมือนจะไม่สนใจ / เกี่ยวกับความพร้อมของทรัพยากรภายในองค์กร
Kent Fredric
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.