Arızalı sabit sürücüyü fiziksel olarak tanımlayın


25

Diyelim ki sunucunuzda 6 sağlıklı sabit disk var. Bir sürücü hata veriyor (monte etmiyor / algılamıyor, hatayla baskın düşüyor) veya hata veriyor (SMART daha da kötüye gidiyor, vb.). Kötü sürücüyü değiştirmelisin. Çantayı açtığınızda görüyorsunuz .. altı aynı sabit disk.

Hangisinin artık sağlıklı / montaj / çalışmadığını nasıl anlarsınız?

Sistem en basit RAID yazılımını kullanan linux, büyük olasılıkla ubuntu sunucusu olacaktı. Sabit sürücüler SATA olacak ve doğrudan ana karta bağlanacaktı. (baskın denetleyicisi yok)

Doğru olanı seçinceye kadar sürücülerin rasgele bağlantısını kesmek istemiyorum. Tüm sürücüler bana aynı görünüyor; Hangi sürücünün hangisini tanımadığımı belirlemenin yaygın bir yolu olduğunu hayal ediyorum. Herhangi bir işaretçisi / ipucu / en iyi uygulamaları olan var mı? Teşekkürler!

EDIT: Bunun el dalgalı bir şekilde 'genelleştirilmesini' istemiştim, ama sadece 'eksik' ve 'korkunç' olarak ortaya çıktı. Benim hatam!


4
Makineyi kapatmanız ve hangi sabit sürücünün ne olduğunu bulmanız gerekiyorsa, her bir sabit sürücüyü tanımlamak ve bir şekilde etiketlemek için makine kapalıyken zaman ayırmalısınız, böylece bu tekrar olursa, konu.
Roy Rico

2
Bir "RAID (veya her neyse)"? Makine odası içinde bir kullanıcının gevşek gibi geliyor.
romandalar

1
Uygun bir sunucu, hangi sürücünün hatalı sürücünün sürücü hatası göstergesini açarak size bilgi verir.
John Gardeniers

8
Herkes bu işe atlamak için çok hızlı bir insandır ... açıkçası bence iyi bir soru, kendimle uğraşmak zorunda kaldım!
Mark Henderson

2
Merak ediyorum, hobi için, bir şekilde (elinde demir lehimleme ile) sürücü sinyal LED'lerini, fiziksel olarak rasgele bir işletim sistemi içinden (iyi bir sunucu sınıfı disk / basma denetleyicisi olmadığında) tanımlamak için bir yol oluşturmak mümkün olup olmadığını merak ediyorum. sihirlerini yapmaya
hazırlar

Yanıtlar:


26

Bu tam sorunu açıkladığınız gibi bir (kule) sunucuda yaşadım ve kolaydı:

smartctl, sürücünün seri numarasını verir

Satıcılar bazen aynısını yapacak olan hdparm gibi kendi özel araçlarını da gönderiyorlar.

Bu yüzden hatalı sürücünün seri çıkışını yapın ve ardından sürücüyü bulmak için bir dişçi aynası ve bir el feneri kullanın.

Bir rafta genellikle başkalarının söylediği gibi gösterge ışıklarına sahip olursunuz, ama aynı şekilde geçerli olacağını iddia ediyorum.


Boğmaca ... smartctl, hdparm değil, düşündüğüm şeydi. Bunu yansıtmak için cevabımı düzenlemeliyim.
Bart Silverstrim

bana doğru komutu hatırlattığım için :-)
Bart Silverstrim

1
hdparm -i, sürücülerimin seri numaralarını gösteriyor - Bu, satıcıya özel bir yanıt olabilir, ancak
Ian Clelland 22.02'de 10.09

1
mükemmel! Şimdi deneyemem ama cevap bu gibi görünüyor! Şimdi sabit disklerimi, monte edildiklerinde açığa çıkacak bir yerde seri numaralarının son N hanesiyle (bunun her sunucu için benzersiz olduğunu varsayarak) etiketleyeceğim. Ayrıca googling gelen komut "smartctl -i" gibi görünüyor
privatehuff 11:00 09:00

15

Sürücülerin üzerine etiket yapıştırmak (tepsinin tasarımına bağlı olarak) mümkün olmayabilir. Sürücü öldüğü zaman, çıkartmalar kurutulabilir ve düşebilir.

ledctl (ledmon paketinden) gerçekten bununla devam etmenin yoludur.

ledctl locate=/dev/disk/by-id/[drive-id]

veya

ledctl locate=/dev/sda

belirtilen sürücü için sürücünüzdeki arıza ışığı yanacaktır. Sürücüyü NASIL tanımlamanızın bir önemi olmadığını göstermek için iki örnek verdim. Seri, isim vb. Kullanabilirsiniz. Kullanabileceğiniz her türlü bilgiyi kullanabilirsiniz. Sürücüler / dev / ve / dev / disk / path altında birçok yolla belirtilir.

Işığı geri kapatmak için, tekrar konumlandırın, böylece locate_off işlevinin yerini değiştirin:

ledctl locate_off=/dev/sda

6

Genellikle bağlantıların bir şekilde etiketlendiğini ümit etmelisiniz, sonra başarısız cihazın kimliğinden çalışır. Örneğin ... ve biri beni düzeltmek için yorum yapmak zorunda kalacak ... iki IDE kanalınız varsa, her birinde 2 adede kadar sürücünüz varsa, sda, sdb, sdc ve sdd olabilir. Sdd başarısız olursa, ikinci IDE kanalının kablosundaki ikinci sürücü olacaktır.

Eğer SATA ise ve arka odadaki sistem gibi ise portlar sata sürücülerinin her biri için etiketlendi. Yine, sürücü harfleri, sürücüler ne kadar olursa olsun, SATA konektörlerinin 0 numaralı bağlantı noktasından başlayarak yukarı doğru hareket eder.

Herhangi bir üretim farklılığı varsa, dmesg | grep sd veya dmesg | grep hd bazı ipuçları vermelidir.

Kullanılabilir seri numaralarınız varsa, hdparm komutunun size yazılımda verebileceğini ve böylece bu şekilde izleyebileceğinizi düşünüyorum. Bu durumda sürücüleri bir yerde etiketlemek isteyebilirsiniz, bu yüzden bir sorun bulduğunuzda endişelenmenize gerek kalmaz.

... RAID ... yanık ışıkların yerine donanım RAID'i tercih etmenin başka bir nedeni olduğunu biliyordum. Gerçekten parıldayan ışıklar gibi.

EDIT: smartctl, hdparm değil, seri numarasını verir. Benim hatam.



3

Bazı sürücüler /sys, konumlandırma gösterge ışığını açmak için 1 veya kapalı konuma getirmek için ekleyebileceğiniz bir konumlandırma "dosyası" gösterir .

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done

Bunun hakkında hiçbir fikrim yoktu! Bu harika!
diq

2

Altı dahili HDDS? Harici, çalışırken değiştirilebilir sürücülerse, çalışırken değiştirilebilir taşıyıcı, hatalı sürücüyü tanımlamanıza yardımcı olacak bir hata ışığına sahiptir. Ayrıca birçok Raid yönetim programı, hangisinin hangisi olduğunu belirlemek için belirli bir sürücüdeki ışığı yakma seçeneğine sahiptir. Hepsi ışıksız dahili ise, o zaman RAID yazılımınıza düşersiniz, size hangi ID'lerin iyi olduğunu ve bunu çözmek için SCSI ID'lerine vb. Bakarsınız. Otomatik olarak ayarlanmışsa, RAID denetleyici belgeniz, size SCSI zincirinde hangi numaraların atandığını söyleyecektir. İyi şanslar. İşler devam ederken şimdi yedek alın!


2

En azından size hatalı sürücüyü anlatan RAID yazılımı / denetleyicisi, hangi sürücünün başarısız olduğunu söyleyecektir (kimlik numarası). 0 genellikle sol üstte, aşağı ve sonra sağa doğru hareket eder (iki veya daha fazla sütundaysa). Bağlantı noktaları muhtemelen etiketli.


2

Kısa cevap için - "lsscsi" Detaylı cevap için - "lshw -c disk" size bağlananların HDD ve SATA portlarını gösterecektir.


2

Yerleştirme ışığınız yoksa ve sürücülerin dışındaki seri numaralarını kolayca bulamıyorsanız, bazen bu peynirli teknik yardımcı olabilir: bu sürücüde bir LOT etkinlik oluşturup ardından etkinlik ışığı sabit olarak yanarken sürücüyü arayın . Seri numarasının daha ayrıntılı bir kontrolüyle takip etmek en iyisidir, ancak bu aramayı daraltmaya yardımcı olabilir.

Örneğin:

# while true; do dd if=/dev/disk/by-id/scsi-drive-that-is-dying of=/dev/null; sleep 1; done

(While döngüsü teknik olarak gerekli değildir, ancak veri merkezine giderken hareketleri sürdürür. "Uyku 1", "dd" ifadesinin başarısız olması durumunda hızlı bir döngü tarafından oluşturulan yüksek CPU kullanımından kaçınılmasına yardımcı olur. sürücünün bağlantısı kesiliyor.)


1

Her şey başarısız olduğunda, arızalı olmayan sürücüleri tanımlayabilir ve geriye doğru çalışabilirsiniz.

find / -type f -exec cat {} \; >> /dev/null

Hangi sürücü ışıkları yanmıyorsa YAPMAYIN, muhtemelen kötüdür (ve umarım sadece birdir.) Yapılandırılmış yedek parça varsa, bunların da yanmayacağını unutmayın.


0

Şaside etiketlenmeli ve RAID Yazılımına uygun olmalıdırlar.

Dells'de, düşündüğün gibi değil. Bizimkilerde 0: 0 sol alt, 0: 1 sol üst, 0: 2 orta alt, vb. Kullandığım tüm sunucularda (ev yapımı işler hariç), RAID yazılımı bağlantı noktasını gösterecek ve bu etiketli.


0

scsirastools , SCSI disklerinde çeşitli tanısal testler yapmanızı sağlayan bir dizi araca sahiptir. Yazılım kontrolü altındaki bir diski kapatmak için sgmon'u da kullanabilirsiniz. Bu, en azından tanılama ile bulabileceğiniz fiziksel diski tanımlamanıza izin verir.

Bir donanım RAID denetleyiciniz varsa, denetleyicinin BIOS veya yönetim yazılımı, hatalı diskleri tanımlamanıza olanak sağlayan bir donanıma sahip olmalıdır.

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.