次のkern.log
スニペットを検討してください。
ata4.00: failed command: WRITE FPDMA QUEUED
ata4.00: cmd 61/00:78:40:1e:6c/04:00:f0:00:00/40 tag 15 ncq 524288 out
res 41/04:00:00:00:00/04:00:00:00:00/00 Emask 0x1 (device error)
ata4.00: status: { DRDY ERR }
ata4.00: error: { ABRT }
ata4: hard resetting link
ata4: nv: skipping hardreset on occupied port
ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata4.00: configured for UDMA/133
ata4: EH complete
カーネルが実際にどのハードドライブを参照しているかをどのように確認できますかata4.00
?
その/dev/sdY
デバイス名を見つけるには?
ベストアンサー1
対応する/ dev / sdYデバイスはツリーを参照して見つけることができます/sys
。
$ find /sys/devices | grep '/ata[0-9]\+/.*/block/s[^/]\+$' \
| sed 's@^.\+/\(ata[0-9]\+\)/.\+/block/\(.\+\)$@\1 => /dev/\2@'
より効率的な/sys
巡回を通して(参照lsata.sh):
$ echo /sys/class/ata_port/ata*/../../host*/target*/*/block/s* | tr ' ' '\n' \
| awk -F/ '{printf("%s => /dev/%s\n", $5, $NF)}'
2ディスクシステムのサンプル出力:
ata1 => /dev/sda
ata2 => /dev/sdb
その後、物理ハードウェアを確実に識別するには、/ dev / sdYをシリアル番号にマップする必要があります。例:
$ ls /dev/disk/by-id -l | grep 'ata.*sd[a-zA-Z]$'
LSSCI
このlssci
ユーティリティは、マッピングのエクスポートにも使用できます。
$ lsscsi | sed 's@^\[\([^:]\+\).\+\(/dev/.\+\)$@\1,\2@' \
| awk -F, '{ printf("ata%d => %s\n", $1+1, $2) }'
関連するlsscsi列挙は0から始まり、ata列挙は0から始まります。
システムログ
他の方法がない場合は、システムログ/ログを確認してマッピングをエクスポートできます。
デバイスは、/dev/sdY
ataX識別子がリストされている順序と同じ順序で作成され、kern.log
非ディスクデバイス(ATAPI)と未接続リンクは無視されます。
したがって、次のコマンドはマッピングを表示します。
$ grep '^May 28 2' /var/log/kern.log.0 | \
grep 'ata[0-9]\+.[0-9][0-9]: ATA-' | \
sed 's/^.*\] ata//' | \
sort -n | sed 's/:.*//' | \
awk ' { a="ata" $1; printf("%10s is /dev/sd%c\n", a, 96+NR); }'
ata1.00 is /dev/sda
ata3.00 is /dev/sdb
ata5.00 is /dev/sdc
ata7.00 is /dev/sdd
ata8.00 is /dev/sde
ata10.00 is /dev/sdf
(上記のログメッセージは他のシステムで発生したものなので、ata4は表示されません。)
スタートメッセージが循環したため、/var/log/kern.log.0
代わりに使用しています。これが最後のブート時間であり、前のメッセージを無視したいので、/var/log/kern.log
grepを実行します。May 28 2
マッピングを確認するには、次の出力を表示していくつかのチェックを実行できます。
$ grep '^May 28 2' /var/log/kern.log.0 | \
grep 'ata[0-9]\+.[0-9][0-9]: ATA-'
May 28 20:43:26 hn kernel: [ 1.260488] ata1.00: ATA-7: SAMSUNG SV0802N, max UDMA/100
May 28 20:43:26 hn kernel: [ 1.676400] ata5.00: ATA-5: ST380021A, 3.19, max UDMA/10
[..]
この出力を次の出力とhdparm
比較できます。
$ hdparm -i /dev/sda
/dev/sda:
Model=SAMSUNG SV0802N [..]
(カーネル2.6.32-31を使用)