Làm cách nào để khôi phục một mảng mdadm trên Synology NAS với ổ đĩa ở trạng thái E E trộm?


12

Synology có phiên bản tùy biến trình điều khiển md và bộ công cụ mdadm có thêm cờ 'DriveError' vào cấu trúc cờ ndev-> trong kernel.

Hiệu ứng ròng - nếu bạn không may gặp phải lỗi mảng (ổ đĩa thứ nhất), kết hợp với lỗi trên ổ đĩa thứ hai - mảng sẽ rơi vào trạng thái không cho phép bạn sửa chữa / xây dựng lại mảng mặc dù các lần đọc từ ổ đĩa đang hoạt động khỏe.

Tại thời điểm này, tôi không thực sự lo lắng về câu hỏi này từ quan điểm của mảng NÀY, vì tôi đã gỡ bỏ nội dung và đang có ý định xây dựng lại, nhưng nhiều hơn là muốn có một đường dẫn giải quyết cho vấn đề này trong tương lai , vì đây là lần thứ hai tôi bị nó cắn, và tôi biết tôi đã thấy những người khác hỏi những câu hỏi tương tự trên các diễn đàn.

Hỗ trợ Synology ít hữu ích hơn (và chủ yếu là không phản hồi) và sẽ không chia sẻ bất kỳ thông tin nào TẠI TẤT CẢ về việc xử lý các cuộc đột kích trên hộp.

Nội dung của / Proc / mdstat:

ds1512-ent> cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md2 : active raid5 sdb5[1] sda5[5](S) sde5[4](E) sdd5[3] sdc5[2]
      11702126592 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/4] [_UUUE]

md1 : active raid1 sdb2[1] sdd2[3] sdc2[2] sde2[4] sda2[0]
      2097088 blocks [5/5] [UUUUU]

md0 : active raid1 sdb1[1] sdd1[3] sdc1[2] sde1[4] sda1[0]
      2490176 blocks [5/5] [UUUUU]

unused devices: <none>

Trạng thái từ mdadm --detail / dev / md2:

/dev/md2:
        Version : 1.2
  Creation Time : Tue Aug  7 18:51:30 2012
     Raid Level : raid5
     Array Size : 11702126592 (11160.02 GiB 11982.98 GB)
  Used Dev Size : 2925531648 (2790.00 GiB 2995.74 GB)
   Raid Devices : 5
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Fri Jan 17 20:48:12 2014
          State : clean, degraded
 Active Devices : 4
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

           Name : MyStorage:2
           UUID : cbfdc4d8:3b78a6dd:49991e1a:2c2dc81f
         Events : 427234

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       21        1      active sync   /dev/sdb5
       2       8       37        2      active sync   /dev/sdc5
       3       8       53        3      active sync   /dev/sdd5
       4       8       69        4      active sync   /dev/sde5

       5       8        5        -      spare   /dev/sda5

Như bạn có thể thấy - / dev / sda5 đã được thêm lại vào mảng. (Đó là ổ đĩa hoàn toàn thất bại) - nhưng mặc dù md coi ổ đĩa là phụ tùng, nó sẽ không được xây dựng lại cho nó. / dev / sde5 trong trường hợp này là ổ đĩa có vấn đề với trạng thái (E) DiskError.

Tôi đã thử dừng thiết bị md, chạy lại lực lượng, loại bỏ / readding sda5 khỏi thiết bị / vv. Không thay đổi hành vi.

Tôi đã có thể tạo lại hoàn toàn mảng bằng lệnh sau:

mdadm --stop /dev/md2
mdadm --verbose \
   --create /dev/md2 --chunk=64 --level=5 \
   --raid-devices=5 missing /dev/sdb5 /dev/sdc5 /dev/sdd5 /dev/sde5

Điều này đã đưa mảng trở lại trạng thái này:

md2 : active raid5 sde5[4] sdd5[3] sdc5[2] sdb5[1]
      11702126592 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/4] [_UUUU]

Sau đó tôi đã thêm lại / dev / sda5:

mdadm --manage /dev/md2 --add /dev/sda5

sau đó nó bắt đầu xây dựng lại:

md2 : active raid5 sda5[5] sde5[4] sdd5[3] sdc5[2] sdb5[1]
      11702126592 blocks super 1.2 level 5, 64k chunk, algorithm 2 [5/4] [_UUUU]
      [>....................]  recovery =  0.1% (4569508/2925531648) finish=908.3min speed=53595K/sec

Lưu ý vị trí của ổ "thiếu" khớp với vị trí chính xác của khe bị thiếu.

Khi điều này kết thúc, tôi nghĩ có lẽ tôi sẽ kéo ổ đĩa nghi vấn và xây dựng lại.

Tôi đang tìm kiếm bất kỳ đề xuất nào về việc có cách nào "ít đáng sợ" hơn để thực hiện việc sửa chữa này không - hoặc nếu có ai đã trải qua trải nghiệm này với mảng Synology và biết cách buộc nó xây dựng lại ngoài việc lấy thiết bị md ngoại tuyến và tái tạo mảng từ đầu.


Tôi thấy mình trong một tình huống tương tự. Bạn đã giải quyết điều này thành công?
dvorak

Có, tôi đã có thể được xây dựng lại mảng theo các bước trên. Mặc dù vậy, tôi đã theo dõi với việc xóa và thay đổi từ R5 sang R6 - vì tại thời điểm này, tôi thực sự không hài lòng với hành vi "tank toàn bộ mảng" của Synology mà tôi muốn đảm bảo chịu đựng nhiều hơn một ổ đĩa " ". Trong trường hợp của chúng tôi, ổ đĩa thứ hai có lỗi "trục trặc" đã vượt qua các bài kiểm tra thông minh mở rộng mà không gặp sự cố nào.
Nathan Neulinger

Cảm ơn đã hướng dẫn hữu ích. Tôi không quá tự tin loay hoay với tất cả những điều này, tôi không phải là chuyên gia đột kích. Bây giờ tôi phải đối mặt với cùng một vấn đề nhưng trong trường hợp của tôi, tôi có một mảng RAID 1 đĩa đơn (/ dev / md3) với / dev / sde3 được đánh dấu bằng [E] đáng sợ. Tôi giả sử rằng tôi có thể làm theo các bước giống như bạn đã làm, nhưng vì đó là đĩa đơn của mảng nên tôi không biết nó sẽ làm gì ;-). Dù sao thì lệnh mdadm --stop / dev / md3 không thành công (Thiết bị hoặc tài nguyên bận). Tôi đoán tôi sẽ Google lâu hơn một chút .. =)
dSebastien 17/05/2015

Nếu bạn không thể dừng mảng, âm thanh như có thứ gì đó đang sử dụng - nghĩa là nó được gắn hoặc có một số tác vụ khác chạy trên thiết bị đó.
Nathan Neulinger

2
May mắn cho tôi Synology đã giúp tôi khắc phục vấn đề. Họ đủ tử tế để cung cấp cho tôi các lệnh họ đã chạy. Tôi đã đưa thông tin lên blog của mình trong trường hợp có người khác gặp phải vấn đề này: dsebastien.net/2015/05/19/ mẹo
dSebastien

Câu trả lời:


3

Chỉ là một bổ sung cho giải pháp mà tôi tìm thấy sau khi tôi gặp vấn đề tương tự. Tôi đã theo dõi bài đăng trên blog của dSebastien về cách tạo lại mảng:

Tôi thấy rằng phương pháp tạo lại mảng hoạt động tốt hơn phương thức trên. Tuy nhiên, sau khi tạo lại mảng, âm lượng vẫn không hiển thị trên giao diện web. Không ai trong số LUN của tôi được hiển thị. Về cơ bản hiển thị một mảng mới không có cấu hình. Tôi đã liên hệ với bộ phận hỗ trợ của Synology và họ đã từ chối để khắc phục sự cố. Thật không may, họ từ xa trong khi tôi rời khỏi bàn điều khiển. Tôi đã cố gắng để nắm bắt phiên mặc dù, và xem qua những gì họ đã làm. Trong khi cố gắng khôi phục một số dữ liệu của mình, ổ đĩa lại bị hỏng và tôi đã quay lại tình huống tương tự. Tôi đã tạo lại mảng như trong blog của dSebastien và sau đó xem qua phiên synology để thực hiện cập nhật của họ. Sau khi chạy các lệnh dưới đây, mảng và LUN của tôi xuất hiện trên giao diện web và tôi đã có thể làm việc với chúng. Tôi thực tế không có kinh nghiệm trong linux, nhưng đây là những lệnh tôi đã thực hiện trong tình huống của mình. Hy vọng điều này có thể giúp đỡ người khác, nhưng xin vui lòng sử dụng điều này có nguy cơ của riêng bạn. Tốt nhất là liên hệ với bộ phận hỗ trợ của Synology và nhờ họ sửa lỗi này cho bạn, vì tình huống này có thể khác với bạn

DiskStation> synocheckiscsitrg
synocheckiscsitrg: Pass 

DiskStation> synocheckshare
synocheckshare: Pass SYNOICheckShare()
synocheckshare: Pass SYNOICheckShareExt()
synocheckshare: Pass SYNOICheckServiceLink()
synocheckshare: Pass SYNOICheckAutoDecrypt()
synocheckshare: Pass SYNOIServiceShareEnableDefaultDS()

DiskStation> spacetool --synoblock-enum
****** Syno-Block of /dev/sda ******
//I've removed the output. This should display info about each disk in your array

DiskStation> vgchange -ay
  # logical volume(s) in volume group "vg1" now active

DiskStation> dd if=/dev/vg1/syno_vg_reserved_area of=/root/reserved_area.img
24576+0 records in
24576+0 records out

DiskStation> synospace --map_file -d
Success to dump space info into '/etc/space,/tmp/space'

DiskStation> synocheckshare
synocheckshare: Pass SYNOICheckShare()
synocheckshare: Pass SYNOICheckShareExt()
synocheckshare: Pass SYNOICheckServiceLink()
synocheckshare: Pass SYNOICheckAutoDecrypt()
synocheckshare: Pass SYNOIServiceShareEnableDefaultDS()

DiskStation> synocheckiscsitrg
synocheckiscsitrg: Not Pass, # conflict 

DiskStation> synocheckiscsitrg
synocheckiscsitrg: Pass 

1

Một sự bổ sung khác: Tôi đã gặp phải một vấn đề rất giống với thiết bị cấp 0 một đĩa / RAID.

Hỗ trợ Synology rất hữu ích và khôi phục thiết bị của tôi. Đây là những gì đã xảy ra, hy vọng điều này sẽ giúp những người khác:

Đĩa của tôi đã đọc lỗi trên một khối cụ thể, các thông báo trong nhật ký hệ thống ( dmesg) là:

[4421039.097278] ata1.00: read unc at 105370360
[4421039.101579] lba 105370360 start 9437184 end 5860528064
[4421039.106917] sda3 auto_remap 0
[4421039.110097] ata1.00: exception Emask 0x0 SAct 0x2 SErr 0x0 action 0x6
[4421039.116744] ata1.00: edma_err_cause=00000084 pp_flags=00000003, dev error, EDMA self-disable
[4421039.125410] ata1.00: failed command: READ FPDMA QUEUED
[4421039.130767] ata1.00: cmd 60/00:08:b8:d2:47/02:00:06:00:00/40 tag 1 ncq 262144 in
[4421039.130772]          res 41/40:00:f8:d2:47/00:00:06:00:00/40 Emask 0x409 (media error) <F>
[4421039.146855] ata1.00: status: { DRDY ERR }
[4421039.151064] ata1.00: error: { UNC }
[4421039.154758] ata1: hard resetting link
[4421039.667234] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl F300)
[4421039.887286] ata1.00: configured for UDMA/133
[4421039.891777] ata1: UNC RTF LBA Restored
[4421039.895745] ata1: EH complete

Vài giây sau tôi nhận được Volume 1 has crashedthư khủng khiếp từ thiết bị của mình.

- Tuyên bố miễn trừ trách nhiệm: Đảm bảo thay thế tên thiết bị bằng tên của bạn và không chỉ đơn giản là sao chép và dán các lệnh này, vì điều này có thể khiến mọi việc tồi tệ hơn! -

Sau khi dừng smb, tôi đã có thể gắn lại phân vùng chỉ đọc và chạy e2fsk với badblocks check ( -c):

umount /dev/md2
e2fsck -C 0 -v -f -c /dev/md2

(người ta cũng có thể sử dụng e2fsck -C 0 -p -v -f -c /dev/md2để chạy càng ít càng tốt, mặc dù điều này không xảy ra trong trường hợp của tôi, vì các lỗi phải được sửa bằng tay. Vì vậy, tôi phải khởi động lại e2fsck. Conclusio: -p không có ý nghĩa gì trong trường hợp lỗi đĩa)

Mặc dù e2fsck đã có thể sửa lỗi và smartctl cũng không cho thấy sự tăng thêm của Raw_Read_Error_Rate, âm lượng vẫn không thể cài đặt ở chế độ đọc-ghi của thiết bị. DSM vẫn cho thấy "khối lượng bị rơi"

Vì vậy, tôi đã mở một vé với sự hỗ trợ. Phải mất khá nhiều thời gian để mọi thứ diễn ra trước tiên, nhưng cuối cùng họ đã sửa nó bằng cách xây dựng lại mảng RAID với:

synospace --stop-all-spaces
syno_poweroff_task -d 
mdadm -Sf /dev/md2
mdadm -AfR /dev/md2 /dev/sda3

Hãy chắc chắn kiểm tra tên thiết bị của bạn ( /dev/mdX/dev/sdaX) trước khi làm bất cứ điều gì. cat /proc/mdstatsẽ hiển thị các thông tin liên quan.

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.