
Câu hỏi thường gặp về Mã Xóa Lưu Trữ Ceph
Gần đây, một khách hàng đã đặt ra một số câu hỏi về cách lưu trữ Ceph sử dụng Erasure Code để bảo vệ dữ liệu, tránh hỏng dữ liệu trong trường hợp phần cứng bị lỗi, thời gian phục hồi dữ liệu, cách chọn K+M, và số lượng máy chủ tối thiểu cần thiết cho Ceph. Chúng tôi tin rằng nhiều chuyên gia CNTT quen thuộc với các hệ thống lưu trữ truyền thống sẽ quan tâm đến việc hiểu các tính năng của thế hệ lưu trữ định nghĩa bằng phần mềm mới. Tôi sẽ chia sẻ với bạn một số câu hỏi mà khách hàng thường hỏi trong bài viết này.
Ceph sẽ mất bao lâu để phục hồi sau khi gặp sự cố ổ đĩa Ceph?
Thời gian cần thiết để phục hồi dữ liệu từ sự cố thiết bị lưu trữ phụ thuộc vào các điều kiện sau:
- Thời gian phục hồi dữ liệu không liên quan đến kích thước của ổ đĩa cứng. Thời gian tỷ lệ thuận với lượng dữ liệu được lưu trữ trên ổ đĩa. Ceph chỉ cần phục hồi dữ liệu bị hỏng. Dữ liệu bị hỏng càng ít, việc sửa chữa càng nhanh. Ceph không xây dựng lại một ổ đĩa như bộ điều khiển RAID.
- Ceph tự phục hồi dữ liệu về các đĩa khỏe mạnh trong cụm. Càng nhiều đĩa và máy chủ trong cụm, quá trình phục hồi càng nhanh.
- Tốc độ phục hồi có thể được điều chỉnh bằng các tham số phần mềm. Tốc độ phục hồi càng cao, quá trình phục hồi càng nhanh. Tăng tốc phục hồi sẽ chiếm nhiều tài nguyên phần cứng CPU và mạng hơn.
- Hiệu suất CPU và băng thông mạng cũng sẽ ảnh hưởng đến tốc độ phục hồi.
- Tốc độ phục hồi của một pool được sao chép sẽ nhanh hơn so với pool mã xóa.
- Thông thường, các quản trị viên có thể làm chậm tốc độ phục hồi để giảm sử dụng tài nguyên máy chủ.
Thời gian tham khảo cho việc phục hồi:
- NVMe SSD có thể mất vài giờ.
- HDD có thể mất khoảng một ngày.
Cách chọn các số K & M cho mã xóa?
Cách hoạt động của mã xóa.
Các tham số mã xóa Ceph K & M liên quan đến hiệu suất dung lượng sử dụng và độ dư thừa chống lại sự cố phần cứng. K là số lượng các khối dữ liệu, và M là số lượng các khối mã hóa. Khi một khách hàng ghi một đối tượng dữ liệu vào cụm lưu trữ Ceph, đối tượng dữ liệu sẽ được chia thành K phần dữ liệu có kích thước bằng nhau. Ceph sử dụng các khối dữ liệu để mã hóa M khối mã, sẽ được sử dụng để tính toán các khối dữ liệu bị mất khi phần cứng gặp sự cố. Các khối dữ liệu và khối mã sẽ được phân phối và lưu trữ trong miền lỗi được chỉ định bởi K+M. Số lượng tối đa các khối dữ liệu có thể bị mất là M miền thất bại. Các miền thất bại có sẵn phụ thuộc vào cách mà các máy chủ lưu trữ được phân bổ trong hạ tầng vật lý. Đối với một cụm Ceph quy mô nhỏ, sự cố có thể xảy ra trên đĩa hoặc máy chủ. Miền thất bại của một cụm quy mô lớn hơn có thể bao gồm các giá máy chủ, phòng máy chủ hoặc trung tâm dữ liệu, trong số những thứ khác. Đối tượng dữ liệu được tái cấu trúc từ các khối dữ liệu khi khách hàng muốn đọc dữ liệu.
Hiệu suất lưu trữ
So với thuật toán sao chép dữ liệu Ceph, mã hóa xóa thường có hiệu suất không gian sử dụng tốt hơn. Bởi vì mã xóa sử dụng nhiều thao tác I/O đĩa hơn để hoàn thành I/O dữ liệu, nó ít thân thiện hơn với các khối lượng công việc yêu cầu IOPS. Càng lớn tổng của K và M, thì càng nhiều hoạt động I/O sẽ tiêu tốn tài nguyên IOPS của đĩa. Khi sử dụng K lớn hơn và M nhỏ hơn, tổng số byte dữ liệu được truyền trên mạng cụm Ceph sẽ ít hơn. Điều này có thể tăng hiệu suất thông lượng I/O của các đối tượng dữ liệu có kích thước lớn.
Hiệu quả không gian
Hiệu suất không gian sử dụng của một nhóm mã xóa bằng K/(K+M).Ví dụ, hiệu quả không gian của bộ mã xóa K=4, M=2 là 4/6 = 66.7%.Điều này hiệu quả gấp đôi so với các nhóm bản sao 3, cung cấp hiệu suất IOPS cao hơn với cùng mức độ dự phòng phần cứng.
K hợp lý lớn hơn M do hiệu quả không gian sử dụng.Mã xóa lớn hơn (K-M) mang lại hiệu quả không gian tốt hơn.
Số lượng máy chủ lưu trữ
Số lượng K+M cũng xác định số lượng máy chủ hoặc miền lỗi lớn hơn cần thiết trong cụm.
- Một bể mã xóa tiêu chuẩn yêu cầu ít nhất K + M máy chủ để phân phối hiệu quả tất cả các khối EC.
- Một cấu hình mã xóa nâng cao cho phép lưu trữ nhiều khối EC trên mỗi miền lỗi. Cấu hình này giảm số lượng máy chủ cần thiết để phân phối các khối EC.
Tóm tắt ảnh hưởng của mã xóa K & M:
- M xác định số lượng miền lỗi dư thừa.
- K + M lớn hơn dẫn đến hiệu suất IOPS của đối tượng nhỏ giảm cho khách hàng nhưng cải thiện thông lượng cho các đối tượng lớn hơn.
- Hiệu quả không gian lưu trữ = K/(K+M)
- Số lượng máy chủ tối thiểu cần thiết.
Số lượng máy chủ Ceph OSD tối thiểu cần thiết để sử dụng bể mã xóa là bao nhiêu?
Thực hành tốt nhất khi sử dụng lưu trữ Ceph là thiết lập miền lỗi của pool lớn hơn "máy chủ". Một pool dữ liệu sử dụng máy chủ làm miền lỗi hướng dẫn Ceph ghi các khối dữ liệu phân tán đến các máy chủ khác nhau để đảm bảo dữ liệu có thể được phục hồi cho các khối khác được lưu trên các máy chủ khỏe mạnh khác. Người dùng vẫn có thể cấu hình miền lỗi thành "ổ đĩa", điều này bảo vệ dữ liệu cụ thể chống lại các lỗi ổ đĩa, tương tự như các mảng đĩa truyền thống.
Dưới đây là các khuyến nghị về số lượng máy chủ tối thiểu cần thiết để sử dụng một nhóm mã xóa.
Cấu hình tốt nhất: Số lượng máy chủ ≧ K + M + 1
- Cấu hình này cho phép Ceph phân phối mỗi chunk EC trên K+M máy chủ.
- Khi một trong các máy chủ gặp sự cố, bạn có đủ máy chủ để khôi phục chunk bị mất.
Cấu hình tốt thứ hai: Số lượng máy chủ = K + M
- Cấu hình này cho phép mỗi khối EC được phân phối trên K+M máy chủ.
- Khi một máy chủ gặp sự cố, bạn không có máy chủ nào khác để khôi phục khối EC bị mất. Việc sửa chữa kịp thời là rất quan trọng để khôi phục hệ thống về trạng thái khỏe mạnh nhanh nhất có thể.
Cấu hình giới hạn ngân sách: Số lượng máy chủ ≧ (K + M) / M
Cấu hình này hướng dẫn Ceph phân phối một số khối mã hóa xóa trên số lượng máy chủ được chỉ định.Khi một máy chủ gặp sự cố, tối đa M phần của một đối tượng sẽ bị mất.
Cấu hình này cho phép
- Bất kỳ số lượng đĩa nào có thể hỏng đồng thời trong một máy chủ.
- Hoặc cụm có thể mất tối đa một máy chủ.
- Hoặc chỉ một đĩa trong mỗi M máy chủ có thể hỏng đồng thời.
Ví dụ về K+M = 4+2, số lượng máy chủ tối thiểu cần thiết là 6/2 = 3. Bạn chỉ có thể mất một máy chủ, nhưng bạn sẽ không có đủ máy chủ khỏe mạnh trong cụm để phục hồi các khối đã mất.
Làm thế nào để tính toán dung lượng sử dụng của một cụm Ceph?
Không gian sử dụng trong Ceph phụ thuộc vào một số yếu tố quan trọng.
1.Dung lượng thô tối đa của một cụm Ceph được xây dựng bởi nhiều máy chủ là tổng dung lượng đĩa trong mỗi máy chủ.
Nếu cụm bao gồm nhiều loại thiết bị lưu trữ khác nhau, chẳng hạn như HDD, SSD hoặc ổ NVMe, bạn nên tính toán tổng dung lượng đĩa thô cho từng loại thiết bị một cách riêng biệt.Ceph có khả năng nhận diện loại thiết bị được chỉ định cho mỗi pool.
2. Bảo vệ dữ liệu áp dụng cho mỗi pool Ceph xác định không gian sử dụng được.
- Bảo vệ sao chép: không gian sử dụng được = dung lượng thô/kích thước bản sao
- Bảo vệ dữ liệu bằng mã xóa: không gian sử dụng được = dung lượng thô x (K/(K+M))
3. Ceph có một số chi phí cho siêu dữ liệu và các hoạt động hệ thống. Không gian chi phí sử dụng khoảng 10 đến 20% tùy thuộc vào cấu hình và cách sử dụng cụ thể của bạn.
Tất cả không gian ổ đĩa được chia sẻ giữa tất cả các pool sao chép và mã xóa.
- Các pool có thể thiết lập hoặc không thiết lập hạn ngạch. Tất cả các hạn ngạch đều là cấp phát.
- Vì không gian có sẵn của Ceph là cấp phát mỏng, không gian lưu trữ chỉ được phân bổ khi cần thiết, thay vì phân bổ tất cả không gian cần thiết trước. Điều này có thể cải thiện việc sử dụng lưu trữ và giảm chi phí lưu trữ.
- Khuyến nghị dự trữ 1/n không gian trong quá trình hoạt động như không gian phục hồi dữ liệu trong trường hợp phần cứng gặp sự cố, trong đó n là số lượng máy chủ.
- Hệ thống có cảnh báo sử dụng được cài đặt sẵn là 85% gần đầy và 95% đầy.