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

So sánh CephFS vs CubeFS cho môi trường Cloud-native / Kubernetes

Authors
  • Name
    Occupation

So sánh CephFS và CubeFS cho môi trường Cloud-native / Kubernetes

📑 Mục Lục

  1. Tổng quan
  2. Kiến trúc hệ thống
  3. Hiệu năng
  4. Tính năng hỗ trợ
  5. Use Cases phù hợp
  6. Kết luận

so-sanh-ceph-va-cubefsVSso-sanh-ceph-va-cubefs

🔍 Tổng quan

CephFSCubeFS là hai hệ thống file phân tán hỗ trợ chuẩn POSIX, dùng để lưu trữ dữ liệu theo cách mà nhiều máy chủ có thể cùng truy cập và xử lý. Tuy giống nhau ở mục tiêu "phân tán và mở rộng", nhưng cách mà hai hệ thống này tiếp cận và giải quyết bài toán lưu trữ lại rất khác nhau.

Tiêu chíCephFSCubeFS
Nguồn gốcPhát triển từ dự án Ceph, do Red Hat và cộng đồng duy trìĐược phát triển bởi JD.com và Oppo, sau đó open-source
Mục tiêu chínhLưu trữ tổng quát, dùng trong nhiều loại hệ thốngTối ưu cho workload hiện đại: cloud-native, AI/ML, CI/CD
Tích hợp KubernetesCSI plugin chính thức: ceph-csiCSI plugin riêng: cubefs-csi, nhẹ, dễ tích hợp
Loại hệ thốngHệ thống file phân tán theo chuẩn POSIX (truyền thống)Hệ thống file phân tán hiện đại cho cloud-native
Khả năng mở rộngRất mạnh (scale-out), nhưng phức tạp do nhiều thành phầnDễ mở rộng hơn, phù hợp với mô hình microservices

🔹 CephFS – Lựa chọn lâu đời, ổn định

  • CephFS là một phần của hệ thống Ceph – một giải pháp lưu trữ nổi tiếng, được dùng rộng rãi trong các trung tâm dữ liệu.
  • CephFS sử dụng một hệ thống backend mạnh tên là RADOS, nơi dữ liệu được lưu dưới dạng đối tượng (object).
  • Hệ thống hỗ trợ chuẩn POSIX đầy đủ, nghĩa là bạn có thể dùng như một ổ đĩa bình thường: tạo thư mục, copy file, phân quyền.
  • Rất phù hợp cho các hệ thống yêu cầu độ ổn định cao như: HPC, lưu trữ tập trung, file server truyền thống.
  • Tuy nhiên, việc triển khai CephFS khá phức tạp, vì bạn cần dựng nhiều thành phần: MON (monitor), OSD (object storage daemon), MDS (metadata server), RGW nếu dùng object storage v.v.

👉 Thích hợp cho các hệ thống truyền thống, cần độ tin cậy, bảo trì lâu dài.

🔹 CubeFS – Sinh ra cho Cloud-native

  • CubeFS được thiết kế hiện đại, nhắm thẳng đến nhu cầu lưu trữ trong môi trường container, cloud-native và AI.
  • Nó tách riêng metadata và dữ liệu (chunk), giúp tối ưu hiệu năng và giảm độ trễ.
  • Hỗ trợ đa dạng backend: bạn có thể dùng local disk, tích hợp S3, thậm chí HDFS.
  • Có thể tích hợp tốt với các hệ thống CI/CD, Big Data, AI/ML pipelines – những nơi cần lưu trữ nhanh, linh hoạt, clone volume tức thì.
  • Cách cài đặt và mở rộng nhẹ nhàng hơn Ceph rất nhiều: chỉ cần các thành phần như MetadataNode, ChunkServer, và Scheduler.

👉 Rất phù hợp với các môi trường Kubernetes, AI, Big Data, nơi việc tạo volume nhanh, latency thấp là cực kỳ quan trọng.


🧱 Kiến trúc hệ thống

Kiến trúc của CephFS và CubeFS đều hướng đến mục tiêu lưu trữ phân tán, nhưng cách tổ chức thành phần bên trong lại rất khác nhau. CephFS tuân theo mô hình truyền thống của một cụm lưu trữ lớn, trong khi CubeFS thiết kế nhẹ hơn, ưu tiên cho môi trường cloud-native, nơi mọi thứ phải đơn giản và mở rộng nhanh chóng.

🧩 CephFS – Kiến trúc truyền thống, vững chắc

CephFS là một phần trong hệ sinh thái của Ceph – một trong những nền tảng lưu trữ phân tán nổi tiếng nhất hiện nay. Dưới đây là các thành phần chính trong kiến trúc CephFS:

  • RADOS (Reliable Autonomic Distributed Object Store):
    Đây là lớp lưu trữ nền tảng. Dữ liệu trong Ceph được chia nhỏ thành các đối tượng và lưu trữ trong các OSD (Object Storage Daemon).

  • OSD (Object Storage Daemon):
    Mỗi OSD là một tiến trình quản lý ổ đĩa vật lý. Ceph có thể vận hành hàng trăm hoặc hàng nghìn OSD để phân phối dữ liệu và nhân bản.

  • MON (Monitor):
    Monitor theo dõi trạng thái của cluster và cung cấp consensus thông qua thuật toán Paxos để duy trì tính nhất quán toàn cụm.

  • MDS (Metadata Server):
    Quản lý thông tin metadata của filesystem (tên file, cấu trúc thư mục, quyền truy cập…). Có thể mở rộng nhiều MDS để phục vụ song song và cải thiện hiệu năng metadata-heavy workloads.

  • Client (CephFS Mount):
    Hệ thống client (Linux, Kubernetes, v.v.) kết nối với CephFS thông qua FUSE hoặc kernel module.

📌 CephFS rất mạnh khi hệ thống đủ lớn, nhưng triển khai cũng phức tạp hơn vì nhiều thành phần phải phối hợp nhịp nhàng.

🌐 CubeFS – Kiến trúc nhẹ, hiện đại

CubeFS được sinh ra để phục vụ các workload hiện đại: microservices, CI/CD pipelines, AI/ML jobs – những thứ đòi hỏi tốc độ, độ linh hoạt và khả năng mở rộng theo chiều ngang.

Các thành phần chính của CubeFS gồm:

  • MetadataNode (MDS):
    Quản lý metadata (cấu trúc thư mục, thông tin file). Hỗ trợ nhiều namespace, phù hợp với mô hình multi-tenant.

  • Chunkserver:
    Thành phần lưu trữ thực tế – dữ liệu được chia thành các block gọi là chunk, và phân phối ra nhiều node khác nhau. Mỗi chunk có thể được replicate hoặc erasure-coded.

  • ObjectNode (tùy chọn):
    Dùng để expose dữ liệu dưới dạng S3-compatible API, cho phép ứng dụng object-based (như MinIO, backup tools…) truy cập trực tiếp.

  • Scheduler:
    Thành phần điều phối – quản lý vị trí lưu dữ liệu, phân vùng chunk, cân bằng tải giữa các node.

  • Backend Storage:
    Có thể linh hoạt: dùng local disk, HDFS, Amazon S3, hoặc bất kỳ backend nào hỗ trợ object storage.

📌 Ưu điểm lớn nhất: CubeFS tách riêng metadata và data, điều này giúp dễ scale theo nhu cầu, giảm độ trễ khi thao tác metadata, và phù hợp môi trường container hóa.

So sánh nhanh

Yếu tốCephFSCubeFS
Cấu trúc metadataMDS riêng, cần scale cẩn thậnMetadataNode độc lập, scale tự do
Lưu trữ dữ liệuOSD (trên nền RADOS)Chunkserver, lưu dưới dạng chunk
Hỗ trợ object storageQua thành phần RGW (tách biệt)Native S3 API thông qua ObjectNode
Số lượng thành phần triển khaiNhiều (MON, MDS, OSD, RGW...)Ít hơn, dễ vận hành
Phù hợp cho workload nào?Hệ thống lớn, ổn định, yêu cầu cao về HACloud-native app, AI/ML, CI/CD, SaaS platform

🚀 Hiệu năng

Hiệu năng là yếu tố cực kỳ quan trọng khi lựa chọn hệ thống lưu trữ phân tán, đặc biệt nếu bạn đang chạy các ứng dụng yêu cầu tốc độ cao như: AI/ML training, big data processing, hay CI/CD pipelines. Dưới đây là phần phân tích chi tiết về hiệu năng giữa CephFSCubeFS dựa trên các khía cạnh thực tế.


📊 So sánh tổng quan

Yếu tố đánh giáCephFSCubeFS
Metadata operationsTốt, nhưng cần tối ưu hóa MDSRất nhanh, tối ưu cho workload thao tác metadata nhiều
Latency (độ trễ)Ổn, nhưng không thấp với workload nhỏThấp đáng kể, đặc biệt trong microservices
IOPSCao nếu hệ thống OSD được tối ưuRất cao, phù hợp ứng dụng cần đọc/ghi nhỏ, nhanh
ThroughputCực cao nếu dùng nhiều OSD + SSDCạnh tranh, rất tốt với AI/ML và dữ liệu khối lớn
RecoveryCơ chế mạnh, nhưng khôi phục lâu và tốn tài nguyênKhôi phục nhanh hơn, phù hợp hệ thống không trạng thái

📌 Phân tích chi tiết từng yếu tố

⚙️ Metadata operations (xử lý metadata)
  • CephFS dùng một hoặc nhiều MDS để xử lý metadata (tên file, quyền, cấu trúc thư mục…).
    Khi workload có nhiều thao tác như ls, mkdir, stat, hiệu năng phụ thuộc rất nhiều vào việc tuning số lượng và hiệu năng của MDS.

  • CubeFS thiết kế metadata node tách biệt, hỗ trợ scale-out dễ dàng. Việc xử lý metadata rất nhanh và nhẹ, phù hợp với các ứng dụng thao tác file liên tục như: CI/CD, logging, AI training.

Latency (độ trễ truy cập)
  • CephFS có độ trễ khá thấp trong môi trường được tối ưu, nhưng trong các workload nhỏ (như request ngắn, đọc ghi ngẫu nhiên), độ trễ có thể tăng do nhiều tầng: client → MDS → OSD → disk.

  • CubeFS tối ưu hóa cực mạnh cho low-latency: tách metadata, sử dụng chunkserver đơn giản và nhẹ, giúp thời gian phản hồi nhanh hơn rất nhiều trong môi trường container.

IOPS (tốc độ đọc ghi ngẫu nhiên)
  • CephFS có thể đạt IOPS cao nếu sử dụng SSD, nhiều OSD, và tuning Ceph chuẩn. Tuy nhiên, yêu cầu phần cứng và cấu hình khá cao.

  • CubeFS đạt IOPS cao hơn dễ dàng hơn vì cấu trúc gọn, chunk nhỏ, không có tầng phức tạp như Ceph → phù hợp khi bạn cần ghi log, serve nhiều user song song, đọc file nhỏ nhanh.

Throughput (băng thông)
  • CephFS được đánh giá rất cao về throughput, đặc biệt khi chạy trên SSD hoặc NVMe – lý tưởng cho lưu trữ dữ liệu lớn, truyền tải file lớn (video, ML dataset...).

  • CubeFS cũng đạt throughput rất tốt, nhất là trong môi trường AI/ML, vì khả năng load nhanh model, dataset song song qua nhiều chunkserver.

Recovery & Resilience (khôi phục, độ bền)
  • CephFS có hệ thống khôi phục rất mạnh (rebalancing, replication, erasure coding), nhưng khi một node chết hoặc disk lỗi, quá trình phục hồi có thể tốn thời gian và I/O.

  • CubeFS được thiết kế để khôi phục nhanh – nhất là trong môi trường containerized, nơi node có thể restart thường xuyên. Chunkserver lightweight giúp quá trình recovery nhanh và gọn hơn.


🔐 Tính năng hỗ trợ

Tính năngCephFSCubeFS
POSIX-compliance
Multi-tenancy✅ (khó cấu hình)✅ (dễ cấu hình)
Snapshot / Clone✅ (clone rất nhanh)
QoS / Throttling⚠️ (hạn chế)✅ (hỗ trợ native)
S3/Object API✅ (qua RGW)✅ (native support)
Integration với HDFS, S3
CSI supportRất mạnhTốt
Monitoring & MetricsTốt qua ceph-mgrTốt qua Prometheus

👉 CubeFS có lợi thế về tính linh hoạt, còn CephFS có hệ sinh thái lớn và proven track record.


🎯 Use Cases phù hợp

WorkloadCephFSCubeFS
High Performance Computing (HPC)
Machine Learning / AI⚠️ (cần tuning)
CI/CD Pipelines⚠️
Big Data / Data Lake⚠️
General File Storage
Stateless microservices

📌 Nếu bạn đang chạy workload AI, DL, pipeline dạng batch hoặc dịch vụ container-based → CubeFS là lựa chọn cực tốt.


✅ Kết luận

Nếu bạn cần...Nên chọn...
Hệ thống đã mature, proven, tương thích tốt với các workload truyền thốngso-sanh-ceph-va-cubefs
Lưu trữ hiệu năng cao cho môi trường cloud-native, AI/MLso-sanh-ceph-va-cubefs
Tích hợp chặt chẽ với S3, HDFS, khởi tạo nhanh, clone volumeso-sanh-ceph-va-cubefs
Tập trung vào ổn định, khả năng mở rộng tuyến tính, bảo trì lâu dàiso-sanh-ceph-va-cubefs
Tối ưu metadata-heavy hoặc low-latency workloadsso-sanh-ceph-va-cubefs