Besorgen Sie sich zunächst die SCSI-Geräteinformationen.
[root@server2 ~]# lsscsi [2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda [4:0:0:0] cd/dvd NECVMWar VMware SATA CD01 1.00 /dev/sr0
Einige Betriebssysteme verfügen nicht über den Befehl lsscsi. Sie können die folgende Methode verwenden, um SCSI-Geräteinformationen abzurufen.
[root@server2 ~]# ll /sys/bus/scsi/drivers/sd/total 0lrwxrwxrwx 1 root root 0 Jun 22 17:29 2:0:0:0 -> ../../../../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0--w------- 1 root root 4096 Jun 22 17:29 bind--w------- 1 root root 4096 Jun 22 2017 uevent--w------- 1 root root 4096 Jun 22 17:29 unbind
[root@server2 ~]# ll /sys/bus/scsi/drivers/sd/2\:0\:0\:0/block/total 0drwxr-xr-x 10 root root 0 Jun 22 2017 sda
Überprüfen Sie dann die Datei /proc/scsi/scsi, um die entsprechende Datei zu erhalten SCSI-Gerätedetails.
[root@server2 ~]# cat /proc/scsi/scsi Attached devices:Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: VMware, Model: VMware Virtual S Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02Host: scsi4 Channel: 00 Id: 00 Lun: 00 Vendor: NECVMWar Model: VMware SATA CD01 Rev: 1.00 Type: CD-ROM ANSI SCSI revision: 05Host: scsi2 Channel: 00 Id: 01 Lun: 00 Vendor: VMware, Model: VMware Virtual S Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02
Hier gibt es zwei SCSI-Festplatten mit Direktzugriff und eine optische Festplatte, die über das CD-ROM-Laufwerk des optischen Laufwerks angeschlossen ist. Wir berücksichtigen nur SCSI-Festplatten, daher lauten die Locators dieser beiden Festplatten in SCSI 2:0:0:0 und 2:0:1:0. Wenn Sie weiterhin eine Festplatte einlegen, lautet der Locator der neuen Festplatte in SCSI 2:0:2:0Diese Wertezeichenfolge ist sehr wichtig.
Nach dem Einlegen einer Diskette in den Computer generiert der Kernel keine Ereignisbenachrichtigung, da er diese nicht erkennen kann, sodass keine Dateien im Verzeichnis /sys generiert werden Das Tool kann es nicht lesen. Ein Neustart des Systems kann das Problem definitiv lösen, aber Linux unterstützt Hot Plug.
Die Möglichkeit, eine neue Festplatte im laufenden Betrieb anzuschließen, besteht darin, die neuen SCSI-Geräteinformationen in /proc/scsi/scsi zu schreiben. Die Methode ist wie folgt:
echo "scsi add-single-device a b c d" >/proc/scsi/scsi
wobei:
a == Hostadapter-ID (die erste ist 0)
b == SCSI-Kanal auf dem Hostadapter (der erste ist 0)
c == ID
d == LUN (der erste ist 0)
Zum Beispiel: Im obigen Beispiel sollte es die folgenden Informationen hinzufügen:
[root@server2 ~]# echo "scsi add-single-device 2:0:2:0" >/proc/scsi/scsi
Natürlich kann ein erneutes Scannen des SCSI-Busses auch Hot-Plugging implementieren. Da im obigen Beispiel die SCSI-Host-ID 2 ist (d. h. Host2), wird Host2 gescannt, sodass alle Geräte auf dem SCSI-Host2 erneut gescannt werden.
[root@server2 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
Wenn Sie nicht wissen, welchen Host Sie scannen sollen, verwenden Sie einfach eine Schleife, um sie alle zu scannen.
[root@xuexi ~]# for i in `ls /sys/class/scsi_host/`;do echo "- - -" >/sys/class/scsi_host/$i/scan;done
Nach dem Hot-Plugging können Befehle wie fdisk -l die Festplatte erkennen.
Beim Hot-Plugging einer Festplatte werden die Informationen des entsprechenden SCSI-Geräts in /proc/scsi/scsi entfernt. Die Methode ist wie folgt:
echo "scsi remove-single-device a b c d" >/proc/scsi/scsi
Löschen Sie beispielsweise die Festplatte 2:0:2:0.
[root@server2 ~]# echo "scsi remove-single-device 2 0 2 0" >/proc/scsi/scsi
Da das zu löschende Gerät bereits existiert und sich seine vollständigen Informationen bereits in /sys befinden, wird es auch von seinem eigenen Gerät gelöscht.
Überprüfen Sie zunächst die SCSI-Geräteinformationen.
[root@server2 ~]# lsscsi [2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda [2:0:1:0] disk VMware, VMware Virtual S 1.0 /dev/sdb [4:0:0:0] cd/dvd NECVMWar VMware SATA CD01 1.00 /dev/sr0
Wenn Sie beispielsweise /dev/sdb löschen möchten, ist das 2:0:1:0. Werfen wir zunächst einen Blick auf die Dateiinformationen.
[root@server2 ~]# ls /sys/bus/scsi/drivers/sd/2\:0\:1\:0/block/ evt_lun_change_reported model scsi_level bsg/ evt_media_change power/ statedelete evt_mode_parameter_change_reported queue_depth subsystem/device_blocked evt_soft_threshold_reached queue_ramp_up_period timeout device_busy generic/ queue_type type dh_state iocounterbits rescan uevent driver/ iodone_cnt rev unpriv_sgio eh_timeout ioerr_cnt scsi_device/ vendor evt_capacity_change_reported iorequest_cnt scsi_disk/ vpd_pg80 evt_inquiry_change_reported modalias scsi_generic/ vpd_pg83
Es sind 3 Dateien darin: Löschen, erneut scannen und Status. Der Status zeichnet auf, ob das Gerät läuft. Die Dateien „Löschen“ und „Neu scannen“ werden zum Löschen und erneuten Scannen des Geräts verwendet.
Zum Beispiel das Gerät ausbauen, also im laufenden Betrieb austauschen.
[root@server2 ~]# echo 1 > /sys/bus/scsi/drivers/sd/2\:0\:1\:0/delete
Das obige ist der detaillierte Inhalt vonWas bedeutet Disk-Hot-Plugging unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!