ฉันมีกล่อง CentOS ที่มีไดรฟ์ 10 2TB และตัวควบคุม LSI RAID ซึ่งใช้เป็นเซิร์ฟเวอร์ NFS

ฉันรู้ว่าฉันกำลังจะใช้ RAID 1 เพื่อสร้างพื้นที่ใช้งาน 5TB แต่ในแง่ของประสิทธิภาพ ความน่าเชื่อถือ และการจัดการ ซึ่งจะดีกว่า ให้สร้างอาร์เรย์ 5TB เดียวบนคอนโทรลเลอร์ หรือสร้างอาร์เรย์ 1TB 5 ชุด และใช้ LVM เพื่อจัดกลุ่มใหม่เป็น VG หนึ่งรายการ (หรือมากกว่า)

ฉันสนใจเป็นพิเศษที่จะได้ยินว่าทำไมคุณถึงเลือกวิธีใดวิธีหนึ่ง

ขอบคุณ!

answer

หากผู้ควบคุมอนุญาตให้คุณจัดเตรียมการจู่โจม 10 ดิสก์ 10 (แทนที่จะเป็น 2 8-ดิสก์ยูนิตที่มี 2 ดิสก์เหลือ) นั่นอาจเป็นทางออกที่ดีที่สุด จัดการได้ง่าย คุณได้รับประสิทธิภาพการเขียนที่ดีด้วยแคชสำรองแบตเตอรี่ และการ์ด RAID ทำหน้าที่จัดการ การตรวจสอบ การจัดการที่หนักหน่วง เพียงติดตั้งเอเจนต์ของการ์ด RAID ใน OS เพื่อให้คุณสามารถกำหนดค่าและตรวจสอบสถานะใหม่ได้จากภายใน OS และคุณควรได้รับการตั้งค่า

การใส่ทุกอย่างไว้ในการดูแลการ์ด RAID ทำให้คุณภาพของซอฟต์แวร์บนการ์ดเป็นปัจจัยที่สำคัญที่สุด ฉันมีการ์ด RAID ที่ขัดข้องทำให้ระบบย่อย IO ทั้งหมด "หายไป" และต้องรีบูตเซิร์ฟเวอร์ ฉันยังมีอินสแตนซ์ของการ์ดที่สูญเสียการกำหนดค่าอาร์เรย์โดยสมบูรณ์ซึ่งต้องกำหนดค่าใหม่อย่างระมัดระวังจากคอนโซลหรือ สิ่งทั้งหมดที่จะกู้คืนจากการสำรองข้อมูล โอกาสที่คุณกับเซิร์ฟเวอร์เดียวจะพบปัญหาใดๆ นั้นต่ำ แต่ถ้าคุณมีเซิร์ฟเวอร์หลายร้อยหรือหลายพันเซิร์ฟเวอร์ คุณอาจเห็นปัญหาประเภทนี้เป็นระยะ บางทีฮาร์ดแวร์ที่ใหม่กว่าอาจจะดีกว่า ฉันไม่ได้มีปัญหาประเภทนี้มาระยะหนึ่งแล้ว

ในทางกลับกัน เป็นไปได้และเป็นไปได้ว่าการจัดตารางเวลา IO ใน Linux จะดีกว่าที่อยู่ในการ์ด RAID ดังนั้นการแสดงแต่ละดิสก์ทีละตัวหรือเป็น 5 RAID 1 ยูนิตและการใช้ LVM เพื่อตัดผ่านอาจให้ประสิทธิภาพการอ่านที่ดีที่สุด แคชการเขียนที่สำรองด้วยแบตเตอรี่มีความสำคัญอย่างยิ่งต่อประสิทธิภาพการเขียนที่ดี ดังนั้นฉันจะไม่แนะนำการกำหนดค่าใดๆ ที่ไม่มีคุณสมบัตินั้น แม้ว่าคุณสามารถนำเสนอดิสก์เป็น JBOD และเปิดใช้งานแคชการเขียนสำรองด้วยแบตเตอรี่ในเวลาเดียวกัน ก็ยังมีค่าใช้จ่ายในการจัดการเพิ่มเติมและความซับซ้อนในการใช้การโจมตีซอฟต์แวร์ Linux และการตรวจสอบฮาร์ดแวร์อัจฉริยะ ตั้งค่าได้ง่ายพอสมควร แต่คุณต้องดำเนินการตามขั้นตอนเพื่อจัดการกับความล้มเหลวของไดรฟ์ ซึ่งรวมถึงไดรฟ์สำหรับเริ่มระบบด้วย มันไม่ง่ายเหมือนเปิดดิสก์ออกด้วยไฟกะพริบสีเหลืองแล้วเปลี่ยนความซับซ้อนเป็นพิเศษสามารถสร้างพื้นที่สำหรับข้อผิดพลาดได้

ดังนั้นฉันขอแนะนำ 10 ดิสก์ RAID 10 หากคอนโทรลเลอร์ของคุณสามารถทำได้หรือ 5 RAID 1 ที่มี LVM striping หากไม่สามารถทำได้ หากคุณทดสอบฮาร์ดแวร์ของคุณและพบว่า JBOD และ Linux RAID ทำงานได้ดีกว่าการใช้งาน แต่คุณควรทดสอบประสิทธิภาพการเขียนแบบสุ่มที่ดีโดยเฉพาะในดิสก์ส่วนใหญ่โดยใช้บางอย่าง เช่น sysbench แทนที่จะอ่านตามลำดับโดยใช้ dd

นั่นคือ R10 จริงๆ ไม่ใช่ R1 - และมันคือ R10 ที่ฉันจะใช้ เช่น ให้ระบบปฏิบัติการเห็นดิสก์ดิบทั้งสิบแผ่นและจัดการในซอฟต์แวร์ได้ 100% อย่างอื่นก็ซับซ้อนโดยไม่จำเป็น

หากคุณติดอยู่กับ 2TB LUN เนื่องจาก 32 บิตที่ใดที่หนึ่ง ฉันจะตั้งใจอย่างยิ่งที่จะสร้าง 5x 1TB RAID1 LUN บนการ์ด RAID และโยนมันลงในกลุ่มวอลุ่มเพื่อสร้างพื้นที่ขนาดใหญ่ 5TB ก้อนหนึ่ง ด้วยวิธีนี้การ์ดจะจัดการกับการคูณการเขียนโดยนัยในความสัมพันธ์แบบ RAID1 และคุณจะได้พื้นที่ 5TB

หากคุณสามารถทำให้ LUN มีขนาดใหญ่กว่า 2TB ได้ ฉันก็อยากจะสร้างอาร์เรย์ขนาดใหญ่บนการ์ด RAID ความแข็งแกร่งของฉันขึ้นอยู่กับความสามารถของการ์ด RAID ที่เป็นปัญหาอย่างมาก ฉันไม่รู้ว่ามันคืออะไร เลยไม่สามารถแนะนำคุณได้ ถ้าฉันไม่เชื่อถือ ฉันจะใช้การจัดเรียง 5x 1TB RAID1

ฉันขอแนะนำให้ใช้ตัวควบคุมการจู่โจมที่มีราคาแพงเพื่อทำงานการจู่โจมจำนวนมาก การ์ด LSI และซอฟต์แวร์ที่มาพร้อมกับใช้งานได้ค่อนข้างดี เมื่อกำหนดค่าอย่างเหมาะสมแล้ว พวกเขาจะส่งอีเมลถึงคุณเมื่อมีเหตุการณ์ต่างๆ เกิดขึ้นกับอาร์เรย์ เช่นเดียวกับเมื่อดิสก์ล้มเหลว ไม่มีอะไรผิดปกติกับตัวเลือกการโจมตีซอฟต์แวร์ linux ทั้งสองแบบ แต่คุณได้ออกไปซื้อการ์ด raid ที่ค่อนข้างแปลกใหม่ ปล่อยให้มันทำงาน

กำหนดค่าดิสก์อาร์เรย์เพื่อเปิดเผยอุปกรณ์ขนาดใหญ่หนึ่งเครื่องไปยัง Linux หากคุณต้องการแบ่งอุปกรณ์ขั้นสุดท้ายออกเป็นไดรฟ์ข้อมูลขนาดเล็ก ให้ใช้ lvm สำหรับสิ่งนั้น ฟิสิคัลวอลุ่มขนาดใหญ่หนึ่งกลุ่ม กลุ่มวอลุ่มขนาดใหญ่หนึ่งกลุ่ม และตัดกลุ่มวอลุ่มเป็นจำนวนเท่าใดก็ได้ของโลจิคัลวอลุ่มที่คุณต้องการ