จะเลือกหมายเลข Erasure Code K & M ได้อย่างไร?
การทำงานของรหัสการลบ:
พารามิเตอร์รหัสการลบ Ceph K & M เกี่ยวข้องกับประสิทธิภาพความจุที่ใช้งานได้และความซ้ำซ้อนต่อความล้มเหลวของฮาร์ดแวร์. K คือจำนวนของข้อมูลที่แบ่งออกเป็นชิ้นส่วน และ M คือจำนวนของชิ้นส่วนที่เข้ารหัส. เมื่อไคลเอนต์เขียนอ็อบเจ็กต์ข้อมูลไปยังคลัสเตอร์จัดเก็บ Ceph อ็อบเจ็กต์ข้อมูลจะถูกแบ่งออกเป็น K ชิ้นข้อมูลที่มีขนาดเท่ากัน. Ceph ใช้ข้อมูลชิ้นส่วนเพื่อเข้ารหัส M ชิ้นส่วนของชิ้นส่วนการเข้ารหัสซึ่งจะถูกใช้ในการคำนวณชิ้นส่วนข้อมูลที่สูญหายเมื่อฮาร์ดแวร์ล้มเหลว.
ข้อมูลชิ้นและโค้ดชิ้นจะถูกแจกจ่ายและเก็บไว้ในโดเมนความล้มเหลวที่ระบุโดย K+M จำนวนสูงสุดของข้อมูลชิ้นที่สามารถสูญหายได้คือ M โดเมนความล้มเหลว โดเมนความล้มเหลวที่มีอยู่ขึ้นอยู่กับการจัดสรรเซิร์ฟเวอร์จัดเก็บข้อมูลภายในโครงสร้างพื้นฐานทางกายภาพ สำหรับคลัสเตอร์ Ceph ขนาดเล็ก ความล้มเหลวอาจเกิดจากดิสก์หรือโฮสต์เซิร์ฟเวอร์ โดเมนความล้มเหลวของคลัสเตอร์ขนาดใหญ่สามารถเป็นตู้เซิร์ฟเวอร์ ห้องเซิร์ฟเวอร์ หรือศูนย์ข้อมูล เป็นต้น.
วัตถุข้อมูลจะถูกสร้างขึ้นใหม่จากข้อมูลชิ้นส่วนเมื่อไคลเอนต์ต้องการอ่านข้อมูล.
ประสิทธิภาพการจัดเก็บข้อมูล
เมื่อเปรียบเทียบกับอัลกอริธึมการทำสำเนาข้อมูล Ceph การเข้ารหัสการลบมักมีประสิทธิภาพในการใช้พื้นที่ที่ดีกว่า เนื่องจากการเข้ารหัสการลบใช้การดำเนินการ I/O ของดิสก์มากขึ้นเพื่อให้การ I/O ข้อมูลเสร็จสมบูรณ์ จึงไม่เป็นมิตรกับงานที่ต้องการ IOPS มาก จำนวน K+M ที่มากขึ้นจะทำให้การดำเนินการ I/O ใช้ทรัพยากร IOPS ของดิสก์มากขึ้น.
เมื่อใช้ K ที่ใหญ่กว่าและ M ที่เล็กกว่า จำนวนไบต์ทั้งหมดของข้อมูลที่ถ่ายโอนในเครือข่าย Ceph cluster จะน้อยลง ซึ่งอาจเพิ่มประสิทธิภาพการทำงานของ I/O throughput ของวัตถุข้อมูลขนาดใหญ่.
ประสิทธิภาพของพื้นที่
ประสิทธิภาพของพื้นที่ที่ใช้งานได้ของพูลรหัสการลบเท่ากับ K/(K+M) ตัวอย่างเช่น ประสิทธิภาพของพื้นที่ของพูลรหัสการลบ K=4, M=2 คือ 4/6 = 66.7% ซึ่งมีประสิทธิภาพมากกว่าพูลสำเนา 3 เท่าตัวที่ให้ประสิทธิภาพ IOPS ที่สูงกว่าด้วยระดับความซ้ำซ้อนของฮาร์ดแวร์ที่เท่ากัน.
K ที่เหมาะสมจะมีค่ามากกว่า M เนื่องจากประสิทธิภาพของพื้นที่ที่ใช้งานได้ การเข้ารหัสการลบ (K-M) ที่ใหญ่กว่าจะมีประสิทธิภาพของพื้นที่ที่ดีกว่า.
จำนวนโฮสต์เซิร์ฟเวอร์
จำนวน K+M ยังกำหนดจำนวนโฮสต์หรือโดเมนที่ล้มเหลวที่ใหญ่กว่าซึ่งจำเป็นในคลัสเตอร์.
- พูลการเข้ารหัสการลบทั่วไปต้องการโฮสต์เซิร์ฟเวอร์ K+M ขั้นต่ำเพื่อกระจาย EC chunks ทั้งหมดอย่างเต็มที่.
- การกำหนดค่าการเข้ารหัสการลบขั้นสูงอนุญาตให้เก็บ EC chunks หลายตัวต่อโดเมนที่ล้มเหลว การกำหนดค่านี้ช่วยลดจำนวนเซิร์ฟเวอร์ที่จำเป็นสำหรับการกระจาย EC chunks.
สรุปผลกระทบของการเข้ารหัสการลบ K & M:
- M กำหนดจำนวนโดเมนที่ล้มเหลวที่ซ้ำซ้อน.
- K + M ที่ใหญ่กว่าจะส่งผลให้ประสิทธิภาพ IOPS ของวัตถุขนาดเล็กลดลงสำหรับลูกค้า แต่จะปรับปรุงการส่งข้อมูลสำหรับวัตถุขนาดใหญ่.
- ประสิทธิภาพของพื้นที่จัดเก็บ = K/(K+M)
- จำนวนเซิร์ฟเวอร์ขั้นต่ำที่ต้องการ.