Điểm:1

Perc H740P: volume đột kích5 tách thành 2 cấu hình nước ngoài, không nhập được

lá cờ ru

Sau khi thay thế nguồn điện, chúng tôi gặp sự cố về cáp khiến một số đĩa bị thiếu, sau khi gỡ lỗi và sửa lỗi này trong BIOS, trong lần khởi động đầu tiên, ổ đĩa đột kích5 có sẵn được chia thành hai cấu hình nước ngoài - một cấu hình chứa 5 đĩa, cấu hình còn lại chứa 2 đĩa còn lại của tập 7 đột kích5 (xem bên dưới).

Chúng tôi không thể nhập các cấu hình nước ngoài bằng perccli /c0/fall import:

Trạng thái = Thất bại
Mô tả = Cấu hình nước ngoài không đầy đủ

Vì vậy, tất cả các đĩa đều ở đó, nhưng bằng cách nào đó, bộ điều khiển nghĩ rằng đó là hai nhóm ổ đĩa khác nhau. Có cách nào để khắc phục tình trạng này và hợp nhất các cấu hình thành một hoặc một cái gì đó tương tự không?

--------------------------------------------- --------------------------
DG Arr Row EID:Slot DID Type State BT Size PDC PI SED DS3 FSpace TR 
--------------------------------------------- --------------------------
 0 - - - - RAID5 Frgn N 54.571 TB dsbl N N dflt N N  
 0 0 - - - RAID5 Frgn N 54.571 TB dsbl N N dflt N N  
 0 0 0 67:0 0 DRIVE Frgn N 9.094 TB dsbl N N dflt - N  
 0 0 1 67:0 1 DRIVE Frgn N 9.094 TB dsbl N N dflt - N  
 0 0 2 67:0 2 DRIVE Frgn N 9.094 TB dsbl N N dflt - N  
 0 0 3 67:0 3 DRIVE Frgn N 9.094 TB dsbl N N dflt - N  
 0 0 4 - - DRIVE Msng - 9.094 TB - - - - - N  
 0 0 5 - - DRIVE Msng - 9.094 TB - - - - - N  
 0 0 6 67:0 5 DRIVE Frgn N 9.094 TB dsbl N N dflt - N  
 1 - - - - RAID5 Frgn N 54.571 TB dsbl N N dflt N N  
 1 0 - - - RAID5 Frgn N 54.571 TB dsbl N N dflt N N  
 1 0 0 - - DRIVE Msng - 9.094 TB - - - - - N  
 1 0 1 - - DRIVE Msng - 9.094 TB - - - - - N  
 1 0 2 - - DRIVE Msng - 9.094 TB - - - - - N  
 1 0 3 - - DRIVE Msng - 9.094 TB - - - - - N  
 1 0 4 67:0 6 DRIVE Frgn N 9.094 TB dsbl N N dflt - N  
 1 0 5 67:0 4 DRIVE Frgn N 9.094 TB dsbl N N dflt - N  
 1 0 6 - - DRIVE Msng - 9.094 TB - - - - - N  
--------------------------------------------- --------------------------


Danh sách VD nước ngoài :
===============

---------------------------------
DG VD Kích thước Loại Tên      
---------------------------------
 0 255 54,571 TB RAID5 RV5 
 1 255 54,571 TB RAID5 RV5 
---------------------------------

Cập nhật:

Tôi đã ngắt kết nối toàn bộ bộ mở rộng và khởi động. Điều này cho thấy tất cả các đĩa trong cấu hình nước ngoài (cũng có một số tập đĩa đơn lẻ1):

-----------------------------------------
DG EID:Kích thước trạng thái loại khe cắm NoVDs 
-----------------------------------------
 0 - RAID0 Giá 9.094 TB 1 
 1 - RAID0 Frgn 10.913 TB 1 
 2 - RAID0 Frgn 10.913 TB 1 
 3 - RAID0 Frgn 10.913 TB 1 
 4 - RAID0 Giá 9.094 TB 1 
 5 - RAID0 Frgn 278,875 GB 1 
 6 - RAID0 Frgn 14.551 TB 1 
 7 - RAID0 Frgn 16.370 TB 1 
 8 - RAID0 Frgn 9.094 TB 1 
 9 - RAID5 Frgn 54.571 TB 1 
10 - RAID5 Frgn 54.571 TB 1 
-----------------------------------------

Tôi đã có thể nhập thành công /c0/fall tất cả. Thật không may, điều này đã kết thúc trong tình huống sdame như trước đây, với các tập khác vẫn ở đó và đột kích5 được chia thành hai cấu hình nước ngoài (tức là nhập tất cả các cấu hình nước ngoài được tạo cùng với các cấu hình nước ngoài mới).

Cập nhật 2:

Việc gắn các đĩa vào hệ thống GNU/Linux cho thấy điều này, mà theo tôi về cơ bản cũng giống như bộ điều khiển perc: có hai tập đĩa đột kích với 5 và 7 đĩa. Vì vậy, đây dường như là kết quả của một lỗi chương trình cơ sở trong đó bộ điều khiển đột kích thực sự chia nhóm âm lượng thành hai nhóm không hoạt động và do đó, việc hợp nhất dường như là không thể.

Tính cách : [raid0] [tuyến tính] [đa tuyến] [raid1] [raid6] [raid5] [raid4] [raid10] 
md125 : sdi không hoạt động[0]
      9765912576 khối siêu bên ngoài:/md127/2
       
md126 : sdg[1](S) sdf[0](S) không hoạt động
      1048576 khối siêu bên ngoài:ddf
       
md127 : không hoạt động sdm[4](S) sdi[3](S) sdh[2](S) sdk[1](S) sdl[0](S)
      2621440 khối siêu bên ngoài:ddf
       

thiết bị không sử dụng:

Tôi đang cố khôi phục từ đây, nhưng câu hỏi bây giờ là: Tôi có thể tạo lại mảng trong bộ điều khiển đột kích hoặc GNU/Linux một lần nữa để bộ điều khiển đột kích nhận ra mảng không? Khôi phục từ bản sao lưu mất nhiều thời gian.

** Cập nhật 3:**

Vì nó đã được yêu cầu - tôi không còn thông tin kiểm tra/chi tiết nữa, nhưng đây là kết xuất của những gì công cụ của riêng tôi đã in, cung cấp cấu trúc hơn một chút và cho thấy rõ thông tin bị hỏng như thế nào. Dữ liệu DDF bao gồm nhiều đĩa hơn là chỉ những đĩa trong mảng, nhưng công cụ của tôi chỉ kết xuất thông tin liên quan đến cấu hình mảng mà tôi muốn khôi phục. Lưu ý rằng tôi đã giải quyết vấn đề của mình bằng cách tạo lại mảng sau một cuộc phiêu lưu nhỏ, vì vậy đây chỉ là thông tin.

/dev/sdf
    giới thiệu 66fee9c8
    hướng dẫn 'ATA 999901019c64177c25b6'
    pd 1 6d67850c 'ATA 9999010198734b845e34'
    pd 2 2c442eef 'ATA 99990101a3ff6b169fb3'
    pd 3 859c2a72 'ATA 9999010140f57d7b1911'
    pd 4 2a25447d 'ATA 9999010181a40ea27a38'
    pd 5 6db9e402 'SmrtStor P^A^W1^@tfM-8'
    pd 6 0176ebaa 'ATA 99990101bd73575777e4'
    pd 7 a63ba301 'ATA 999901017d605c6aadf6'
    pd 8 5254f474 'ATA 999901014ecf2257f8f4'
    pd 9 80e8a86d 'ATA 999901014c775ca92a87'
    pd 10 49416c50 'ATA 99990101d79cd13a1e1e'
    pd 11 fa44428b 'ATA 9999010198bd2187a552'
    pd 12 66fee9c8 'ATA 999901019c64177c25b6'
    pd 13 4a94daa9 'ATA 99990101679d1776307e'
    phần 0
        hướng dẫn 'Dell ^ P'
        kích thước 117190950912
        khối 19531825152
        đĩa 0 bắt đầu 0 ref a63ba301
        đĩa 1 bắt đầu 0 ref 5254f474
        đĩa 2 bắt đầu 0 ref 80e8a86d
        đĩa 3 bắt đầu 0 ref 49416c50
        đĩa 4 bắt đầu 0 ref fa44428b
        đĩa 5 bắt đầu 0 tham chiếu 66fee9c8
        đĩa 6 bắt đầu 0 ref 4a94daa9

/dev/sdg
    giới thiệu fa44428b
    hướng dẫn 'ATA 9999010198bd2187a552'
    pd 1 6d67850c 'ATA 9999010198734b845e34'
    pd 2 2c442eef 'ATA 99990101a3ff6b169fb3'
    pd 3 859c2a72 'ATA 9999010140f57d7b1911'
    pd 4 2a25447d 'ATA 9999010181a40ea27a38'
    pd 5 6db9e402 'SmrtStor P^A^W1^@tfM-8'
    pd 6 0176ebaa 'ATA 99990101bd73575777e4'
    pd 7 a63ba301 'ATA 999901017d605c6aadf6'
    pd 8 5254f474 'ATA 999901014ecf2257f8f4'
    pd 9 80e8a86d 'ATA 999901014c775ca92a87'
    pd 10 49416c50 'ATA 99990101d79cd13a1e1e'
    pd 11 fa44428b 'ATA 9999010198bd2187a552'
    pd 12 66fee9c8 'ATA 999901019c64177c25b6'
    pd 13 4a94daa9 'ATA 99990101679d1776307e'
    phần 0
        hướng dẫn 'Dell ^ P'
        kích thước 117190950912
        khối 19531825152
        đĩa 0 bắt đầu 0 ref a63ba301
        đĩa 1 bắt đầu 0 ref 5254f474
        đĩa 2 bắt đầu 0 ref 80e8a86d
        đĩa 3 bắt đầu 0 ref 49416c50
        đĩa 4 bắt đầu 0 ref fa44428b
        đĩa 5 bắt đầu 0 tham chiếu 66fee9c8
        đĩa 6 bắt đầu 0 ref 4a94daa9

/dev/sdh
    giới thiệu 4a94daa9
    hướng dẫn 'ATA 99990101974a122c9311'
    pd 1 6d67850c 'ATA 99990101be1d53ed8c7d'
    pd 2 2c442eef 'ATA 99990101ff58714b7f1b'
    pd 3 859c2a72 'ATA 99990101fa3ac0b94ef7'
    pd 4 2a25447d 'ATA 999901017e74d11eb6e6'
    pd 5 0176ebaa 'ATA 99990101f19b3355ec56'
    pd6 a63ba301 'ATA 99990101f391d36e91f9'
    pd 7 5254f474 'ATA 99990101fa6d3d5b6c49'
    pd 8 80e8a86d 'ATA 99990101b7ad5947d5c0'
    pd 9 49416c50 'ATA 99990101d2e6918871bb'
    pd 10 4a94daa9 'ATA 99990101974a122c9311'
    pd 11 6db9e402 'SmrtStor P^A^W1^@tfM-8'
    phần 0
        hướng dẫn 'Dell ^ P'
        kích thước 117190950912
        khối 19531825152
        đĩa 0 bắt đầu 0 ref a63ba301
        đĩa 1 bắt đầu 0 ref 5254f474
        đĩa 2 bắt đầu 0 ref 80e8a86d
        đĩa 3 bắt đầu 0 ref 49416c50
        đĩa 6 bắt đầu 0 ref 4a94daa9

/dev/sdi
    giới thiệu 49416c50
    hướng dẫn 'ATA 99990101d2e6918871bb'
    pd 1 2a25447d 'ATA 999901017e74d11eb6e6'
    pd 2 0176ebaa 'ATA 99990101f19b3355ec56'
    pd 3 49416c50 'ATA 99990101d2e6918871bb'
    pd 4 6db9e402 'SmrtStor P^A^W1^@tfM-8'
    phần 0
        hướng dẫn 'Dell ^ P'
        kích thước 117190950912
        khối 19531825152
        đĩa 3 bắt đầu 0 ref 49416c50

/dev/sdk
    giới thiệu 80e8a86d
    hướng dẫn 'ATA 99990101b7ad5947d5c0'
    pd 1 2a25447d 'ATA 999901017e74d11eb6e6'
    pd 2 0176ebaa 'ATA 99990101f19b3355ec56'
    pd 3 a63ba301 'ATA 99990101f391d36e91f9'
    pd 4 5254f474 'ATA 99990101fa6d3d5b6c49'
    pd 5 80e8a86d 'ATA 99990101b7ad5947d5c0'
    pd 6 49416c50 'ATA 99990101d2e6918871bb'
    pd 7 6db9e402 'SmrtStor P^A^W1^@tfM-8'
    phần 0
        hướng dẫn 'Dell ^ P'
        kích thước 117190950912
        khối 19531825152
        đĩa 0 bắt đầu 0 ref a63ba301
        đĩa 1 bắt đầu 0 ref 5254f474
        đĩa 2 bắt đầu 0 ref 80e8a86d
        đĩa 3 bắt đầu 0 ref 49416c50

/dev/sdl
    giới thiệu 5254f474
    hướng dẫn 'ATA 99990101fa6d3d5b6c49'
    pd 1 2a25447d 'ATA 999901017e74d11eb6e6'
    pd 2 0176ebaa 'ATA 99990101f19b3355ec56'
    pd 3 a63ba301 'ATA 99990101f391d36e91f9'
    pd 4 5254f474 'ATA 99990101fa6d3d5b6c49'
    pd 5 80e8a86d 'ATA 99990101b7ad5947d5c0'
    pd 6 49416c50 'ATA 99990101d2e6918871bb'
    pd 7 6db9e402 'SmrtStor P^A^W1^@tfM-8'
    phần 0
        hướng dẫn 'Dell ^ P'
        kích thước 117190950912
        khối 19531825152
        đĩa 0 bắt đầu 0 ref a63ba301
        đĩa 1 bắt đầu 0 ref 5254f474
        đĩa 2 bắt đầu 0 ref 80e8a86d
        đĩa 3 bắt đầu 0 ref 49416c50

/dev/sdm
    giới thiệu a63ba301
    hướng dẫn 'ATA 99990101f391d36e91f9'
    pd 1 2a25447d 'ATA 999901017e74d11eb6e6'
    pd 2 0176ebaa 'ATA 99990101f19b3355ec56'
    pd 3 a63ba301 'ATA 99990101f391d36e91f9'
    pd 4 5254f474 'ATA 99990101fa6d3d5b6c49'
    pd 5 80e8a86d 'ATA 99990101b7ad5947d5c0'
    pd 6 49416c50 'ATA 99990101d2e6918871bb'
    pd 7 6db9e402 'SmrtStor P^A^W1^@tfM-8'
    phần 0
        hướng dẫn 'Dell ^ P'
        kích thước 117190950912
        khối 19531825152
        đĩa 0 bắt đầu 0 ref a63ba301
        đĩa 1 bắt đầu 0 ref 5254f474
        đĩa 2 bắt đầu 0 ref 80e8a86d
        đĩa 3 bắt đầu 0 ref 49416c50

seq 0 refno a63ba301 dev /dev/sdm
seq 1 giới thiệu 5254f474 dev /dev/sdl
seq 2 giới thiệu 80e8a86d dev /dev/sdk
phần tiếp theo 3 giới thiệu 49416c50 dev /dev/sdi
seq 4 giới thiệu fa44428b dev /dev/sdg
seq 5 giới thiệu 66fee9c8 dev /dev/sdf
seq 6 giới thiệu 4a94daa9 dev /dev/sdh
Nikita Kipriyanov avatar
lá cờ za
`mdadm --detail /dev/RAID` và `mdadm --examine /dev/COMPONENT` nói gì về mỗi mục?
Remember Monica avatar
lá cờ ru
Tôi đã thêm những thông tin mà tôi đã có - cũng xem câu trả lời của tôi về những gì cuối cùng tôi đã làm để giải quyết vấn đề này. Về cơ bản, cấu hình bị hỏng và tôi phải tạo lại mảng, nhưng không phải khôi phục bản sao lưu biểu mẫu.
Điểm:2
lá cờ ru

Ok, đây là những gì tôi đã làm. Có thể nó sẽ giúp người tiếp theo.

Tìm kiếm sự thật

Đầu tiên, tôi gắn tất cả các đĩa vào HBA. GNU/Linux cố gắng lắp ráp đột kích, nhưng thực sự đã tìm thấy (ít nhất) hai tập đột kích (và thêm một chút). Tôi sau đó tạo bản sao lưu của 32 MB đầu tiên và 32 MB cuối cùng của mỗi đĩa, được lập chỉ mục bởi WWID/WWN của họ.

Sau đó, tôi đã tải xuống thông số kỹ thuật SNIA DDF (https://www.snia.org/tech_activities/standards/curr_standards/ddf) bởi vì tôi biết rằng megaraid/dell (một phần) đã triển khai nó (ddf ma thuật khối neo không phải là de11de11 tình cờ :), và sau đó đã viết rất kịch bản xấu xí để giải mã dữ liệu và hiểu ý nghĩa của nó.

Điều này cho tôi thấy rằng trên thực tế, mảng được chia thành ba mảng khác nhau cấu hình, một cái bao gồm một đĩa, một cái khác bao gồm cái đó đĩa và 4 đĩa khác, và một đĩa khác chứa 2 đĩa còn lại.

Bản thân kịch bản không hữu ích lắm nếu không hiểu bạn đang làm gì, vì vậy tôi không đưa nó vào đây.

Cuối cùng, điều này cho phép tôi tìm ra đúng thứ tự ban đầu của các đĩa. Gợi ý: sau khi tạo mảng, ghi lại thứ tự các WWN (perccli /c0/s0 hiển thị tất cả | grep WWN) và kích thước dải, ít nhất.

Quá trình này cũng mang lại cho tôi phần bù bắt đầu (luôn bằng 0) và kích thước của phân vùng (19531825152 sector).

Biến thể raid5 được sử dụng bởi H740P (và có thể là tất cả megaraid bộ điều khiển) được gọi là đối xứng trái hoặc "RAID-5 Rotating Parity N với Tiếp tục dữ liệu (PRL=05, RLQ=03)".

Lắp ráp lại các đĩa để kiểm tra

Sau đó, tôi đã thử lắp ráp lại cuộc đột kích bằng cách sử dụng mdadm --build. Thật không may, mdadm từ chối lắp ráp các mảng đột kích5 - bạn để ghi vào mảng và hủy dữ liệu :(

Như một giải pháp thay thế, để kiểm tra xem thứ tự có đúng không, tôi đã bắt đầu một kvm trong chế độ chụp nhanh với một số hình ảnh khởi động GNU/Linux ngẫu nhiên như /dev/sda và các đĩa dưới dạng đĩa virtio:

exec kvmb -snapshot -m 16384 \
         -drive file=linux.img,snapshot=off \
         -drive file=/dev/sdm,if=virtio,snapshot=on \
         -drive file=/dev/sdl,if=virtio,snapshot=on \
         -drive file=/dev/sdk,if=virtio,snapshot=on \
         -drive file=/dev/sdi,if=virtio,snapshot=on \
         -drive file=/dev/sdg,if=virtio,snapshot=on \
         -drive file=/dev/sdf,if=virtio,snapshot=on \
         -drive file=/dev/sdh,if=virtio,snapshot=on

Điều này làm cho các đĩa xuất hiện theo thứ tự được chỉ định như /dev/vda, /dev/vdb v.v. và cho phép tôi thử nghiệm các tùy chọn khác nhau một cách dễ dàng. Lần thử đầu tiên bên trong VM đã thành công:

mdadm --create /dev/md0 -f \
   --metadata 1.0 \
   --raid-thiết bị 7 \
   -z $((19531825152/2))K -c 256K \
   -l đột kích5 -p ddf-N-tiếp tục \
   --assume-clean -k resync \
   /dev/vd?

Đối với raid5, kích thước phân vùng là không cần thiết - nếu lớn hơn, GPT của bạn bảng phân vùng bị hỏng và bạn có thêm dữ liệu, nhưng phần còn lại của đĩa vẫn có thể đọc được.

Tôi đã xác minh tính chính xác của dữ liệu bằng cách gắn phân vùng (sẽ không ném lỗi, nhưng có thể thành công ngay cả khi thứ tự sai) và sử dụng chà btrfs, kiểm tra tổng kiểm tra của siêu dữ liệu và khối dữ liệu, đây là thử nghiệm cuối cùng và là điểm cộng chính của btrfs.

Sau đó tôi chạy lại backzp.

Sau đó, tôi đã ghi lại WWN của tất cả các đĩa theo thứ tự, để tôi có thể tạo lại nó với perccli. Tôi cũng đã sao lưu 1GB dữ liệu đầu tiên và cuối cùng của chính âm lượng đó, trong trường hợp bộ điều khiển đột kích sẽ ghi đè lên những âm lượng đó.

Di chuyển âm lượng trở lại bộ điều khiển đột kích

Vì khoảng 14TB dữ liệu không được sao lưu (do dữ liệu có thể bị lấy từ những nơi khác với một số nỗ lực và tôi đã quá thiếu kiên nhẫn để đợi một bản sao), khôi phục hoàn toàn không phải là một tùy chọn mà tôi mong đợi đến, vì vậy tôi đã cố gắng di chuyển mảng trở lại bộ điều khiển.

Nỗ lực đầu tiên của tôi là định dạng mảng dưới dạng vùng chứa DDF bằng lệnh đột kích5 âm lượng bên trong, sử dụng các tham số giống như bộ điều khiển sử dụng, nhưng thật không may, bộ điều khiển megaraid - trong khi sử dụng Bản thân DDF - không hỗ trợ DDF "nước ngoài" để nhập và chỉ hiển thị các đĩa là "tốt chưa được định cấu hình".

Sau đó, tôi đã cố gắng tạo lại mảng chỉ bằng cách thêm lại mảng đó, ví dụ:

perccli /c0 add vd r5 name=XXX drive=3,6,9,1,2,3,0 pdcache=off wb ra strip=256

Thực hiện điều này trên hệ thống đã khởi động với perccli đảm bảo rằng bộ điều khiển đột kích sẽ thực hiện khởi tạo nền, không phá hoại và với RAID5, thậm chí sẽ không hủy dữ liệu khi thứ tự đĩa hoặc kích thước dải bị sai, vì miễn là bạn sử dụng chính xác tất cả các đĩa từ mảng ban đầu theo bất kỳ thứ tự nào, không bỏ sót một đĩa nào hoặc cho quá nhiều đĩa.

Đây là chỗ tôi đã thất bại - bằng cách nào đó, tôi đã hoàn toàn xáo trộn thứ tự các đĩa, và cũng đã làm hỏng 1,5 MB đầu tiên của ổ đĩa. tôi hoàn toàn có không biết đã xảy ra lỗi gì, nhưng tôi đã thử nhiều hoán vị và không thấy dữ liệu chính xác, đến mức tôi nghĩ bộ điều khiển đột kích sẽ bằng cách nào đó sắp xếp lại các đĩa của tôi (nhưng không phải, nó chính xác theo thứ tự như quy định).

Tóm lại, tôi đã gắn lại các đĩa vào HBA và thử và không hiểu được ý nghĩa của nó. Đây là nơi sao lưu ban đầu của tôi có ích: mặc dù tôi đã đánh mất thứ tự các đĩa, nhưng tôi đã xem kỹ bản sao lưu và hạ thấp thứ tự tiềm năng xuống hai hoán vị có thể chỉ bằng cách nhìn chằm chằm vào các kết xuất lục giác. Tạo mảng với mdadm và kiểm tra dữ liệu đã cho tôi thứ tự chính xác.

Sau đó, tôi lại ghi lại thứ tự của các WWN, đính kèm các đĩa vào bộ điều khiển, đã khởi động và đã làm perccli/c0 thêm.... Sau đó tôi đã khôi phục lần đầu tiên 1,5 MB dung lượng (bao gồm phân vùng GPT và nhãn LVM và một số dữ liệu rác cũ còn sót lại rất hữu ích trong quá trình đoán xem thứ tự có thể là). Một mức độ tự tin nhất định trong việc có thể hoàn tác sai lầm là hữu ích trong tình huống này.

Kết quả: mảng đã hoạt động trở lại, btrfs nhất quán và bộ điều khiển hiện đang khởi chạy nền, điều này làm cho toàn bộ hệ thống chậm lại trong vài ngày, nhưng cái giá phải trả không nhỏ.

Những điều đã học

Tôi học được rất nhiều!

  1. Bộ điều khiển perc (và có thể là tất cả bộ điều khiển megaraid) không xử lý được tốt với các sự cố đĩa nhanh và không liên tục thường xuyên - Tôi nghi ngờ việc các đĩa biến mất và quay trở lại nhanh chóng đã gây ra tình trạng chạy đua trong đó bộ điều khiển đang cố ghi cấu hình mới vào các đĩa và chỉ thành công một phần với một số đĩa, cuối cùng chia cuộc đột kích thành hai . Đây rõ ràng là một lỗi phần sụn. Nhưng sau đó, ai có thể mong đợi dây cáp điện bị lỗi ...

  2. mdadm không hữu ích lắm trong việc hiểu hoặc hiển thị các tiêu đề DDF - Tôi chỉ đơn giản là không thể hiểu được dữ liệu được hiển thị và khi tôi phát hiện ra khi tự giải mã các tiêu đề, điều này là do rất nhiều thông tin được mất tích từ --chi tiết--nghiên cứu đầu ra.Nó cũng không hữu ích lắm trong việc thử nghiệm, vì nó từ chối thực hiện lắp ráp chỉ đọc không phá hủy.

  3. bộ điều khiển perc/megaraid sử dụng định dạng SNIA DDF bên trong và đây là một đặc điểm kỹ thuật có thể truy cập công khai, cực kỳ hữu ích, mặc dù cuối cùng tôi đã tìm ra thứ mình cần mà không cần thông tin này.

  4. Có thể đoán đúng thứ tự của các dải đột kích chỉ từ dữ liệu là rất hữu ích. Rác còn sót lại và dữ liệu khác có thể giúp ích cho việc này cũng rất hữu ích. Tôi sẽ cân nhắc viết "đĩa 1", "đĩa 2", v.v. vào các vùng "trống" trong tiêu đề ổ đĩa RAID của tôi kể từ giờ trở đi (có các đoạn dài 0 byte trong 2MB đầu tiên).

  5. Rất dễ bị lừa - tên thiết bị, số thành viên đột kích, WWN, số vị trí, v.v. tất cả đều khác nhau có thể có nghĩa là rất nhiều dữ liệu quản lý, và WWN đã dài và đôi mắt già của tôi không còn tốt nữa. Thêm vào đó, tôi không có đầu óc tổ chức và quá tự tin :/

  6. Tạo và xóa một mảng bằng đĩa có dữ liệu trên đó sẽ không xóa dữ liệu, ít nhất là với RAID5 và sử dụng nền khởi tạo. Khởi tạo tiền cảnh gần như chắc chắn sẽ bằng không các đĩa. Điều đó có nghĩa là bạn có thể tạo và xóa mảng bao nhiêu nhiều lần như bạn muốn mà không gặp rủi ro mất dữ liệu, với một ngoại lệ có thể xảy ra: xóa một mảng đôi khi yêu cầu tùy chọn bắt buộc vì RAID bộ điều khiển cho rằng nó "đang được sử dụng" do nhãn phân vùng hợp lệ. Và điều này có thể loại bỏ nhãn GPT - YMMV và đảm bảo bạn có bản sao lưu của vài megabyte đầu tiên đề phòng.

  7. Perc/megaraid không hiểu các thùng chứa DDF không phải của Dell/megaraid. Tại ít nhất là tôi đã không tìm ra cách làm cho bộ điều khiển của mình chấp nhận DDF do mdadm tạo hộp đựng. Việc có thể định dạng đĩa trong GNU/Linux và di chuyển chúng trở lại bộ điều khiển sẽ giúp ích rất nhiều và sẽ tránh được nhiều giờ đau buồn cho tôi.

Tóm lược

Tôi đã lấy lại mọi thứ mà không cần khôi phục từ bản sao lưu, với chi phí là một thời gian khởi tạo nền chậm vài ngày.Tôi đã viết ra giải pháp của mình ở trên, trong trường hợp một số trong đó có thể hữu ích cho những người khác trong những tình huống tương tự.

Nikita Kipriyanov avatar
lá cờ za
Tuyệt vời! Và rất hữu ích. Tình cờ, tôi đã có kinh nghiệm tạo lại mảng MegaRAID và dữ liệu không bị xóa, nhưng đó là RAID1 hoặc RAID10, mà tôi đã vô tình xóa khỏi HĐH bằng megacli (hệ thống chết ngay lập tức vì nó sống ở đó), sau đó tôi đã ấn tượng với tôi. các đồng nghiệp nhanh như thế nào tôi biến nó trở lại cuộc sống. Tôi vừa tạo lại mảng :). Và, như một lời bình luận, *mdadm ... từ chối thực hiện lắp ráp chỉ đọc không phá hủy* — đây là nơi các lớp phủ phát huy tác dụng và làm cho mọi thứ không bị phá hủy, và vì vậy theo tôi, đây là những điều bắt buộc, vì vậy cũng không có vấn đề gì với mdadm.
Remember Monica avatar
lá cờ ru
Tôi nghĩ các cụ không nên tùy tiện từ chối vì muốn “bảo vệ” người dùng. Bạn có thể có một mức độ bảo vệ, nhưng nên có một tùy chọn bắt buộc nào đó - lvm2 là một ví dụ điển hình: theo mặc định, nó bảo vệ bạn rất tốt trước những sai lầm, nhưng nếu bạn biết mình đang làm gì, bạn có thể thực hiện theo cách của mình. Chắc chắn, định dạng một cuộc đột kích với dữ liệu trên đó được tính là "bạn phải biết mình đang làm gì". Hiển nhiên đó chỉ là ý kiến ​​của tôi thôi.
Điểm:1
lá cờ za

Bạn có thể thử tách tất cả các ổ đĩa khỏi máy chủ đã tắt nguồn, sau đó xóa cả hai nhóm rồi gắn lại các ổ đĩa. Điều đó sẽ đặt lại tất cả các đĩa về trạng thái "nước ngoài". Và sau đó cố gắng nhập tất cả chúng trong một thao tác.

Về nguyên tắc, bộ điều khiển này nên sử dụng định dạng trên đĩa SNIA DDF. HBA (không phải bộ điều khiển RAID) sẽ không diễn giải siêu dữ liệu, cho phép phần mềm truy cập vào siêu dữ liệu. Vì vậy, nếu bạn có thể kết nối nó với máy Linux bằng HBA, nó có thể phát hiện và lắp ráp mảng này bằng MD RAID của nó (Linux có thể hiểu siêu dữ liệu DDF và IMSM ngoài siêu dữ liệu của chính nó), vì vậy ít nhất bạn sẽ có thể truy cập dữ liệu trên đó. Ví dụ: nếu các ổ đĩa này là SATA, bạn chỉ cần kết nối chúng với bo mạch chủ.

Để đề phòng, tôi sẽ kết xuất tất cả các đĩa sử dụng HBA vào một số bộ lưu trữ dự phòng. Chỉ trong trường hợp một cái gì đó đi sai.

Cập nhật: nhìn thấy sự tiến bộ của bạn, tôi có thể đề nghị thêm.

Bạn có thể thử điều chỉnh siêu dữ liệu bằng trình chỉnh sửa hex. Có thể, cần có một cái gì đó như cài đặt thủ công chúng thành cùng một UUID.

Một ý tưởng khác có thể được tạo lại mảng với mdadm --assume-sạch, chỉ ghi siêu dữ liệu và lắp ráp một mảng, nhưng bỏ qua các thành phần lấy về 0.

  • Đầu tiên, đoán đúng thứ tự và bố cục; điều này có thể được suy ra từ siêu dữ liệu hiện tại.
  • Xây dựng các lớp phủ như được mô tả trong wiki, điều này sẽ cấp cho bạn số lần thử vô hạn
  • Khi bạn đã thành công, hãy lặp lại quá trình lắp ráp thành công trên các ổ đĩa, không phải thiết bị lớp phủ

Ngoài ra, trước khi lắp ráp lại, tôi sẽ lấy một bộ ổ đĩa khác (không có dữ liệu quý giá), mô phỏng (cố gắng lặp lại) sự cố với chúng và sau đó cố gắng sửa chữa chúng trước theo các hướng dẫn sau.

Remember Monica avatar
lá cờ ru
Lời khuyên hữu ích - Tôi biết tôi có thể thử khôi phục bằng cách sử dụng mdadm, nhưng tất nhiên, tôi muốn tránh điều này. Tôi đã thử đề xuất của bạn và đã cập nhật câu hỏi của mình - về cơ bản, khi tôi làm như bạn đề xuất, tôi nhận được rất nhiều đĩa nước ngoài mà tôi có thể nhập, sau đó tôi lại có hai cấu hình nước ngoài với đĩa RAID5.
Remember Monica avatar
lá cờ ru
Xin chào! Tôi vừa viết câu trả lời của riêng mình và bây giờ mới thấy bản cập nhật của bạn. Chỉnh sửa hex không hoạt động vì dữ liệu DDF được bảo vệ bằng CRC và tôi không thể sao chép CRC một cách dễ dàng. Ngoài ra, AFAIK, --assume-clean chỉ tránh đồng bộ hóa lại, mdadm không bao giờ có dữ liệu. Tuy nhiên, về bản chất, tôi cũng đã độc lập nghĩ ra phương pháp mà bạn đã đề xuất, với các phương pháp hơi khác nhau (kvm so với lớp phủ, v.v.). Quan trọng nhất, cuối cùng tôi đã giải quyết được một số bí ẩn, ví dụ: perccli thêm/xóa có xóa dữ liệu hay không và hiểu biết của tôi về định dạng megaraid trên đĩa hiện khá tốt :) Dù sao, cảm ơn vì những gợi ý chắc chắn của bạn!

Đă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.