mdadm RAID Cài đặt nhanh với ổ đĩa trống?


9

Tôi đang tạo lại một số đĩa RAID5 dưới dạng RAID6 với mdadm. Không có dữ liệu trên các ổ đĩa mà tôi quan tâm.

Thiết lập RAID cần một chút thời gian để thiết lập hình dạng - Tôi chấp nhận rằng khi có dữ liệu cần được tính toán và tính chẵn lẻ, tuy nhiên với các ổ đĩa này, chúng trống - hoặc ít nhất tôi muốn chúng được coi là trống.

Vì vậy, có cách nào để bỏ qua tính toán chẵn lẻ và nói với mdadm chỉ cần thiết lập các siêu khóa và được thực hiện, hoặc nếu không, chính xác là nó dành tất cả thời gian này khi không có dữ liệu để di chuyển?

md3 : active raid6 sdf3[5] sde3[4] sdd3[3] sdc7[2] sdb3[1] sda3[0]
      1953114112 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  1.3% (6790144/488278528) finish=409.3min speed=19604K/sec

Lưu ý rằng tôi không nói về --assume-cleannơi bạn đang xây dựng lại một mảng từ một bộ đĩa có sẵn có chứa một mảng RAID mà bạn biết là chính xác. Tôi đang nói về một mảng nên được coi là trống, không được coi là sọc chính xác.

Vì vậy, hãy nói vì lợi ích của câu hỏi này rằng các thiết bị đã được điền trước bằng số không.

Câu trả lời:


8

Bạn có thể sử dụng --assume-cleannhưng trừ khi bạn đang sử dụng raid5 (không phải raid6) và các đĩa thực sự đầy số không, lần đầu tiên nó chạy kiểm tra chẵn lẻ, nó sẽ xuất hiện các lỗi cần sửa, vì vậy bạn không nên làm điều này. Bạn không cần đợi đồng bộ hóa kết thúc trước khi bạn có thể bắt đầu sử dụng mảng; nó sẽ chug dọc theo nền cho đến khi hoàn thành.


Cảm ơn psusi - điều này không giải quyết câu hỏi.
Paul

2
@Paul, umm .. vâng, đúng vậy. Không có thứ gọi là "trống rỗng" chỉ có đồng bộ hóa hoặc không đồng bộ hóa.
psusi

Nó không giải quyết câu hỏi tôi đang hỏi. Xor của một khối số không bằng không. Vì vậy, nếu tôi có thể nói với mdadm rằng không gian có thể được coi là trống, nó có thể tạo ra sự tương đương rất nhanh. Tính chẵn lẻ sẽ chỉ cần được tính toán chính xác khi một khối cụ thể được ghi vào, tại thời điểm đó không có vấn đề gì là "sai" trước đó. Tôi thậm chí có thể thực sự bằng không đĩa.
Paul

2
@Paul, một lần nữa, không có thứ gọi là "trống rỗng". Nói chung là đúng, sẽ không có vấn đề gì khi tính chẵn lẻ trên các sọc chưa bao giờ được viết là sai, đó là lý do tại sao bạn có thể thoát khỏi --assume-clean, ngay cả khi các đĩa không đầy đủ số 0, nhưng tính chẵn lẻ sẽ được phát hiện và sửa chữa khi mdadm thực hiện kiểm tra chẵn lẻ.
psusi

2
@Paul, ý nghĩa của "trống rỗng" không được xác định rõ. Hầu hết mọi người sử dụng nó có nghĩa là họ không đặt bất kỳ tệp hoặc hệ thống tệp nào trên thiết bị và không biết hoặc không quan tâm đến những gì nó hiện đang chứa. Nếu bạn biết các đĩa chứa đầy số không, thì --assume-clean là thứ bạn muốn. Bạn sẽ biết rằng các đĩa đều bằng 0 và không tính toán lại tính chẵn lẻ, và như bạn đã đề cập, một chẵn lẻ bằng 0 sẽ đúng với các đĩa dữ liệu của tất cả các số không, ít nhất là cho raid5 (không phải cho raid6).
psusi

2

Bạn không thể làm điều này với RAID phần mềm hoặc phần cứng. Tất cả các tổng kiểm tra cần phải được ghi trên đĩa, mất thời gian. Bạn có thể làm điều đó sau, nhưng sau đó các phần của đĩa không được ghi vào, sẽ phải làm điều đó trước khi bạn có thể sử dụng chúng.

Điều này về cơ bản là vì hệ thống RAID và hệ thống tệp không biết gì về nhau. ZFS có một giải pháp cho việc này, nhưng ở đó các phần RAID được tích hợp sâu với hệ thống tệp. Vì vậy, hệ thống con RAID thực sự biết phần nào của các đĩa được sử dụng để lưu trữ dữ liệu và phần nào có thể được sử dụng sau đó và sau đó ghi tổng kiểm tra cho chúng.

Bạn có thể thêm tốc độ thông lượng vào RAID phần mềm hoặc bạn bắt đầu sử dụng RAID trước khi tất cả các tổng kiểm tra được viết và để RAID phần mềm xử lý việc này cho bạn sau. Phù thủy là những gì @psusi đã viết.


Tôi hiểu RAID hoạt động như thế nào, tôi đang cố gắng hiểu những gì diễn ra với tổng kiểm tra trên một đĩa trống. Tổng kiểm tra cần phải được tính mỗi khi một cái gì đó được ghi vào đĩa, vì vậy việc tính toán chúng trước khi có bất kỳ dữ liệu nào không có ý nghĩa gì - "thực hiện sau" là điều hợp lý khi không có gì ở đó. Không có một hệ thống tập tin để xem xét trong kịch bản này.
Paul

6
luôn dữ liệu hiện tại. Nó có thể không quan trọng hoặc có ý nghĩa, nhưng mỗi lĩnh vực luôn có một giá trị. (Không cũng là một giá trị!) Việc triển khai RAID không biết lĩnh vực nào chứa dữ liệu quan trọng, do đó, nó phải coi tất cả chúng là quan trọng và tính tương đương của chúng.
Wyzard
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.