Khi triển khai Ceph Cluster, một trong những ưu điểm lớn nhất chính là khả năng cung cấp nhiều loại hình lưu trữ khác nhau: block storage, file storage và object storage. Điều này giúp Ceph có thể đáp ứng đa dạng nhu cầu – từ chạy VM, container, ứng dụng web cho đến backup hoặc lưu trữ dữ liệu Big Data.
Trong bài này, chúng ta sẽ đi chi tiết về từng loại interface của Ceph, cách hoạt động, ưu – nhược điểm và các trường hợp sử dụng điển hình.
Ceph Block Storage (RBD)
RADOS Block Device (RBD) là cơ chế cung cấp block storage trong Ceph. Nó cho phép bạn tạo ra các volume block có thể gắn vào VM, container hoặc máy chủ vật lý, giống như ổ cứng thật.
-
Cách hoạt động:
-
Dữ liệu được chia nhỏ thành object lưu trong RADOS.
-
Các object này được phân phối trên nhiều OSD theo thuật toán CRUSH.
-
Nhờ đó, block device có tính năng replication hoặc erasure coding để đảm bảo an toàn dữ liệu.
-
-
Tính năng nổi bật:
-
Thin provisioning: chỉ dùng dung lượng khi có dữ liệu thật sự.
-
Snapshot & clone: snapshot VM nhanh, clone cho dev/test.
-
Integration: dùng được với OpenStack Cinder, Proxmox VE, Kubernetes (qua CSI driver).
-
Striping: tăng hiệu năng bằng cách phân tán block trên nhiều OSD.
-
-
Trường hợp sử dụng:
-
Storage backend cho VM (KVM, QEMU, Proxmox).
-
Lưu trữ container (Kubernetes PVC).
-
Database yêu cầu block-level storage.
-
Ceph File System (CephFS)
CephFS là hệ thống file phân tán POSIX-compliant, hoạt động trên nền RADOS. Nó cho phép người dùng mount Ceph như một filesystem thông thường và chia sẻ cho nhiều client.
-
Cách hoạt động:
-
CephFS sử dụng MDS (Metadata Server) để quản lý metadata (file name, permission, directory structure).
-
Dữ liệu file thực tế vẫn lưu trong RADOS qua OSD.
-
Hỗ trợ nhiều MDS để tăng hiệu năng và HA.
-
-
Tính năng nổi bật:
-
POSIX compliance: hỗ trợ đầy đủ API file system như ext4, XFS.
-
Scalability: scale-out về dung lượng và hiệu năng.
-
Multiple MDS: phân tải metadata, tối ưu cho workload nhiều file nhỏ.
-
Snapshot & quota: kiểm soát dung lượng theo thư mục/user.
-
-
Trường hợp sử dụng:
-
Chia sẻ file system cho nhiều server (cluster computing).
-
Dùng làm backend cho container platform (ví dụ Kubernetes shared volume).
-
Lưu trữ dữ liệu Big Data cần POSIX.
-
Ceph Object Storage (RGW)
RADOS Gateway (RGW) là dịch vụ object storage trong Ceph, cung cấp API tương thích với Amazon S3 và OpenStack Swift. Đây là giải pháp thay thế cho MinIO hoặc AWS S3 trong môi trường private cloud.
-
Cách hoạt động:
-
RGW là một daemon kết nối với RADOS, ánh xạ object tới RADOS pool.
-
Hỗ trợ multisite replication để đồng bộ object storage giữa nhiều datacenter.
-
Có thể mở rộng ngang (scale-out) bằng cách chạy nhiều RGW instance.
-
-
Tính năng nổi bật:
-
S3/Swift API: dễ dàng tích hợp với ứng dụng đã hỗ trợ AWS S3.
-
Multi-site replication: DR, geo-replication.
-
Bucket versioning: lưu nhiều phiên bản của object.
-
User/tenant management: hỗ trợ multi-tenant.
-
Integration: backup Kubernetes (Velero), lưu trữ log, static content.
-
-
Trường hợp sử dụng:
-
Private S3 storage thay AWS S3, tiết kiệm chi phí.
-
Lưu trữ object: ảnh, video, tài liệu.
-
Backend cho ứng dụng web, CDN, log storage.
-
Giải pháp backup & archive.
-
So sánh Ceph RBD – CephFS – RGW
Đặc điểm | Ceph RBD (Block) | CephFS (File) | RGW (Object) |
---|---|---|---|
Kiểu lưu trữ | Block device | POSIX FS | Object (S3/Swift) |
Phù hợp cho | VM, DB, container | File sharing, HPC | Web, backup, archive |
Tính năng chính | Snapshot, clone, striping | POSIX, quota, snapshot | S3 API, multisite, versioning |
Integration | Proxmox, OpenStack, K8s | HPC, shared storage | Apps, CDN, backup tools |
Độ phức tạp | Trung bình | Cao (cần MDS) | Trung bình |
Kết luận
Ceph mang đến khả năng lưu trữ linh hoạt với 3 interface chính: RBD, CephFS và RGW.
-
Nếu bạn cần VM hoặc block-level storage → chọn RBD.
-
Nếu bạn cần file system chia sẻ POSIX → chọn CephFS.
-
Nếu bạn cần object storage S3/Swift → chọn RGW.
Việc hiểu rõ từng loại storage interface giúp bạn triển khai Ceph đúng theo nhu cầu, tận dụng tối đa sức mạnh của hệ thống phân tán này.