Sử dụng không gian thô của CEPH


8

Tôi không thể hiểu sử dụng không gian thô ceph.

Tôi có 14 ổ cứng (14 OSD) trên 7 máy chủ, tổng dung lượng 3 GB cho mỗi ổ cứng ~ 42 TB.

ceph -s 
     osdmap e4055: 14 osds: 14 up, 14 in
      pgmap v8073416: 1920 pgs, 6 pools, 16777 GB data, 4196 kobjects
            33702 GB used, 5371 GB / 39074 GB avail

Tôi đã tạo 4 thiết bị khối, mỗi thiết bị 5 TB:

df -h
 /dev/rbd1       5.0T  2.7T  2.4T  54% /mnt/part1
/dev/rbd2       5.0T  2.7T  2.4T  53% /mnt/part2
/dev/rbd3       5.0T  2.6T  2.5T  52% /mnt/part3
/dev/rbd4       5.0T  2.9T  2.2T  57% /mnt/part4

df cho thấy tổng cộng 10,9 TB được sử dụng, ceph cho thấy 33702 GB được sử dụng. Nếu tôi có 2 bản thì phải ~ 22 TB, nhưng hiện tại tôi đã sử dụng 33,7 TB - bỏ lỡ 11 TB.

ceph osd pool get archyvas size
size: 2


ceph df
GLOBAL:
    SIZE       AVAIL     RAW USED     %RAW USED
    39074G     5326G       33747G         86.37
POOLS:
    NAME          ID     USED      %USED     MAX AVAIL     OBJECTS
    data          0          0         0         1840G           0
    metadata      1          0         0         1840G           0
    archyvas      3      4158G     10.64         1840G     1065104
    archyvas2     4      4205G     10.76         1840G     1077119
    archyvas3     5      3931G     10.06         1840G     1006920
    archyvas4     6      4483G     11.47         1840G     1148291

Chặn thiết bị và OSD FS - XFS

Câu trả lời:


6

Một nguồn có thể gây nhầm lẫn là GB so với GiB / TB so với TiB (cơ sở 10 / cơ sở 2), nhưng điều đó không thể giải thích tất cả sự khác biệt ở đây.

Ceph / RBD sẽ cố gắng "lười biếng" phân bổ không gian cho khối lượng của bạn. Đây là lý do tại sao mặc dù bạn đã tạo bốn khối lượng 5TB, nó báo cáo 16TB được sử dụng chứ không phải 20. Nhưng 16TB nhiều hơn tổng số nội dung "hoạt động" của các hệ thống tệp được hỗ trợ RBD của bạn, chỉ khoảng 11TB, như bạn nói. Một số điều cần lưu ý:

Khi bạn xóa các tệp trong các hệ thống tệp được hỗ trợ RBD, các hệ thống tệp sẽ đánh dấu bên trong các khối là miễn phí, nhưng thường không cố gắng "trả lại" chúng cho thiết bị khối bên dưới (RBD). Nếu phiên bản RBD kernel của bạn đủ gần đây (3.18 hoặc mới hơn), bạn sẽ có thể sử dụng fstrimđể trả lại các khối được giải phóng cho RBD. Tôi nghi ngờ rằng bạn đã tạo và xóa các tệp khác trên các hệ thống tệp này, phải không?

Ngoài ra còn có một số chi phí hệ thống tập tin vượt quá mức sử dụng dữ liệu ròng được hiển thị bởi df. Bên cạnh "superblocks" và các cấu trúc dữ liệu bên trong hệ thống tập tin khác, một số chi phí sẽ được dự kiến ​​từ mức độ chi tiết mà RBD phân bổ dữ liệu. Tôi nghĩ RBD sẽ luôn phân bổ các khối 4 MB, ngay cả khi chỉ một phần trong số đó được sử dụng.


Và tôi đồng ý với Simon. Đoán cả hai câu trả lời của chúng tôi với nhau làm cho một hoàn thành. btw. chết tiệt Câu hỏi cũ 20 giờ và bạn đánh bại tôi để trả lời trong 35 giây? : D
Fox

Cảm ơn cả hai bạn đã trả lời. Bây giờ tôi hiểu vấn đề của mình ở đâu và làm thế nào để giải quyết nó.
trinh nữ

Các tùy chọn có thể: 1. nâng cấp lên nhân Linux> 3.18 và gắn kết với tùy chọn loại bỏ; (Tôi đã thử nghiệm với kernel 3.19.0-1.el6.elrepo.x86_64, nhưng đã bị bế tắc mỗi ngày); 2. Tái tạo các thiết bị khối có kích thước <5 TB (không thể thu nhỏ XFS) 3. Thêm ổ cứng và tạo thêm OSD.
trinh tiết

1
Có thể xác nhận điều này hoạt động tốt. Nâng cấp kernel của máy khách Ceph của tôi lên 3.19 vào cuối tuần trước trong Ubuntu LTS 14.04.3 ( sudo apt-get install --install-recommends linux-generic-lts-vivid), được khởi động lại, ánh xạ lại và gắn các khối lượng rbd của tôi, chạy fstrimtừng cái trong số chúng và phục hồi chung 450GB trên một cụm 25TB nhỏ. Khi bạn nâng cấp, hãy chắc chắn rằng bạn bắt đầu gắn khối lượng rbd của mình với discardtùy chọn.
Brian Cline

5

Tôi không phải là chuyên gia ceph nhưng hãy để tôi đoán một chút.

Các thiết bị khối không được gắn mà không có discardtùy chọn. Vì vậy, bất kỳ dữ liệu nào bạn viết và xóa không hiển thị trên hệ thống tập tin ( /mnt/part1), nhưng vì nó đã được ghi và không được cắt xén, nó vẫn nằm trên hệ thống tập tin cơ bản.

Nếu bạn nhìn vào USEDcác nhóm của mình và thêm chúng lại với nhau, bạn sẽ nhận được 16777GB, tương đương với những gì ceph -shiển thị. Và nếu bạn nhân số đó với hai (hai bản sao), bạn sẽ nhận được 33554GB, tức là không gian được sử dụng khá nhiều.


1
Tôi đồng ý với phản hồi của Fox (được viết cùng lúc với câu trả lời của tôi dưới đây :-). discardvà "trim" về cơ bản là các từ khác nhau cho cùng một cơ chế có thể được sử dụng để trả về các khối không sử dụng cho thiết bị khối. Gắn kết với discardtùy chọn nên có hiệu quả mong muốn. Một số người thích chạy định kỳ fstrimđể tránh chi phí hoạt động liên tục của hệ thống tập tin. Lưu ý rằng để bất kỳ điều này hoạt động, trình điều khiển RBD của bạn cần hỗ trợ TRIM / hủy. Như tôi đã nói, trình điều khiển hạt nhân RBD thực hiện việc này kể từ Linux 3.18, xem tracker.ceph.com/issues/190 .
vào
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.