Posts

Ceph Storage: Data Placement

Stockholm Public Library (source: https://pxhere.com/en/photo/641676)

จุดเด่นที่สุดอย่างหนึ่ง ในระบบ Ceph Storage คือ กระบวนการจัดเก็บข้อมูลภายใน (data placement) ที่แตกต่างจากระบบ distributed storage ทั้วไปที่มีการใช้ look up table เพื่อเก็บตำแหน่งของ object ใน cluster แต่ใน Ceph นั้นจะใช้การคำนวณแทน ทำให้ระบบไม่มี single point of failure และมี availability สูง นอกจากนี้ ยังมีความสามารถในการทำ replication หรือ ทำ erasure-coding กับข้อมูลที่เก็บลงไปอย่างอัตโนมัติอีกด้วย ทำให้ข้อมูลที่เก็บภายใน Ceph Storage นั้นมี durability สูง และเพื่อให้เข้าใจมากขึ้นว่าทำไมกระบวนการ data placement ดังกล่าวถึงทำให้ Ceph Storage มีความสามารถเหล่านั้น ในบทความนี้ผมจึงจะอธิบายลงรายละเอียดพอสังเขปเกี่ยวกับกระบวนการเก็บข้อมูลนี้ครับ

Read more

CephFS

Ceph Client – Part III: CephFS and Customized Client

Ceph File System หรือ CephFS เป็นอีกหนึ่ง client ที่มาพร้อมกับระบบ Ceph Storage โดย CephFS นั้น ทำให้ผู้ใช้สามารถใช้งาน Ceph Storage ในลักษณะของ distributed file system ได้ (ในขณะที่ในความเป็นจริงแล้ว Ceph Storage เป็น object storage)​ ทำให้สามารถนำไปใช้งานในองค์กรทั่วไปได้อย่างง่ายดาย เพราะว่า CephFS รองรับ operation มาตรฐานทั่วไปของ POSIX (เช่น อ่าน, เขียน, ลบ, หรือ copy ไฟล์) ทำให้ผู้ใช้สามารถใช้งาน CephFS ร่วมกับแอปพลิเคชันหรือโปรแกรมอื่นๆได้ในทันที

Read more

RBD

Ceph Client – Part II: RBD

RBD

RBD
(adapted from: https://www.slideshare.net/buildacloud/ceph-intro-and-architectural-overview-by-ross-turk)

Ceph Block Device หรือที่เรียกว่า RBD (ย่อมาจาก RADOS Block Device) เป็น Ceph client ประเภทหนึ่งที่ใช้กันอย่างแพร่หลายมาก อธิบายอย่างง่ายๆ คือ เป็น client ที่อนุญาตให้ผู้ใช้งานใช้งาน Ceph Storage ในลักษณะเดียวกับ SAN (Storage Area Network) ได้นั่นเอง และด้วยความสามารถในการทำ snapshot และ layering ทำให้สามารถ clone virtual machine image ได้รวดเร็วมาก เหมาะเป็นอย่างยิ่งสำหรับงานประเภท hypervisor โดยเฉพาะในระบบจำพวก CloudStack หรือ OpenStack

Read more

RGW

Ceph Client – Part I: RGW

ในการใช้งาน Ceph Storage ผู้ใช้สามารถใช้งานผ่าน Ceph Client แบบใดแบบหนึ่งหรือหลายแบบร่วมกันก็ได้ โดย Ceph Storage นั้นมาพร้อมกับ Client 3 ประเภทให้ผู้ใช้เลือกใช้งานกับ use case ที่แตกต่างกันได้อย่างเหมาะสม และนอกจากนั้น ผู้ใช้ยังสามารถสร้าง Ceph Client หรือ ทำให้แอปพลิเคชันที่มีอยู่แล้วสามารถทำงานร่วมกับ Ceph Storage ได้อีกด้วย

Read more

MDS Node

RADOS: MDS Node

MDS Node

สัญลักษณ์ MDS Node

 

MDS Node หรือ Metadata Server Node เป็น node อีกประเภทหนึ่งภายใน RADOS cluster ที่มีความพิเศษกว่า node ประเภทอื่นๆ เนื่องมาจาก MDS node นี้จะพบเฉพาะใน Ceph Storage ที่มีการใช้งาน Ceph File System (Ceph FS) เท่านั้น หน้าที่ของ MDS node ถือว่าเฉพาะเจาะจงกับการทำงานในลักษณะของ distributed file system เป็นอย่างมาก และหากไม่มี MDS node แล้ว Ceph FS ก็จะไม่สามารถทำงานได้เลย

Read more

OSD

RADOS: OSD Node

OSD

สัญลักษณ์ OSD node

OSD node หรือ Object Storage Device node เป็น node อีกประเภทหนึ่งใน RADOS ที่มีความสำคัญเป็นอย่างมากต่อทั้ง RADOS และ Ceph Storage ทั้งนี้เพราะ​​ OSD node นั้นทำหน้าที่หลัก คือ การเก็บรักษาข้อมูลของผู้ใช้ ให้ปลอดภัยและเข้าถึงได้อยู่เสมอ นอกจากนี้ยังคอยตรวจหาข้อผิดพลาดในข้อมูล และสามารถแก้ไขข้อผิดพลาดได้ด้วยตนเอง ยิ่งไปกว่านั้น OSD node ยังคอยตรวจสอบและรายงานสถานะของ OSD node ข้างเคียงไปยัง Monitor node อีกด้วย เพราะเหตุนี้เองจึงทำให้ RADOS สามารถดูแลตัวเองและเก็บรักษาข้อมูลให้ปลอดภัยอยู่เสมอได้ด้วยตนเอง

Read more

Ceph-logo

แนะนำ Ceph Storage – distributed storage รูปแบบใหม่ที่น่าสนใจสำหรับองค์กร

Introduction to Ceph

สำหรับคนที่กำลังมองหาระบบ storage ดีๆ เพื่อนำไปใช้ในองค์กรในช่วงที่ผ่านมานี้ คงจะเคยได้ยินชื่อ Ceph Storage มาบ้างแล้ว ด้วยคุณสมบัติและความสามารถต่างๆ ของ Ceph Storage ที่พัฒนาเพิ่มขึ้นตลอดเวลา อีกทั้ง community ของผู้ใช้ที่ขยายขนาดขึ้นเรื่อยๆ ทำให้ชื่อของ Ceph Storage นั้นยิ่งมีคนพูดถึงมากขึ้น พิสูจน์ได้จากผลสำรวจประจำปีของ OpenStack ที่จัดให้ Ceph Storage เป็นระบบ storage ที่ถูกใช้มากที่สุดเป็นอันดับหนึ่ง แต่สำหรับใครที่ยังไม่เคยได้ยิน หรือพอได้ยินมาบ้างแต่ยังสงสัยว่ามันคืออะไร ในบทความนี้เราจะมาทำความรู้จักกับ Ceph Storage ในเบื้องต้นกันครับ

Read more