Điểm:0

Kiểm tra RAID hàng tuần ảnh hưởng đến hệ thống của tôi - có cách nào để giảm thiểu không?

lá cờ ml

Gần đây, tôi đã nhận được dịch vụ lưu trữ web (Hetzner) để thêm ổ đĩa SATA 16TB trả phí vào máy chủ web của mình. Hiện đang sử dụng 2,5TB trong số đó. Chúng là RAID 1 được nhân đôi.

Tôi cũng có hai ổ nVME 4TB với 700GB hiện có trên chúng, cũng là RAID 1 được nhân đôi.

Mỗi tuần, CentOS khởi động một cronjob để chạy "kiểm tra" trên cả hai mảng md của tôi. Chúng xảy ra đồng thời, với một nVME kết thúc sau 5 giờ. Bản SATA mất 18 giờ đau đớn, với tốc độ 200 MB/giây trong toàn bộ thời gian.

# Chạy kiểm tra đột kích trên toàn hệ thống mỗi tuần một lần vào Chủ nhật lúc 1 giờ sáng theo mặc định
0 1 * * Sun root /usr/sbin/raid-check

Máy chủ của tôi rất mạnh, với EPYC 32 nhân và 128GB ram, nhưng tôi nhận thấy IO bị chậm lại khi kiểm tra này đang chạy.

  1. có cần thiết phải chạy những thứ này hàng tuần không?

  2. 200MB/giây * 18 giờ có nghĩa là nó đang thực hiện toàn bộ 16TB, không chỉ dung lượng bị chiếm dụng. Điều này có thể được thực hiện thông minh hơn/lười biếng hơn theo bất kỳ cách nào để nó chỉ chạy trên không gian bị chiếm dụng không?

  3. công việc này có thể là đẹpd hay tương tự? Tôi đánh giá cao nó sẽ mất nhiều thời gian hơn, nhưng điều đó có thể tốt hơn. xem chỉnh sửa bên dưới

  4. việc tạm dừng viết kịch bản vào đây có phải là một ý tưởng tồi không? Vì vậy, thay vì 18 giờ trong một lần tôi có thể làm (giả sử) 3 giờ mỗi đêm?

  5. đây là vấn đề mà mọi người đều mắc phải hay tôi đã đưa ra một số quyết định sai lầm? Chẳng hạn, việc cài đặt thẻ đột kích phần cứng có làm tôi vui hơn nhiều không?

Chỉnh sửa

bây giờ tôi đã phát hiện ra /etc/sysconfig/raid-check và thay đổi ĐẸP=thấp đến ĐẸP=nhàn rỗi. Tôi đoán tôi sẽ không biết điều gì khác biệt cho đến tuần sau.

paladin avatar
lá cờ id
Sử dụng btrfs-raid1 (bằng cách sử dụng hệ thống tệp btrfs) thay vì mdadm đột kích1 ngu ngốc.
Codemonkey avatar
lá cờ ml
Bạn có thể cho tôi biết thêm không @paladin - tại sao điều đó sẽ tốt hơn? Và tôi cho rằng tôi không thể chuyển đổi nó tại chỗ, trước tiên tôi cần di chuyển dữ liệu sang các ổ đĩa khác, sau đó di chuyển trở lại? Tôi là một nhà phát triển toàn diện đang điều hành doanh nghiệp/máy chủ/trang web của riêng mình, tôi rất vui khi thừa nhận đây không phải là lĩnh vực chuyên môn của tôi. Chết tiệt, tôi không có lĩnh vực chuyên môn những ngày này!
paladin avatar
lá cờ id
hệ thống tệp btrfs hỗ trợ đột kích ở cấp độ hệ thống tệp, trong khi mdadm không đột kích ở cấp độ khối. btrfs cũng tạo tổng kiểm tra của tất cả các tệp và tất cả dữ liệu, trong khi mdadm thì không. mdadm chỉ là ngu ngốc. btrfs so sánh tất cả siêu dữ liệu và tất cả dữ liệu với tổng kiểm tra và cũng có thể so sánh nó với một bản sao (raid1 hoặc bản sao trùng lặp). Nếu một cái gì đó bị hỏng, chỉ tệp bị hỏng sẽ được sửa chữa, không cần kiểm tra toàn bộ cấp độ khối đĩa. Nhưng vui lòng đọc về btrfs trước, vì một số chức năng của hệ thống tệp này khác với ext4 và co..
paladin avatar
lá cờ id
Bạn thực sự nên đọc thêm về nó [tại đây](https://btrfs.wiki.kernel.org/index.php/Main_Page). btrfs đã sẵn sàng sản xuất và sử dụng ổn định khi bạn sử dụng đúng cách. Tôi sẽ viết một bản tóm tắt nhỏ sau. PS bạn thực sự không nên sử dụng chế độ btrfs-raid5 hoặc btrfs-raid6, vì những chế độ đó là thử nghiệm và rất nguy hiểm (nguy hiểm hơn cả đột kích0). Hệ thống tệp btrfs cũng phải luôn được gắn với tùy chọn gắn `noatime`.
Điểm:2
lá cờ za

Không, MD RAID không thể thông minh hơn thế này. Nếu bạn chỉ muốn kiểm tra các khu vực đã sử dụng, hãy sử dụng ZFS hoặc có thể là BTRFS.

Kiểm tra hàng tuần là quá thường xuyên. Làm điều này hàng tháng, hoặc thậm chí mỗi tháng.

Tôi không biết NICE này thực sự làm gì. Nếu nó đang thiết lập I/O đẹp của quy trình nhân [mdX_resync], điều đó tốt và hãy sử dụng nhàn rỗi. Những gì bạn có thể giới hạn là băng thông của séc: nó được đặt trong /sys/block/mdX/md/sync_speed_max tệp tính bằng kB/s. Đây là một tệp ảo, ví dụ: nó sẽ được đặt lại sau khi khởi động lại hệ thống.

Nhân tiện, nó bị giới hạn ở 200 MB/s theo mặc định và dường như bạn đã đạt đến giới hạn đó. Bạn có thể tăng tốc độ cho SSD (đặt 5000000 và xem thời gian chúng sẽ được kiểm tra). Và thay vì "tạm dừng" nó đối với ổ cứng, tôi sẽ sử dụng các giới hạn (ví dụ: trong thời gian tải cao, tôi đặt giới hạn thấp hơn, trong thời gian không hoạt động, tôi đặt băng thông tối đa 600000 â giao diện SATA 6 Gb/S).

Tôi nghi ngờ thẻ HW RAID sẽ làm mọi thứ tốt hơn nhiều.

lá cờ jm
Thẻ RAID phần cứng sẽ giúp mọi thứ tốt hơn nhiều.Lệnh md checkarray quét mọi cung của mọi đĩa để tìm tính nhất quán và phân hủy bit. Điều này được thực hiện bởi quá trình đọc mọi khối, vì vậy nó cần nhiều I/O và phần nào cần nhiều CPU. Với một cuộc tấn công phần cứng, các chức năng này được chạy từ bên trong thẻ nên không có I/O nào trên bus và cpu không liên quan.
Codemonkey avatar
lá cờ ml
Thú vị, cảm ơn bạn. Tôi chắc chắn nghĩ rằng thật kỳ lạ khi quá trình kiểm tra nVME mất quá nhiều thời gian, nên giới hạn 200 MB/giây cũng hợp lý. Mặc dù tôi MUỐN chạy công việc ít thường xuyên hơn, nhưng tôi tin rằng Debian chọn hàng tháng và RHEL hàng tuần. Ai sẽ nói cái nào đúng... bạn có thể giải thích lý do tại sao bạn cho rằng hàng tuần là "quá thường xuyên" không?
Codemonkey avatar
lá cờ ml
Ngoài ra, bạn có biết kiểm tra đột kích sẽ tải lại tệp conf vào thời điểm nào không? Hoặc làm thế nào để làm cho nó làm như vậy? Tôi đã thử chạy không tải các kiểm tra (`echo idle > /sys/devices/virtual/block/mdX/md/sync_action`) rồi bắt đầu lại nhưng có vẻ như không được. (Tôi đã đặt `MAX_CONCURRENT=1` ​​và hiện tại tôi rất vui khi thực hiện cả hai việc này cùng một lúc)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.