Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Was bedeutet Disk-Hot-Plugging unter Linux?

Was bedeutet Disk-Hot-Plugging unter Linux?

零下一度
零下一度Original
2017-06-23 11:19:123862Durchsuche

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.

1.1 Hot Plug

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.

1.2 Hot-Plugging

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn