S3 Streamable Backup: Sao lưu trực tiếp lên đám mây cho Manticore Search

06 tháng 4, 2026·8 phút đọc

Manticore Search đã cập nhật công cụ manticore-backup để hỗ trợ lưu trữ S3 tương thích với khả năng truyền tải trực tiếp (streaming). Tính năng này cho phép sao lưu dữ liệu lên đám mây mà không cần tệp trung gian, giúp loại bỏ các vấn đề về dung lượng ổ cứng cục bộ và đơn giản hóa quy trình quản lý dữ liệu.

S3 Streamable Backup: Sao lưu trực tiếp lên đám mây cho Manticore Search

Tính năng S3 Streamable Backup: Sao lưu trực tiếp lên đám mây cho Manticore Search

Kể từ khi chúng tôi giới thiệu công cụ sao lưu trong Manticore Search 6, việc bảo vệ dữ liệu của bạn đã trở nên đơn giản hơn đáng kể. Tuy nhiên, chúng tôi vẫn liên tục nhận được cùng một câu hỏi: "Vậy còn lưu trữ đám mây thì sao?" Hôm nay, chúng tôi rất vui mừng thông báo rằng manticore-backup giờ đây đã hỗ trợ lưu trữ tương thích S3 với khả năng tải lên trực tiếp (streaming) — không còn tệp trung gian, không còn đau đầu vì dung lượng ổ cứng cục bộ, chỉ là sao lưu trực tiếp lên đám mây.

Những hạn chế của phương pháp sao lưu truyền thống

Khi bạn chạy Manticore Search trong môi trường sản xuất (production), tập dữ liệu có thể tăng trưởng rất nhanh. Việc sao lưu vào lưu trữ cục bộ có những hạn chế riêng:

  • Hạn chế dung lượng đĩa: Bạn cần dung lượng trống trên cùng một máy bằng kích thước bản sao lưu.
  • Các bước chuyển thủ công: Sao lưu cục bộ, sau đó tải lên lưu trữ đám mây.
  • Tiêu tốn thời gian: Quy trình "sao chép rồi tải lên" làm tăng gấp đôi thời gian sao lưu.
  • Độ phức tạp: Việc viết script để tải lên đáng tin cậy với khả năng tiếp tục (resume), mã hóa và xử lý lỗi.

Sao lưu S3 có thể truyền tải (Streamable): Cách hoạt động

Hỗ trợ lưu trữ S3 mới này truyền tải dữ liệu sao lưu của bạn trực tiếp đến lưu trữ tương thích S3. Dưới đây là những gì diễn ra bên trong:

  1. Không có tệp trung gian: Dữ liệu được truyền trực tiếp từ Manticore thẳng đến S3.
  2. Tự động tải lên nhiều phần: Các tệp lớn được tự động chia nhỏ và tải lên song song.
  3. Mã hóa tích hợp: Mã hóa SSE-S3 được bật mặc định cho AWS S3 (có thể cấu hình cho các nhà cung cấp khác).
  4. Hỗ trợ nén: Nén zstd tùy chọn giúp giảm thời gian chuyển truyền và chi phí lưu trữ.
  5. Khôi phục dựa trên Manifest: Không cần quyền s3:ListBucket cho các hoạt động khôi phục.

Nhà cung cấp lưu trữ được hỗ trợ

Chúng tôi đã thử nghiệm với AWS S3, MinIOCloudflare R2, nhưng bất kỳ lưu trữ nào tương thích S3 cũng có thể hoạt động. Việc triển khai sử dụng AWS SDK tiêu chuẩn cho PHP, nên miễn là nó nói ngôn ngữ API S3, nó sẽ hoạt động.

Cách sử dụng

Sử dụng sao lưu S3 đơn giản như việc thay đổi đường dẫn đích của bạn:

Dòng lệnh (CLI)

# Thiết lập thông tin xác thực của bạn
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=us-east-1

# Sao lưu lên S3
manticore-backup --config=/etc/manticore/manticore.conf --backup-dir=s3://my-bucket/manticore-backups

# Với endpoint tùy chỉnh (MinIO, Wasabi, v.v.)
export AWS_ENDPOINT_URL=https://minio.example.com
manticore-backup --config=/etc/manticore/manticore.conf --backup-dir=s3://my-bucket/backups

Biến môi trường

BiếnMô tả
AWS_ACCESS_KEY_IDKhóa truy cập S3 của bạn
AWS_SECRET_ACCESS_KEYKhóa bí mật S3 của bạn
AWS_REGIONKhu vực S3 (ví dụ: us-east-1)
AWS_ENDPOINT_URLEndpoint tùy chỉnh cho lưu trữ tương thích S3
AWS_S3_ENCRYPTIONĐặt thành 0 để tắt mã hóa SSE-S3 (cho MinIO/custom endpoints)

Xem xét hiệu năng

Hiệu năng sao lưu S3 trực tiếp chủ yếu phụ thuộc vào băng thông mạng của bạn và tốc độ tải lên của nhà cung cấp S3. Khác với sao lưu đĩa cục bộ nơi bạn bị giới hạn bởi I/O đĩa, sao lưu S3 bị giới hạn bởi mạng. Lợi thế chính là loại bỏ chi phí "ghi cục bộ, sau đó tải lên" — dữ liệu truyền trực tiếp từ Manticore đến S3 mà không chạm vào hệ thống tệp cục bộ.

Để có hiệu năng tối ưu:

  • Đảm bảo băng thông tải lên đủ tốt tới endpoint S3 của bạn.
  • Hãy cân nhắc sử dụng tính năng nén (--compress) để giảm lượng dữ liệu truyền tải.
  • Tải lên nhiều phần (multipart) là tự động đối với các tệp trên 5MB, giúp cải thiện độ tin cậy cho các tập dữ liệu lớn.

Khôi phục từ S3

Việc khôi phục cũng diễn ra liền mạch. Công cụ sẽ tải các tệp xuống một thư mục tạm thời trước, sau đó thực hiện khôi phục:

# Liệt kê các bản sao lưu có sẵn
manticore-backup --backup-dir=s3://my-bucket/manticore-backups --list

# Khôi phục một bản sao lưu cụ thể
manticore-backup --config=/etc/manticore/manticore.conf --backup-dir=s3://my-bucket/manticore-backups --restore=backup-20250115120000

Quyền S3 cần thiết

Để sao lưu:

  • s3:PutObject
  • s3:PutObjectAcl (nếu sử dụng ACLs)

Để liệt kê các bản sao lưu:

  • s3:ListBucket

Để khôi phục:

  • s3:GetObject

Lưu ý: Mặc dù liệt kê các bản sao lưu yêu cầu quyền s3:ListBucket, nhưng khôi phục một bản sao lưu cụ thể thì không. Nếu bạn biết tên thư mục sao lưu (ví dụ: backup-20250115120000), bạn có thể khôi phục trực tiếp bằng cách sử dụng --restore chỉ với quyền s3:GetObject. Tệp manifest theo dõi tất cả nội dung sao lưu, do đó không cần liệt kê thư mục.

Các trường hợp sử dụng

Triển khai Cloud-Native

Bạn đang chạy Manticore trong Kubernetes hoặc Docker? Sao lưu S3 phù hợp tự nhiên với các quy trình làm việc cloud-native:

# Ví dụ về Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: manticore-backup
spec:
  schedule: "0 2 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: backup
            image: manticoresearch/manticore:latest
            command:
            - manticore-backup
            - --config=/etc/manticore/manticore.conf
            - --backup-dir=s3://my-backup-bucket/manticore
            env:
            - name: AWS_ACCESS_KEY_ID
              valueFrom:
                secretKeyRef:
                  name: s3-credentials
                  key: access-key
            - name: AWS_SECRET_ACCESS_KEY
              valueFrom:
                secretKeyRef:
                  name: s3-credentials
                  key: secret-key
          restartPolicy: OnFailure

Phục hồi thảm họa (Disaster Recovery)

Lưu trữ các bản sao lưu ở một khu vực khác hoặc thậm chí là một nhà cung cấp đám mây khác:

# Sao lưu chính lên lưu trữ S3 tương thích nội bộ
export AWS_ENDPOINT_URL=https://minio.internal.company.com
manticore-backup --backup-dir=s3://backups-primary/manticore

# Sao lưu phụ lên AWS S3 cho mục đích Disaster Recovery
unset AWS_ENDPOINT_URL
export AWS_REGION=eu-west-1
manticore-backup --backup-dir=s3://company-dr-backups/manticore

Giảm yêu cầu lưu trữ cục bộ

Đối với các tập dữ liệu lớn, lưu trữ sao lưu cục bộ có thể rất tốn kém. Với S3 streaming:

  • Không cần cấp phát dung lượng ổ đĩa lớn cho bản sao lưu.
  • Chỉ trả tiền cho dung lượng S3 bạn sử dụng.
  • Các chính sách vòng đời (lifecycle policies) có thể tự động chuyển các bản sao lưu cũ sang các lớp lưu trữ rẻ hơn.

Chi tiết kỹ thuật

Kiến trúc Streaming

Việc triển khai lưu trữ S3 sử dụng cách tiếp cận trực tiếp:

  1. Streaming từng tệp: Mỗi tệp bảng được đọc và tải lên dưới dạng luồng (stream).
  2. Tự động multipart: Các tệp trên 5MB tự động sử dụng tải lên nhiều phần để đảm bảo độ tin cậy.
  3. Nén tức thì: Nếu được bật, nén zstd diễn ra trong quá trình truyền.
  4. Xác minh checksum: Mỗi tệp đều được kiểm tra checksum để đảm bảo tính toàn vẹn.

Giao diện lưu trữ (Storage Interface)

Hỗ trợ S3 được xây dựng dựa trên StorageInterface mới trừu tượng hóa các hoạt động lưu trữ. Điều này có nghĩa là:

  • Hệ thống tệp cục bộ và S3 chia sẻ cùng một đường dẫn mã (code path).
  • Các backend lưu trữ tương lai (GCS, Azure Blob) có thể được thêm vào dễ dàng.
  • Hành vi nhất quán bất kể loại lưu trữ.

Chuyển đổi từ sao lưu cục bộ

Đã đang sử dụng sao lưu cục bộ? Việc chuyển đổi rất đơn giản:

  1. Thiết lập thông tin xác thực S3 của bạn.
  2. Thay đổi --backup-dir từ /local/path thành s3://bucket/path.
  3. Chỉ thế thôi! Các lệnh giống nhau hoạt động chính xác theo cùng một cách.

Các bản sao lưu cục bộ hiện có của bạn vẫn có thể truy cập được, và bạn có thể dần dần chuyển sang S3 hoặc duy trì cả hai để dự phòng.

Kết luận

Sao lưu S3 có thể truyền tải mang khả năng sao lưu của Manticore Search vào kỷ nguyên đám mây. Cho dù bạn đang hoạt động trong môi trường cloud-native, cần phục hồi thảm họa đa khu vực, hay đơn giản là muốn giảm chi phí lưu trữ cục bộ, streaming trực tiếp lên S3 làm cho việc sao lưu trở nên đơn giản và hiệu quả hơn.

Tính năng này hiện đã có sẵn trong manticore-backup. Hãy xem tài liệu để biết thêm chi tiết và cho chúng tôi biết suy nghĩ của bạn!

Sẵn sàng dùng thử? Cài đặt Manticore Search và bắt đầu sao lưu lên S3 ngay hôm nay. Có thắc mắc hoặc phản hồi? Hãy tham gia cùng chúng tôi trên Slack hoặc GitHub.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗