Bagaimana cara mengaitkan nama perangkat linux scsi dengan perangkat disk?


3

Saya memiliki server CentOS 4.x yang menjalankan serangan perangkat lunak. Server memiliki dua disk scsi dalam nampan hot-swap. mdadm melaporkan bahwa serangan itu gagal, jadi saya ingin menggantinya.

Saya memeriksa / proc / mdstat, yang memberitahu saya dua perangkat raid saya memiliki komponen pada disk sda dan sdb. Ini juga memberitahu saya bahwa sdb adalah yang gagal.

Saya memeriksa / proc / scsi / scsi, yang memberitahu saya bahwa saya memiliki dua perangkat fisik, di ID SCSI 0 0 0 0 dan 0-0-1-0.

Karena saya ingin melakukan perubahan panas, saya menganggap bahwa sdb adalah 0-0-1-0. Jadi saya katakan:

# echo "scsi remove-single-device 0 0 1 0" > /proc/scsi/scsi

... dan komputer muntah karena sda baru saja dihapus, meninggalkan sistem tanpa drive yang valid.

Sekarang setelah refleksi, cara saya masuk ke kekacauan ini adalah terakhir kali drive gagal, itu sda / 0-0-0-0, dan saya melakukannya dengan cara jadul - hentikan komputer, lepaskan drive yang mati , lalu boot dari korban di slotnya yang lama. Ini meninggalkan saya dengan komputer yang berpikir bahwa sda adalah 0-0-1-0. Saya kemudian mendapatkan dan memasukkan, panas, pengganti, dan menambahkannya seperti ini:

# echo "scsi add-single-device 0 0 0 0" > /proc/scsi/scsi

... yang berfungsi, yang berarti saya dapat menerapkan label disk, partisi, dan merekonstruksi array serangan saya. Ini juga berarti bahwa komputer berpikir bahwa sdb adalah 0-0-0-0. Sekarang sdb mati lagi (350 hari kemudian, tapi itu masalah lain) dan saya sudah lupa semua ini.

Begitu. Dengan asumsi bahwa baik ingatan saya dan keterampilan penyimpanan catatan saya tidak memadai untuk mengingatkan saya bahwa ini telah terjadi, adakah cara di masa depan saya dapat membandingkan nama perangkat scsi (0-0- $ n-0) dan menghubungkannya dengan perangkat bernama (sd $ x)?

Jawaban:


5

Anda bisa melihat /sys/block/sda/device, which will have a symlink starting with scsi_device that identifies the device:

$ ls -d /sys/block/sda/device/scsi_device*
/sys/block/sda/device/scsi_device:0:0:0:0

Or you can look in /sys/bus/scsi/devices:

$ ls /sys/bus/scsi/devices/
0:0:0:0  1:0:0:0  2:0:0:0  3:0:0:0  7:0:0:0  8:0:0:0

Each entry here represents a SCSI device. Inside each directory is a symlink starting with block: that identifies the corresponding block device:

$ ls -d /sys/bus/scsi/devices/0\:0\:0\:0/block*
/sys/bus/scsi/devices/0:0:0:0/block:sda

CentOS 4.x tidak memiliki file / sys / blocl / sd? / Device / scsi_device *. Tetapi ia mengisi / sys / bus / scsi / devices / 0 \: 0 \:? \: 0 / blok dengan benar. Terima kasih.
David Mackintosh
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.