Longhorn Simplifies Distributed Block Storage in Kubernetes
Longhorn là hệ thống lưu trữ khối phân tán “Distributed Block Storage System” nhẹ, đáng tin cậy và dễ sử dụng dành cho Kubernetes.
Longhorn là phần mềm mã nguồn mở miễn phí. Ban đầu được phát triển bởi Rancher Labs, hiện nó đang được phát triển như một dự án ươm tạo của Tổ chức Điện toán Đám mây (Cloud Native Computing Foundation).
Với Longhorn, bạn có thể:
-
Sử dụng Longhorn volumes làm bộ lưu trữ liên tục “persistent storage” cho các ứng dụng có trạng thái phân tán trong cụm Kubernetes cluster của bạn
-
Phân vùng Block storage của bạn thành các Longhorn volumes để bạn có thể sử dụng các Kubernetes volumes có hoặc không có nhà cung cấp đám mây
-
Thực hiện sao lưu Replicate block storage trên nhiều nút “node” và trung tâm dữ liệu để tăng tính khả dụng
-
Lưu trữ dữ liệu sao lưu trong bộ nhớ ngoài như NFS hoặc AWS S3
-
Tạo ổ đĩa khôi phục sau thảm họa Cross-cluster disaster recovery volumes trên nhiều cụm “cluster” để dữ liệu từ cụm Kubernetes chính “Primary Kubernetes cluster”có thể được khôi phục nhanh chóng từ bản sao lưu trong cụm Kubernetes thứ thứ hai “Second Kubernetes cluster”
-
Lên lịch chụp ảnh nhanh định kỳ của một ổ đĩa và lên lịch sao lưu định kỳ vào bộ lưu trữ thứ cấp tương thích với NFS hoặc S3
-
Khôi phục các ổ đĩa volumes từ bản sao lưu “backup”
-
Nâng cấp Longhorn mà không làm gián đoạn các ổ đĩa lưu trữ liên tục “persistent volumes”
-
Longhorn đi kèm với giao diện người dùng độc lập và có thể được cài đặt bằng danh mục ứng dụng Helm, kubectl hoặc Rancher.
![](https://lh7-us.googleusercontent.com/7TTKO4YdMRMpi1YEsGZr3OwrKoVusZkFQOjuVmfe2OXtxB5B1UJbIZaPioA1AlEvCpsTqaHyfQiuKicaeLYr5Uq0DByhlCWk8WKBxNAU7tV2TtNm58Qz0pooF-MDxT4yd_sKqiMhn3liifcay5zRubE)
Figure 1. Read/write Data Flow between the Volume, Longhorn Engine, Replica Instances, and Disks
Đơn giản hóa việc lưu trữ khối phân tán với microservice
Do môi trường đám mây hiện đại yêu cầu hàng chục nghìn đến hàng triệu ổ đĩa lưu trữ khối phân tán “distributed block storage volumes” nên một số bộ điều khiển lưu trữ đã trở thành hệ thống phân tán rất phức tạp. Ngược lại, Longhorn có thể đơn giản hóa hệ thống lưu trữ bằng cách phân vùng bộ điều khiển lưu trữ khối lớn thành một số bộ điều khiển lưu trữ nhỏ hơn, miễn là các ổ đĩa đó vẫn có thể được tạo từ một nhóm đĩa chung. Bằng cách sử dụng một bộ điều khiển lưu trữ cho mỗi ổ, Longhorn biến mỗi ổ đĩa “volumes” thành một vi dịch vụ “microservice”. Bộ điều khiển “Controller” được gọi là Longhorn Engine.
Thành phần Longhorn Manager điều phối các Công cụ Longhorn để chúng hoạt động cùng nhau một cách mạch lạc.
Sử dụng Persistent Storage trong Kubernetes mà không cần dựa vào nhà cung cấp đám mây
Pod có thể tham chiếu trực tiếp đến bộ lưu trữ, nhưng điều này không được khuyến khích vì nó không cho phép Pod hoặc vùng chứa “Container” có thể di chuyển được. Thay vào đó, các yêu cầu lưu trữ của workload phải được xác định trong Kubernetes Persistent Volumes (PV) và Persistent Volume Claims (PVC). Với Longhorn, bạn có thể chỉ định kích thước của ổ đĩa, số lượng bản sao đồng bộ “synchronous replicas” và các cấu hình cụ thể khác cho ổ đĩa mà bạn muốn trên các máy chủ cung cấp tài nguyên lưu trữ cho ổ đĩa. Sau đó, tài nguyên Kubernetes của bạn có thể sử dụng PVC và PV tương ứng cho từng ổ Longhorn volume hoặc sử dụng lớp lưu trữ Longhorn “Longhorn storage class” để tự động tạo PV cho workload.
Các bản sao là các thin-provisioning trên các đĩa cơ bản hoặc bộ lưu trữ mạng.
Lên lịch nhiều bản sao trên nhiều máy chủ lưu trữ hoặc điện toán
Để tăng tính khả dụng, Longhorn tạo bản sao của từng tập. Các bản sao chứa một chuỗi các ảnh chụp nhanh của ổ đĩa, trong đó mỗi ảnh chụp nhanh lưu trữ thay đổi từ ảnh chụp nhanh trước đó. Mỗi bản sao của một tập cũng chạy trong một vùng chứa, do đó, một tập có ba bản sao sẽ tạo ra bốn vùng chứa.
Số lượng bản sao cho mỗi tập có thể được cấu hình trong Longhorn, cũng như các nút nơi các bản sao sẽ được lên lịch. Longhorn theo dõi tình trạng của từng bản sao và thực hiện sửa chữa, xây dựng lại bản sao khi cần thiết.
Chỉ định nhiều giao diện lưu trữ cho mỗi ổ đĩa volume
Các giao diện người dùng phổ biến bao gồm thiết bị Linux kernel device (được ánh xạ trong /dev/longhorn) và mục tiêu iSCSI target.
Chỉ định lịch trình cho các hoạt động sao lưu và chụp nhanh định kỳ
Chỉ định tần suất của các hoạt động này (hàng giờ, hàng ngày, hàng tuần, hàng tháng và hàng năm), thời gian chính xác mà các hoạt động này được thực hiện (ví dụ: 3:00 sáng Chủ nhật hàng tuần) và số lượng ảnh chụp nhanh định kỳ và bộ sao lưu được lưu giữ.
|