Blog chia sẻ về công nghệ ...
Published on

Storage Cloud Native CEPH

Authors

CEPH - The Future of Storage

Ceph là một nền tảng lưu trữ phân tán (distributed storage platform) mã nguồn mở, được thiết kế để cung cấp khả năng mở rộng linh hoạt, không điểm lỗi đơn (no single point of failure) và hỗ trợ nhiều kiểu lưu trữ trên cùng một nền tảng.

Thành phần chính của CEPH như sau:

RADOS: Lõi lưu trữ phân tán. Tất cả dữ liệu trong Ceph đều lưu trữ trên RADOS.

OSD (Object Storage Daemon): Đây là dịch vụ chịu trách nhiệm lưu trữ dữ liệu trên các node vật lý. Mỗi ổ đĩa trong cluster sẽ chạy một OSD daemon.

MON (Monitor Daemon): Duy trì trạng thái cluster, quản lý thông tin cấu hình, theo dõi trạng thái của các OSD.

MGR(Ceph Manager): Ceph Manager (MGR) là một daemon bổ sung trong Ceph, chịu trách nhiệm thu thập số liệu thống kê, cung cấp API quản lý, giám sát cluster và hỗ trợ các module mở rộng.

MDS (Metadata Server - Chỉ dùng cho CephFS) : Xử lý metadata của hệ thống file, giúp tăng tốc truy vấn và quản lý cây thư mục.

RGW (RADOS Gateway) : Cung cấp API tương thích với S3/Swift để truy cập object storage.

CSI (Container Storage Interface) : Interface để kết nối giữa cluster vào hệ thống ceph.


📑 Mục Lục

  1. Các loại Storage CEPH
  2. Rook - CloudNative Storage Orchestrator

Các loại Storage CEPH

🧰 Các loại Storage CEPH

Loại StorageCách lưu trữCách truy cậpỨng dụng phổ biến
CephFS (File System)Lưu file dưới dạng object trong RADOS, metadata bởi MDSMount qua kernel hoặc FUSE (giống NFS)- Shared File System cho Kubernetes (RWX),Lưu trữ Home Directory, Big Data, AI/ML, HPC, Lưu trữ tài liệu, dữ liệu logs, hình ảnh
RBD (Block Storage)Lưu block device dưới dạng object trong RADOSGắn như một ổ cứng (iSCSI, Kernel, QEMU)- Lưu trữ ổ đĩa ảo cho VM (KVM, OpenStack, Proxmox),Persistent Volume cho Kubernetes (RWO), Database (MySQL, PostgreSQL, MongoDB)
RGW (Object Storage - S3)Lưu object dưới dạng key-value trong RADOSAPI S3, HTTP, REST- Backup & Disaster Recovery, Lưu trữ Logs, AI/ML, Big Data, Static Website Hosting, Streaming Video & Media Storage

Phân biệt nhanh 3 loại

Loại StorageTương tự nhưGiao thứcDùng vào việc
Ceph Block (RBD)Ổ đĩa blockCSI / librbdVM, Cơ sở dữ liệu, Stateful Apps
Ceph Object (RGW)Amazon S3REST API (S3, Swift)Web, Backup, Logs
Ceph File (CephFS)File systemPOSIXHPC, Shared Storage

So sánh loại Storage CEPH

Loại StorageFile system trên OSDHiệu suấtƯu điểmNhược điểmKhi nào nên dùng?
CephFS (File System)XFS, Ext4Trung bình (phụ thuộc vào MDS)- Hỗ trợ POSIX, Cho phép nhiều client truy cập cùng lúc, Tự phục hồi dữ liệu- Hiệu suất phụ thuộc vào MDS, Không tối ưu cho file nhỏKhi cần một hệ thống file chia sẻ giữa nhiều máy chủ.
RBD (Block Storage)XFS, Ext4Cao (nếu dùng SSD/NVMe)- Hiệu suất cao, phù hợp database, Tích hợp tốt với OpenStack/Kubernetes,Tự phục hồi dữ liệu- Không chia sẻ giữa nhiều máy chủ cùng lúc (RWO)Khi cần block storage cho VM, Kubernetes, Database.
RGW (Object Storage - S3)XFS, Ext4Tốt cho object lớn- Mở rộng vô hạn, Hỗ trợ S3 API, Chi phí thấp hơn so với CephFS/RBD- Không thể chỉnh sửa object, Không hỗ trợ POSIXKhi cần lưu trữ dữ liệu lớn, backup, CDN, streaming.

Lựa chọn loại Storage Ceph phù hợp theo nhu cầu

Cần lưu trữ...Nên chọn...Giải thích thêm
File theo chuẩn POSIX, dùng chung giữa nhiều server✅ CephFSCephFS cung cấp hệ thống file chia sẻ tuân thủ POSIX, cho phép nhiều máy chủ mount và truy cập đồng thời.
Ổ cứng ảo cho VM, database, Kubernetes Persistent Volume✅ RBD (Block Storage)RBD cung cấp các block device hiệu suất cao, phù hợp làm ổ đĩa ảo cho máy ảo, persistent volume cho Kubernetes và backend cho database.
Dữ liệu kiểu Amazon S3 (Backup, Logs, Streaming, AI/ML)✅ RGW (Object Storage)RGW cung cấp giao diện tương thích S3, lý tưởng cho lưu trữ dữ liệu phi cấu trúc, backup, logs, streaming và dữ liệu cho AI/ML.
Hiệu suất cao cho database, cần tốc độ đọc/ghi nhanh✅ RBD với SSD/NVMeSử dụng RBD kết hợp với lớp lưu trữ SSD hoặc NVMe trên các OSD sẽ mang lại hiệu suất đọc/ghi cao, đáp ứng yêu cầu của database.
Lưu trữ ảnh, video, logs với khả năng mở rộng vô hạn✅ RGWRGW có khả năng mở rộng gần như vô hạn, phù hợp cho việc lưu trữ lượng lớn dữ liệu như ảnh, video và logs.
Hệ thống file lớn, cần chia sẻ nhiều user✅ CephFS với nhiều MDSĐể xử lý lượng lớn metadata và tăng khả năng đồng thời của nhiều user, việc triển khai CephFS với nhiều máy chủ MDS (Metadata Server) là cần thiết.

🧰 Rook - CloudNative Storage Orchestrator

🏗️ Rook Ceph Operator vs. Rook Ceph Cluster: Khác biệt & Cách Hoạt Động
Trong hệ thống Rook Ceph, có hai thành phần quan trọng khi triển khai bằng Helm Chart:

Thành phầnVai trò
Rook Ceph OperatorTriển khai Ceph Operator để giám sát và quản lý cluster
Rook Ceph ClusterTạo các Custom Resources (CRs) để Ceph Operator cấu hình cluster

Architecture ROOK quản lý CEPH trên Kubernetes

Ceph ROOK High-Level Architecture