Truy cập chậm vào btrfs trên LVM /


7

Chúng tôi có thiết lập này trên máy chủ của chúng tôi:

  • Ubuntu 14.04 (được sử dụng là 12.04)
  • Hệ thống RAID-6 10TB
  • LVM (một VG, hai LV)
  • phân vùng ext4 (~ 2TB)
  • Phân vùng Btrfs (~ 8TB)

Sau khi khởi động lại vào tháng trước, hệ thống đã chậm. Đầu tiên chúng tôi nghĩ rằng đó là do RAID được đồng bộ hóa lại (một ổ đĩa không được thêm vào và được kích hoạt lại). Nhưng sau đó cuối cùng kết thúc (12-13 ngày) truy cập vào Btrfs vẫn chậm một cách đáng chú ý. truy cập ext4 có vẻ bình thường.

Sysadmin, người đã thiết lập điều này (và đã rời khỏi mùa hè này) đã sử dụng tính năng tự động xác định, không có thời gian trên giá treo Btrfs.

Chúng ta có thể làm gì để tăng tốc độ Btrfs một lần nữa?

Câu trả lời:


9

Tôi không thể bình luận, xin lỗi nếu điều này không tốt như câu trả lời. Bạn nên kiểm tra ổ đĩa của bạn. Tôi nghĩ rằng 12 ngày thời gian rsync cho 10Tb là quá dài, nên giống như 12-24 giờ. Nhìn vào các ổ đĩa khác nhau với smartctl để kiểm tra xem một ổ có nhiều lỗi không:

for i in a b c d e f g h i j k l; do echo $i ; smartctl -x /dev/sd$i | grep occurred | head -1 ; done

Tôi đã thấy RAID hoạt động chậm lại vì điều này. Và IIRC Btrfs cần nhiều quyền truy cập đĩa hơn ext4 để tra cứu thư mục, điều này có thể giải thích sự khác biệt về tốc độ truy cập.


1
Cảm ơn rất nhiều cho mẹo này. Tôi đã sử dụng nó và tìm thấy một ổ đĩa có 832 lỗi (và một ổ có 2, không có lỗi nào trên phần còn lại). Sau khi tắt nguồn và gỡ bỏ ổ đĩa, truy cập Btrfs đã tăng tốc đáng chú ý. Một ổ đĩa thay thế đang trên đường.
RachelP83

Tôi vừa đăng nhập lại vào máy chủ từ nhà: đồng bộ hóa lại ổ đĩa mới đã hoàn tất! Tốc độ truyền tải thư mục dường như trở lại bình thường.
RachelP83

4

Bạn vừa xếp chồng ba lớp đĩa I / O lên và bạn đang tự hỏi tại sao nó hoạt động kém?

Có một câu nói cũ trong khoa học máy tính, được gán cho David Wheeler :

Bất kỳ vấn đề nào trong khoa học máy tính đều có thể được giải quyết bằng một lớp cảm ứng khác.

Nó không đúng. Có một vấn đề bạn không thể giải quyết theo cách đó: hệ thống quá chậm. (Không phải không thêm phần cứng nào nữa. Nhiều trục chính hơn trong trường hợp này, hoặc phân cụm hoặc cân bằng tải, v.v.)

Btrfs bao gồm chức năng LVM, nhưng bạn đã đi và xếp nó lên trên lớp LVM2 của Linux và đặt lên trên hệ thống RAID-6 phần cứng. Bạn đã làm gì khác, lưu trữ các máy ảo trên đống trừu tượng này, để bạn có thể thêm một hoặc hai lớp khác của hệ thống tập tin?

Bạn đã xin lời khuyên, vì vậy đây là của tôi: chụp một số lớp đó.

Nếu là tôi, tôi sẽ cấu hình hệ thống con đĩa cứng cho JBOD và đặt Btrfs trực tiếp lên nó.

Rộng hơn, bạn không nên mong đợi Btrfs đạt được hiệu suất tương tự như ext[234]. Bạn không so sánh táo với táo. Btrfs mua cho bạn mức độ toàn vẹn dữ liệu cao hơn, do đó, nó sẽ tự nhiên chạy chậm hơn một chút. TANSTAAFL .


Các quan sát của bạn được đánh giá cao, nhưng tôi không thể thay đổi phần cứng ngay bây giờ và chỉ có Btrfs gây ra sự cố với một số tệp lớn đã được cập nhật (một sự cố đã biết), vì vậy chúng tôi không thể trực tiếp "trên kim loại". Dù sao hiệu suất được sử dụng là tốt, với các lớp và tại chỗ.
RachelP83

5
Theo kinh nghiệm của tôi, btrfs thực hiện rất nhiều công việc dọn phòng khi một hệ thống tập tin được gắn kết, cũng tùy thuộc vào việc nó có được dọn dẹp sạch sẽ hay không. Có bất kỳ quá trình kernel nào liên quan đến btrfs đang chạy ở trạng thái 'D' khi bạn chạy ps auxkhông? Nếu vậy chỉ cần chờ nó ra. Đừng khởi động lại, nó sẽ khởi động lại hành động ... Ngoài ra, LVM hầu như không phải chịu bất kỳ hình phạt hiệu suất nào; ít nhất là tôi không thể đo lường nó theo cách không khoa học.
wurtel

3
Lưu ý rằng thông tin về âm lượng LVM được tải vào trình ánh xạ thiết bị, là một phần của lớp IO khối trong kernel. Điều này có nghĩa là tác động hiệu suất của lvm một mình nên hầu như không đáng chú ý.
marbu
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.