Ceph là gì? Kiến trúc Ceph và Ứng dụng

1. Giới thiệu Ceph

Trong kỷ nguyên dữ liệu lớn (Big Data)điện toán đám mây (Cloud Computing), nhu cầu về hệ thống lưu trữ linh hoạt, mở rộng ngang (scale-out), tin cậy và chi phí hợp lý ngày càng tăng.
Ceph chính là một trong những nền tảng lưu trữ phân tán mã nguồn mở mạnh mẽ nhất, được các tập đoàn và nhà cung cấp dịch vụ cloud hàng đầu sử dụng.

Ceph là một hệ thống lưu trữ phân tán (distributed storage system) mã nguồn mở, cung cấp 3 loại dịch vụ lưu trữ trong cùng một nền tảng:

  • Object Storage (S3/Swift API) – tương thích AWS S3, thay thế MinIO.

  • Block Storage (RBD) – dùng cho máy ảo, container.

  • File System (CephFS) – hệ thống file POSIX.

2. Ceph giải quyết vấn đề gì?

  • Khả năng mở rộng (Scalability): thêm node → tăng dung lượng & hiệu năng, không giới hạn.

  • Độ tin cậy cao (High Availability): cơ chế replication và erasure coding giúp dữ liệu an toàn.

  • Không có single-point-of-failure: nếu một node hoặc ổ cứng hỏng → hệ thống tự phục hồi.

  • Chi phí tối ưu: tận dụng phần cứng phổ thông (commodity hardware).

  • Hỗ trợ đa dạng use-case: cloud storage, database backend, AI training dataset, VM storage.

3. Kiến trúc Ceph – Các thành phần chính

MON (Monitor)
  • Giữ cluster map, trạng thái OSD, quorum.

  • Yêu cầu số lẻ MON (3 hoặc 5 node) để tránh split-brain.

MGR (Manager)
  • Quản lý cluster, thu thập số liệu, API cho Ceph Dashboard.

  • Module tích hợp: Prometheus, orchestrator (cephadm, rook).

OSD (Object Storage Daemon)
  • Thành phần cốt lõi lưu trữ dữ liệu.

  • Mỗi ổ đĩa vật lý thường chạy 1 OSD.

  • Chịu trách nhiệm: replication, recovery, rebalancing, scrub.

MDS (Metadata Server)
  • Chỉ dùng cho CephFS.

  • Quản lý metadata: tên file, permission, thư mục.

RGW (RADOS Gateway)
  • Cung cấp Object Storage API tương thích S3/Swift.

  • Dùng để thay thế MinIO hoặc triển khai private cloud storage.

4. Cơ chế lưu trữ trong Ceph

CRUSH Algorithm
  • Thuật toán CRUSH (Controlled Replication Under Scalable Hashing) giúp Ceph phân phối dữ liệu đến OSD một cách deterministic.

  • Ưu điểm: không cần lookup table, scale-out dễ dàng.

Pool & Placement Groups (PG)
  • Pool: vùng lưu trữ logic.

  • PG (Placement Group): chia nhỏ pool để phân phối dữ liệu đồng đều.

  • Dữ liệu → PG → OSD.

Replication vs Erasure Coding (EC)
  • Replication: copy dữ liệu sang nhiều OSD (2x, 3x).

  • Erasure Coding (EC): chia nhỏ dữ liệu + parity, tiết kiệm dung lượng hơn.

5. Các mô hình lưu trữ Ceph

  • Ceph Block (RBD):

    • Dùng cho VM (KVM, Proxmox, OpenStack).

    • Hỗ trợ snapshot, clone.

  • CephFS:

    • Hệ thống file POSIX-compliant.

    • Thích hợp cho container (Kubernetes, AI training).

  • Ceph RGW (Object Storage):

    • API S3/Swift.

    • Multi-site replication.

    • Thay thế AWS S3 trong on-premise cloud.

6. Ưu điểm và hạn chế của Ceph

Ưu điểm
  • Mở rộng ngang dễ dàng (scale-out).

  • Không phụ thuộc vào phần cứng độc quyền.

  • Tích hợp nhiều nền tảng: OpenStack, Kubernetes (Rook), Proxmox.

  • Bảo mật bằng CephX.

Hạn chế
  • Khó triển khai và quản trị so với MinIO/GlusterFS.

  • Yêu cầu hạ tầng mạng và phần cứng ổn định.

  • Cần nhiều kinh nghiệm tuning.

7. Ứng dụng thực tế của Ceph

  • Private Cloud Storage: thay thế AWS S3, dùng RGW.

  • VM Storage: backend cho Proxmox, OpenStack, VMware.

  • AI/ML Training: lưu dataset lớn cho TensorFlow, PyTorch.

  • Enterprise Backup: lưu trữ backup dài hạn (Velero, Restic).

  • Big Data: backend cho Hadoop, Spark.

8. Kết luận

Ceph là một giải pháp lưu trữ phân tán mạnh mẽ, linh hoạt và tin cậy, được các doanh nghiệp lớn như Red Hat, SUSE, Intel, CERN tin dùng.
Với khả năng kết hợp object, block, file trong cùng một nền tảng, Ceph giúp doanh nghiệp triển khai hệ thống lưu trữ mở rộng không giới hạn, chi phí thấp và không bị khóa chặt bởi vendor.

Ở các bài tiếp theo, mình sẽ đi sâu vào từng thành phần: MON, OSD, CRUSH, RGW, Replication, Erasure Coding để bạn hiểu chi tiết cách vận hành.

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.

Một bình luận cho “Ceph là gì? Kiến trúc Ceph và Ứng dụng”

Để 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 *