“E” durumunda sürücü ile Synology NAS üzerinde bir mdadm dizisi nasıl kurtarılır?


12

Synology'nin özelleştirilmiş bir sürümü olan md sürücüsü ve mdadm araç setleri, çekirdekteki rdev-> flags yapısına bir 'DriveError' bayrağı ekler.

Net etki - bir dizi hatası (ilk sürücü) almak için yeterince talihsizseniz, ikinci bir sürücüdeki bir hatayla birlikte - dizi, sürücüden okumalar çalışıyor olsa bile diziyi onarmanıza / yeniden yapılandırmanıza izin vermeme durumuna girer ince.

Bu noktada, bu soru hakkında bu dizinin bakış açısından gerçekten endişelenmiyorum, çünkü zaten içeriği çıkardım ve yeniden yapılandırmak niyetindeyim, ancak gelecekte bunun için bir çözüm yolu olmasını istemekten daha fazlası , ikinci kez geldiğim için ve forumlarda benzer sorular sorduğunu başkalarının gördüğümü biliyorum.

Synology desteği yardımcı olmaktan daha az yardımcı olmuştur (ve çoğunlukla yanıt vermemektedir) ve kutudaki raids kümeleriyle ilgili herhangi bir bilgiyi ALL ALL'da paylaşmayacaktır.

/ Proc / mdstat içeriği:

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>

MDDM --Detay / Dev / MD2'den Durum:

/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

Gördüğünüz gibi - / dev / sda5 diziye yeniden eklendi. (Bu tamamen başarısız olan sürücüydü) - ancak md sürücüyü yedek olarak görse bile, yeniden oluşturulmaz. / dev / sde5 bu durumda (E) DiskError durumundaki sorunlu sürücüdür.

MD cihazını durdurmayı, çalıştırma kuvvetlerini yeniden birleştirmeyi, sda5'i cihazdan / vb. Davranışta değişiklik yok.

Aşağıdaki komutla diziyi tamamen yeniden oluşturabildim:

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

diziyi bu duruma geri getirdi:

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]

Sonra / dev / sda5'i yeniden ekledim:

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

bundan sonra yeniden inşa etmeye başladı:

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

"Eksik" sürücünün eksik yuvanın tam konumuyla eşleştiğine dikkat edin.

Bu bittiğinde, muhtemelen şüpheli sürücüyü çekeceğim ve yeniden oluşturmasını düşünüyorum.

Ben bu onarım yapmak için herhangi bir "daha az korkutucu" yolu olup olmadığını veya herkes bir Synology dizi ile bu deneyimi geçti ve md cihazını çevrimdışı almak dışında yeniden oluşturmak için zorlamak bilir ve herhangi bir öneri arıyorum ve dizi sıfırdan yeniden.


Kendimi benzer bir durumda buluyorum. Bunu başarıyla çözdün mü?
dvorak

Evet, yukarıdaki adımları izleyerek diziyi yeniden oluşturmayı başardım. Ben temizleme ve R5 yerine R6 değiştirerek takip ettim - çünkü bu noktada, ben başarısız birden fazla sürücüye tolere emin olmak istedim Synology "bütün dizi tank" davranışı ile ciddi mutsuzum ". Bizim durumumuzda, "aksaklık" hatası olan ikinci sürücü, tek bir sorun bile olmadan genişletilmiş akıllı testleri geçti.
Nathan Neulinger

Yardımcı rehber için teşekkürler. Bütün bunlarla uğraşmaktan pek emin değilim, baskın uzmanı değilim. Şimdi aynı sorunla karşı karşıyayım ama benim durumumda, tek bir disk RAID 1 dizisi (/ dev / md3) ile / dev / sde3 korkunç [E] ile işaretlenmiş var. Benim yaptığınız gibi aynı adımları izlemem mümkün olmalı, ama dizinin tek diski olduğu için ne yapacağını bilmiyorum ;-). Her neyse mdadm --stop / dev / md3 komutu başarısız olur (Aygıt veya kaynak meşgul). Sanırım Google'ı biraz daha
uzatacağım

Diziyi durduramıyorsanız, bir şey kullanıyor gibi geliyor - yani bağlanmış veya o aygıta karşı çalışan başka bir görev var.
Nathan Neulinger

2
Neyse ki benim için Synology sorunu çözmeme yardımcı oldu. Bana çalıştırdıkları komutları sağlayacak kadar naziktiler. Başka birinin bu sorunla karşılaşması durumunda bilgileri bloguma koydum: dsebastien.net/2015/05/19/…
dSebastien

Yanıtlar:


3

Sadece aynı sorunu yaşadıktan sonra bulduğum çözüme bir ek. Dizinin nasıl yeniden oluşturulacağına dair dSebastien'in blog gönderisini takip ettim :

Diziyi yeniden oluşturma yönteminin yukarıdaki yöntemden daha iyi çalıştığını gördüm. Ancak diziyi yeniden oluşturduktan sonra birim web arayüzünde görünmüyordu. Hiçbir LUN'um gösterilmiyordu. Temelde yapılandırılmış hiçbir şeyi olmayan yeni bir dizi gösteriliyor. Synology desteğiyle iletişime geçtim ve sorunu düzeltmek için uzak durdular. Ne yazık ki, ben konsoldan uzaktayken uzak durdular. Ancak oturumu yakalamayı başardım ve yaptıklarını inceledim. Verilerimin bir kısmını kurtarmaya çalışırken, sürücü tekrar çöktü ve aynı duruma geri döndüm. Diziyi dSebastien blogunda olduğu gibi yeniden oluşturdum ve güncellemelerini gerçekleştirmek için synology oturumuna baktım. Aşağıdaki komutları çalıştırdıktan sonra, dizim ve LUN'lar web arayüzünde göründü ve onlarla çalışabildim. Linux'ta neredeyse sıfır deneyimim var, ancak bunlar benim durumumda gerçekleştirdiğim komutlardı. Umarım bu başka birine yardımcı olabilir, ancak lütfen bunu kendi sorumluluğunuzda kullanın. Synology desteğiyle iletişim kurmak ve bunları sizin için düzeltmelerini sağlamak en iyisi olacaktır, çünkü bu durum sizinkinden farklı olabilir

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

Başka bir ek: Tek disk / RAID düzey 0 cihazımla çok benzer bir sorunla karşılaştım.

Synology desteği çok yardımcı oldu ve cihazımı geri yükledi. İşte olanlar, umarım bu başkalarına yardımcı olur:

Diskim belirli bir blokta okuma hataları vardı, sistem günlüğündeki ( dmesg) mesajlar şunlardı:

[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

Birkaç saniye sonra Volume 1 has crashedcihazımdan korkunç postaları aldım.

- Feragatname: Cihaz adını sizin adınıza değiştirdiğinizden emin olun ve bu komutları kopyalayıp yapıştırmayın, çünkü bu işleri daha da kötüleştirebilir! -

Smb durdurduktan sonra ben sadece okuma bölümü yeniden monte ve badblocks check ( -c) ile e2fsk çalıştırmak başardı :

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

(bu da e2fsck -C 0 -p -v -f -c /dev/md2benim durumumda işe yaramadı, ancak hataları el ile düzeltilmesi gerektiğinden, mümkün olduğunca katılımsız çalıştırmak için kullanabilirsiniz . Bu yüzden e2fsck yeniden başlatmak zorunda kaldı. Sonuç: -p pek mantıklı değil disk hatası durumunda)

E2fsck hataları düzeltebilmiş olsa da ve smartctl ayrıca Raw_Read_Error_Rate'de daha fazla artış göstermese de, birim yine de okuma yazma modunda cihaz tarafından bağlanmaz. DSM hâlâ "birim çöktü"

Bu yüzden destekli bir bilet açtım. İlk önce işlerin başlaması biraz zaman aldı, ancak sonunda RAID dizisini şu şekilde yeniden oluşturarak çözdüler:

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

Herhangi bir şey yapmadan önce cihaz adlarınızı ( /dev/mdXve /dev/sdaX) kontrol ettiğinizden emin olun . cat /proc/mdstatilgili bilgileri gösterecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.