Ceph Storage Interface – Block, File, Object trong Ceph

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.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *