ドライブが故障し始めており、/dev/sdb
デバイスファイルの指定によってのみデバイスを知っています。そのデバイスファイルを実際のハードウェアデバイスに関連付けて、どのドライブを物理的に交換するかを知るために使用できる方法は何ですか?
ボーナス:/dev/disk/
このインストールにサブディレクトリがない場合はどうなりますか?(悲しいことに、私はしません)
/dev/disk/
ディレクトリがない場合は、おそらくudevがないでしょう。
ドライブが故障し始めており、/dev/sdb
デバイスファイルの指定によってのみデバイスを知っています。そのデバイスファイルを実際のハードウェアデバイスに関連付けて、どのドライブを物理的に交換するかを知るために使用できる方法は何ですか?
ボーナス:/dev/disk/
このインストールにサブディレクトリがない場合はどうなりますか?(悲しいことに、私はしません)
/dev/disk/
ディレクトリがない場合は、おそらくudevがないでしょう。
回答:
あなたが見ることができます/sys/block
:
-bash-3.2$ ls -ld /sys/block/sd*/device
lrwxrwxrwx 1 root root 0 Jun 8 21:09 /sys/block/sda/device -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0
lrwxrwxrwx 1 root root 0 Jun 8 21:10 /sys/block/sdb/device -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0
lrwxrwxrwx 1 root root 0 Jun 8 21:10 /sys/block/sdc/device -> ../../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0
lrwxrwxrwx 1 root root 0 Jun 8 21:10 /sys/block/sdd/device -> ../../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0
または、お持ちでない場合は/sys
、次をご覧ください/proc/scsi/scsi
。
-bash-3.2$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST31000340AS Rev: SD1A
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
Vendor: PepperC Model: Virtual Disc 1 Rev: 0.01
Type: CD-ROM ANSI SCSI revision: 03
/sys/
(同様に/proc/
)たくさんの素晴らしい情報があります。まだ消費しています。
ドライブのLEDを見ることができるか、ディスクノイズを聞くことができる場合、実行できます
sudo cat /dev/sdb >/dev/null
どのドライブが突然連続的にアクティブになるかを確認します。または、騒音で行く場合は、
sudo find /mount/point >/dev/null
これにより、ヘッドがさらに移動します(障害が発生したディスクでは移動せず、代わりに他のディスクで消去プロセスを使用する方が良い場合があります)。
dd
通常、このトリックは十分に機能します。
dd
ここで(またはほとんどの状況で)使用する必要cat
はありません。または、ファイルから読み取る他のプログラムで使用する必要はありません。
これがLinuxであると仮定すると、最も明白なことは、カーネルが最初にデバイスを初期化する場所についてdmesgをチェックすることです。ドライブモデルを記録します。
4つの方法があります。最初のものが最も簡単です:
dmesg | egrep "sd[a-z]"
他の人にとっては、これを除いて/ dev / diskが必要かどうかわかりません:
ls -lF /dev/disk/by-uuid
他人:
blkid -o list -c /dev/null
そして明らかなこと:
fdisk -l