การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

เทคโนโลยีสำหรับการปรับปรุงประสิทธิภาพโดยใช้ SSD และใช้กันอย่างแพร่หลายในระบบจัดเก็บข้อมูลได้รับการคิดค้นมานานแล้ว ประการแรกคือการใช้ SSD เป็นพื้นที่จัดเก็บข้อมูลซึ่งมีประสิทธิภาพ 100% แต่มีราคาแพง ดังนั้นจึงใช้เทคโนโลยีการเหนื่อยและการแคช โดยที่ SSD ใช้สำหรับข้อมูลที่ได้รับความนิยมสูงสุด (“ร้อน”) เท่านั้น การแบ่งระดับเป็นสิ่งที่ดีสำหรับสถานการณ์การใช้ข้อมูล "ยอดนิยม" ในระยะยาว (วัน-สัปดาห์) ในทางกลับกัน การแคชมีไว้สำหรับการใช้งานระยะสั้น (นาที-ชั่วโมง) ตัวเลือกทั้งสองนี้ถูกนำมาใช้ในระบบจัดเก็บข้อมูล คิวซาน XCubeSAN. ในบทความนี้เราจะดูที่การนำอัลกอริทึมที่สองไปใช้ - การแคช SSD.

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

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

บ่งชี้ในการใช้แคช SSD สำหรับการอ่าน:

  • ความเหนือกว่าของการดำเนินการอ่านมากกว่าการดำเนินการเขียน (ส่วนใหญ่มักเป็นเรื่องปกติสำหรับฐานข้อมูลและเว็บแอปพลิเคชัน)
  • การมีอยู่ของคอขวดในรูปแบบของประสิทธิภาพของอาเรย์ฮาร์ดไดรฟ์
  • จำนวนข้อมูลที่ต้องการน้อยกว่าขนาดของแคช SSD

ข้อบ่งชี้สำหรับการใช้แคช SSD แบบอ่าน+เขียนจะเหมือนกัน ยกเว้นลักษณะของการดำเนินการ - ประเภทผสม (เช่น ไฟล์เซิร์ฟเวอร์)

ผู้จำหน่ายอุปกรณ์จัดเก็บข้อมูลส่วนใหญ่ใช้แคช SSD แบบอ่านอย่างเดียวในผลิตภัณฑ์ของตน ความแตกต่างพื้นฐาน คิวซาน พวกเขาให้ความสามารถในการใช้แคชในการเขียนเช่นกัน หากต้องการเปิดใช้งานฟังก์ชันการแคช SSD ในระบบจัดเก็บข้อมูล QSAN คุณต้องซื้อใบอนุญาตแยกต่างหาก (ให้มาทางอิเล็กทรอนิกส์)

แคช SSD ใน XCubeSAN ได้รับการปรับใช้ทางกายภาพในรูปแบบของพูลแคช SSD ที่แยกจากกัน อาจมีได้ถึงสี่รายการในระบบ แน่นอนว่าแต่ละพูลใช้ชุด SSD ของตัวเอง และในคุณสมบัติของดิสก์เสมือนแล้วเราจะพิจารณาว่าจะใช้พูลแคชหรือไม่และอันไหน การเปิดใช้งานและปิดใช้งานการใช้แคชสำหรับวอลุ่มสามารถทำได้ทางออนไลน์โดยไม่ต้องหยุด I/O คุณยังสามารถเพิ่ม SSD ลงในพูลได้ทันทีและลบออกจากที่นั่น เมื่อสร้างแคชพูล SSD คุณต้องเลือกโหมดที่จะใช้งาน: อ่านอย่างเดียวหรืออ่าน+เขียน องค์กรทางกายภาพของมันขึ้นอยู่กับสิ่งนี้ เนื่องจากสามารถมีพูลแคชได้หลายพูล ฟังก์ชันการทำงานอาจแตกต่างกัน (นั่นคือ ระบบสามารถมีทั้งพูลแคชแบบอ่านและอ่าน+เขียนในเวลาเดียวกัน)

หากใช้แคชพูลแบบอ่านอย่างเดียว แคชพูลนั้นสามารถประกอบด้วย 1-8 SSD ดิสก์ไม่จำเป็นต้องมีความจุเท่ากันและผู้ขายรายเดียวกัน เนื่องจากดิสก์ถูกรวมเข้าไว้ในโครงสร้าง NRAID+ SSD ทั้งหมดในพูลถูกแชร์ ระบบจะพยายามขนานคำขอขาเข้าระหว่าง SSD ทั้งหมดอย่างอิสระเพื่อให้ได้ประสิทธิภาพสูงสุด หาก SSD ตัวใดตัวหนึ่งล้มเหลว จะไม่มีอะไรเลวร้ายเกิดขึ้น เพราะแคชจะมีเพียงสำเนาของข้อมูลที่จัดเก็บไว้ในอาร์เรย์ของฮาร์ดไดรฟ์ เพียงแต่ปริมาณแคช SSD ที่มีอยู่จะลดลง (หรือกลายเป็นศูนย์หากใช้แคช SSD ดั้งเดิมจากไดรฟ์เดียว)

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

หากใช้แคชสำหรับการดำเนินการอ่าน + เขียน จำนวน SSD ในพูลควรเป็นจำนวนเท่าของสอง เนื่องจากเนื้อหาจะถูกมิเรอร์บนคู่ของไดรฟ์ (ใช้โครงสร้าง NRAID 1+) จำเป็นต้องทำซ้ำแคชเนื่องจากอาจมีข้อมูลที่ยังไม่ได้เขียนลงในฮาร์ดไดรฟ์ และในกรณีนี้ ความล้มเหลวของ SSD จากพูลแคชอาจทำให้ข้อมูลสูญหายได้ ในกรณีของ NRAID 1+ ความล้มเหลวของ SSD จะทำให้แคชถูกถ่ายโอนไปยังสถานะอ่านอย่างเดียว โดยข้อมูลที่ยังไม่ได้เขียนจะถูกทิ้งลงในอาเรย์ของฮาร์ดไดรฟ์ หลังจากเปลี่ยน SSD ที่ชำรุด แคชจะกลับสู่โหมดการทำงานดั้งเดิม อย่างไรก็ตาม เพื่อความปลอดภัยที่มากขึ้น คุณสามารถกำหนด Hot Spares เฉพาะให้กับแคชการอ่านและเขียนได้

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

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

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

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

  • ขนาดบล็อก (ขนาดบล็อกแคช) – 1/2/4 MB
  • จำนวนคำขอในการอ่านบล็อกเพื่อคัดลอกไปยังแคช (เกณฑ์การเติมเมื่ออ่าน) – 1..4
  • จำนวนคำขอในการเขียนบล็อกเพื่อคัดลอกไปยังแคช (เกณฑ์การเติมเมื่อเขียน) – 0..4

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

โปรไฟล์สามารถเปลี่ยนแปลงได้ทันที แต่แน่นอนว่าด้วยเนื้อหาของการรีเซ็ตแคชและ "การอุ่นเครื่อง" ใหม่

เมื่อพิจารณาถึงหลักการทำงานของแคช SSD เราสามารถเน้นการทำงานหลักเมื่อทำงานกับแคชได้:

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

อ่านข้อมูลเมื่อไม่อยู่ในแคช

  1. คำขอจากโฮสต์มาถึงตัวควบคุม
  2. เนื่องจากสิ่งที่ร้องขอไม่ได้อยู่ในแคช SSD จึงถูกอ่านจากฮาร์ดไดรฟ์
  3. ข้อมูลการอ่านจะถูกส่งไปยังโฮสต์ ในเวลาเดียวกัน จะมีการตรวจสอบเพื่อดูว่าบล็อกเหล่านี้ "ร้อน" หรือไม่
  4. หากใช่ ระบบจะคัดลอกไปยังแคช SSD เพื่อใช้งานต่อไป

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

อ่านข้อมูลเมื่อมีอยู่ในแคช

  1. คำขอจากโฮสต์มาถึงตัวควบคุม
  2. เนื่องจากข้อมูลที่ร้องขออยู่ในแคช SSD จึงถูกอ่านจากที่นั่น
  3. ข้อมูลการอ่านจะถูกส่งไปยังโฮสต์

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

การเขียนข้อมูลเมื่อใช้แคชการอ่าน

  1. คำขอเขียนจากโฮสต์มาถึงคอนโทรลเลอร์
  2. ข้อมูลถูกเขียนลงในฮาร์ดไดรฟ์
  3. การตอบสนองที่ระบุว่าการบันทึกสำเร็จจะถูกส่งกลับไปยังโฮสต์
  4. ในเวลาเดียวกัน จะมีการตรวจสอบว่าบล็อกนั้น "ร้อน" หรือไม่ (มีการเปรียบเทียบพารามิเตอร์ Populate-on-Write Threshold) หากใช่ ระบบจะคัดลอกไปยังแคช SSD เพื่อใช้ในภายหลัง

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

การเขียนข้อมูลเมื่อใช้แคชอ่าน+เขียน

  1. คำขอเขียนจากโฮสต์มาถึงคอนโทรลเลอร์
  2. ข้อมูลถูกเขียนลงในแคช SSD
  3. การตอบสนองที่ระบุว่าการบันทึกสำเร็จจะถูกส่งกลับไปยังโฮสต์
  4. ข้อมูลจากแคช SSD ถูกเขียนลงในฮาร์ดไดรฟ์ในพื้นหลัง

ดำเนินการเช็คอิน

แท่นทดสอบ

เซิร์ฟเวอร์ 2 เครื่อง (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) เชื่อมต่อกันด้วยสองพอร์ตผ่าน Fibre Channel 16G โดยตรงกับระบบจัดเก็บข้อมูล XCubeSAN XS5224D (RAM 16GB/ตัวควบคุม)

เราใช้ 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, รวมกันใน RAID5 (15+1) สำหรับอาร์เรย์ข้อมูลและ 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s เป็นแคช

มีการสร้างโวลุ่ม 2 เล่ม: หนึ่งเล่มสำหรับแต่ละเซิร์ฟเวอร์

ทดสอบ 1. แคช SSD แบบอ่านอย่างเดียวจาก 1-8 SSD

แคช SSD

  • ประเภท I/O: การปรับแต่ง
  • ขนาดบล็อกแคช: 4MB
  • เติมเกณฑ์เมื่ออ่าน: 1
  • เกณฑ์เติมเมื่อเขียน: 0

รูปแบบ I/O

  • เครื่องมือ: IOmeter V1.1.0
  • คนงาน: 1
  • ยอดคงค้าง(ความลึกของคิว): 128
  • ข้อกำหนดการเข้าถึง: 4KB, อ่าน 100%, สุ่ม 100%

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

ตามทฤษฎีแล้ว ยิ่ง SSD อยู่ในพูลแคชมากเท่าใด ประสิทธิภาพก็ยิ่งสูงขึ้นเท่านั้น ในทางปฏิบัติสิ่งนี้ได้รับการยืนยันแล้ว การเพิ่มขึ้นอย่างมีนัยสำคัญของจำนวน SSD ที่มีปริมาณน้อยเท่านั้นไม่ทำให้เกิดผลกระทบจากการระเบิด

ทดสอบ 2. แคช SSD ในโหมดอ่าน + เขียนด้วย 2-8 SSD

แคช SSD

  • ประเภท I/O: การปรับแต่ง
  • ขนาดบล็อกแคช: 4MB
  • เติมเกณฑ์เมื่ออ่าน: 1
  • เกณฑ์เติมเมื่อเขียน: 1

รูปแบบ I/O

  • เครื่องมือ: IOmeter V1.1.0
  • คนงาน: 1
  • ยอดคงค้าง(ความลึกของคิว): 128
  • ข้อกำหนดการเข้าถึง: 4KB, เขียน 100%, สุ่ม 100%

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

ผลลัพธ์เดียวกัน: ประสิทธิภาพที่เพิ่มขึ้นอย่างรวดเร็วและการปรับขนาดตามจำนวน SSD ที่เพิ่มขึ้น

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

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

ทดสอบ 3. การจำลองฐานข้อมูล

แคช SSD

  • ประเภท I/O: ฐานข้อมูล
  • ขนาดบล็อกแคช: 1MB
  • เติมเกณฑ์เมื่ออ่าน: 2
  • เกณฑ์เติมเมื่อเขียน: 1

รูปแบบ I/O

  • เครื่องมือ: IOmeter V1.1.0
  • คนงาน: 1
  • ยอดคงค้าง(ความลึกของคิว): 128
  • ข้อกำหนดการเข้าถึง: 8KB, อ่าน 67%, สุ่ม 100%

การใช้งานแคช SSD ในระบบจัดเก็บข้อมูล QSAN XCubeSAN

คำตัดสิน

แน่นอนว่าข้อสรุปที่ชัดเจนคือประสิทธิภาพที่ดีของการใช้แคช SSD เพื่อปรับปรุงประสิทธิภาพของระบบจัดเก็บข้อมูล นำไปใช้กับ คิวซาน XCubeSAN ข้อความนี้มีผลใช้บังคับอย่างสมบูรณ์: ฟังก์ชันการแคช SSD ได้รับการใช้งานอย่างสมบูรณ์แบบ สิ่งนี้เกี่ยวข้องกับการรองรับโหมดอ่านและอ่าน + เขียน การตั้งค่าที่ยืดหยุ่นสำหรับทุกสถานการณ์การใช้งาน รวมถึงประสิทธิภาพโดยรวมของระบบโดยรวม ดังนั้นด้วยต้นทุนที่สมเหตุสมผลมาก (ราคาลิขสิทธิ์เทียบได้กับราคา 1-2 SSD) คุณสามารถเพิ่มประสิทธิภาพโดยรวมได้อย่างมาก

ที่มา: will.com

เพิ่มความคิดเห็น