distributed storage


การลบ/แทนที่ OSD ใน Rook Ceph

กรณีที่อุปกรณ์ (HDD, SSD, ฯลฯ) ล้มเหลว จะต้องลบ OSD ของอุปกรณ์ที่มีปัญหาออก อาการหนึ่งของอุปกรณ์ล้มเหลวที่สังเกตได้คือ pod ของ OSD ที่จัดการอุปกรณ์นั้น มี STATUS เป็น CrashLoopBackoff เมื่อใช้คำสั่ง kubectl -n rook-ceph get pod -l app=rook-ceph-osd โดยบทความนี้จะอธิบายถึงขั้นตอนในการลบ OSD ออกจากคลัสเตอร์ ข้อควรระวัง นำอุปกรณ์ที่มีปัญหาออกจาก CephCluster (หากตั้ง useAllDevices: true ใน CephCluster ไว้ ให้ข้ามขั้นตอนนี้) แก้ไข CephCluster โดยนำรายการอุปกรณ์ที่มีปัญหาออก ด้วยคำสั่ง บทความนี้จะยกตั […]


การติดตั้ง Rook Ceph บน Kubernetes Cluster

สำหรับระบบงานที่เป็นระบบแบบกระจาย (distributed system) หรือเป็นระบบที่มีคุณสมบัติเกี่ยวกับการทำสำเนาข้อมูล (replication) อยู่แล้ว เราอาจจะจัดเก็บข้อมูลโดยใช้คุณสมบัติ Local Persistent Volumes ของ Kubernetes หรือใช้ Local Path Provisioner เพื่อจัดเก็บข้อมูลของแต่ละ Pod ไว้ให้กระจายไปตามโนดของคลัสเตอร์ได้ แต่สำหรับระบบงานทั่วไปที่ไม่มีกลไกเหล่านี้ การจัดเก็บข้อมูลไว้บนโนดใดโนดหนึ่งมีความเสี่ยงที่ข้อมูลจะสูญหายเมื่อโนดที่ใช้เก็บข้อมูลนั้น ๆ ล้มเหลว ส่งผลให้ระบบงานหยุดชะงัก เราจึงจำเป […]


การจัดเก็บข้อมูลแบบถาวรบน Kubernetes Cluster ในองค์กร

Kubernetes รุ่นแรก ๆ เป็นแพลตฟอร์มการจัดการคอนเทนเนอร์ที่ออกแบบมาเพื่อรองรับแอปพลิเคชันที่ไม่มีสถานะ (stateless applications) ซึ่งไม่จำเป็นต้องจัดเก็บข้อมูลถาวร แต่ในทางปฏิบัติ มีแอปพลิเคชันจำนวนมากที่ต้องจัดเก็บข้อมูลถาวร เช่น ฐานข้อมูล เซิร์ฟเวอร์จัดเก็บไฟล์ ฯลฯ โดยผู้พัฒนา Kubernetes ก็เล็งเห็นถึงปัญหานี้ จึงได้เพิ่มคุณสมบัติสำหรับจัดการข้อมูลแบบถาวร เช่น Persistent Volumes (PVs), Persistent Volume Claims (PVCs), StatefulSet, ฯลฯ เข้ามาเพื่อให้การจัดการเกี่ยวกับการจัดเก็บข้อมูลแบบถาวรบน Kuber […]