Pour comprendre la commande lsscsi
, nous devons d'abord comprendre ce qu'est SCSI, les interfaces de disque dur courantes et les paramètres courants du disque dur.
SCSI (Small Computer System Interface) est un protocole complet de transfert de données, principalement utilisé pour transférer des commandes, des états et des données de bloc entre l'hôte et les périphériques de stockage. Parmi les différentes technologies de stockage, la technologie SCSI constitue le pilier le plus important.
Le protocole SCSI se situe entre le système d'exploitation et les ressources externes et comporte une série de composants fonctionnels. Les opérations d'E/S du système d'exploitation sur des périphériques externes (tels que des disques, des bandes, des disques optiques, des imprimantes, etc.) peuvent être implémentées via le protocole SCSI. En général, le protocole SCSI est intégré au pilote de périphérique ou à la logique intégrée de l'adaptateur hôte.
IDE représente un type de disque dur, mais dans les applications réelles, les gens sont également habitués à utiliser IDE pour faire référence au premier disque dur de type IDE, ATA-1. Ce type d'interface a été éliminé avec le développement de la technologie d'interface, et. Plus tard, le développement s'est étendu à davantage de types d'interfaces de disque dur, telles que ATA, Ultra ATA, DMA, Ultra DMA et d'autres interfaces, qui sont toutes des disques durs IDE.
Ses caractéristiques sont : un prix bas, une forte compatibilité, des performances élevées, une transmission de données lente, ne prend pas en charge le remplacement à chaud, etc.
2. Disque dur d'interface SCSIL'interface SCSI présente les avantages d'une large gamme d'applications, d'un multitâche, d'une large bande passante, d'une faible utilisation du processeur et d'une échangeabilité à chaud. Cependant, le prix plus élevé rend difficile d'être aussi populaire que les disques durs IDE, c'est pourquoi les disques durs SCSI le sont. principalement utilisé en milieu de gamme et haut de gamme dans les serveurs et les postes de travail haut de gamme.
Ses caractéristiques sont : un taux de transmission élevé, de bonnes performances de lecture et d'écriture, peut se connecter à plusieurs appareils et prendre en charge l'échange à chaud, mais le prix est relativement cher.
3. Type d'interface SATASerial ATA utilise une méthode de connexion série. Le bus Serial ATA utilise un signal d'horloge intégré et possède des capacités de correction d'erreur plus fortes que le passé, sa plus grande différence est qu'il peut vérifier les instructions de transmission (pas seulement les données en cas d'erreur). est trouvé, il sera automatiquement corrigé, ce qui améliore considérablement la fiabilité de la transmission des données.
L'interface série présente également les avantages d'une structure simple et d'une prise en charge du remplacement à chaud.
-bash: lsscsi command not found #Debian apt-get install lsscsi #Ubuntu apt-get install lsscsi #Alpine apk add lsscsi #Arch Linux pacman -S lsscsi #Kali Linux apt-get install lsscsi #CentOS yum install lsscsi #Fedora dnf install lsscsi #Raspbian apt-get install lsscsi #Docker docker run cmd.cat/lsscsi lsscsi
Adresse de description détaillée de la commande
https://sg.danny.cz/scsi/lsscsi.html
Syntaxe de la commande lsscsi :
lsscsi [选项] [H:C:T:L]
Options de la commande lsscsi :
Options | Signification |
---|---|
-g | Afficher le nom du fichier de périphérique commun SCSI |
-k | Afficher le nom du noyau au lieu du nom du nœud du périphérique |
-d | Affiche les numéros principal et secondaire des nœuds de périphérique |
-H | Liste des hôtes SCSI actuellement connectés au système au lieu des périphériques SCSI |
-l | Afficher des informations supplémentaires pour chaque périphérique SCSI (hôte) |
-c | Par rapport au résultat de l'exécution de la commande cat /proc/scsi/scsi |
-p | Afficher des informations supplémentaires sur l'intégrité (protection) des données |
-t | Afficher les informations de transfert |
-L | See MoreAfficher des informations supplémentaires sous la forme de "nom de l'attribut = valeur" |
-v | Nom du répertoire de sortie lorsque des informations sont trouvées |
-y | Supposons que sysfs soit monté sur le chemin spécifié au lieu du "/sys" par défaut |
-s | Afficher la taille de la capacité. |
-c | Afficher les informations par défaut avec le nom complet. |
-d | Affichez les numéros d'appareil principal et secondaire de l'appareil. |
-g | Affichez le nom de l'appareil SG correspondant. |
-H | Affichez la liste des contrôleurs hôtes, -Hl, -Hlv. |
-l | Afficher les attributs associés, -ll,-llll=-L. |
-v | Affichez le répertoire où se trouvent les propriétés de l'appareil. |
-x | Affichez le numéro LUN en hexadécimal. |
-p | Sortie DIF, type de protection DIX. |
-P | Émettre des informations de mode de protection valides. |
-i | Afficher les attributs liés à udev |
-w | Afficher WWN |
-t | Affichez les informations de transmission correspondantes (ATA, FC, SBP, ISCSI, SPI, SAS, SATA, USB), -Ht, -tl (y compris l'adresse SAS) | .
lsscsi 列出所有 SCSI 设备:
peng@ubuntu:~$ lsscsi [3:0:0:0] cd/dvd NECVMWar VMware SATA CD01 1.00 /dev/sr0 [32:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda
lsscsi -L列出所有具有详细属性的 SCSI 设备:
peng@ubuntu:~$ lsscsi -L [3:0:0:0] cd/dvd NECVMWar VMware SATA CD01 1.00 /dev/sr0 device_blocked=0 iocounterbits=32 iodone_cnt=0x229 ioerr_cnt=0x4 iorequest_cnt=0x23a queue_depth=1 queue_type=none scsi_level=6 state=running timeout=30 type=5 [32:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda device_blocked=0 iocounterbits=32 iodone_cnt=0x37370 ioerr_cnt=0x3 iorequest_cnt=0x37370 queue_depth=32 queue_type=simple scsi_level=3 state=running timeout=180 type=0
lsscsi -s列出所有具有人类可读磁盘容量的 SCSI 设备:
peng@ubuntu:~$ lsscsi -s [3:0:0:0] cd/dvd NECVMWar VMware SATA CD01 1.00 /dev/sr0 - [32:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda 536GB
/proc/scsi/
peng@ubuntu:~$ cd /proc/scsi/ peng@ubuntu:/proc/scsi$ ls device_info mptspi scsi sg peng@ubuntu:/proc/scsi$ cat scsi Attached devices: Host: scsi32 Channel: 00 Id: 00 Lun: 00 Vendor: VMware, Model: VMware Virtual S Rev: 1.0 Type: Direct-Access ANSI SCSI revision: 02 Host: scsi3 Channel: 00 Id: 00 Lun: 00 Vendor: NECVMWar Model: VMware SATA CD01 Rev: 1.00 Type: CD-ROM ANSI SCSI revision: 05
/sys/class/scsi_host
peng@ubuntu:/sys/class/scsi_host$ ls host0 host12 host16 host2 host23 host27 host30 host5 host9 host1 host13 host17 host20 host24 host28 host31 host6 host10 host14 host18 host21 host25 host29 host32 host7 host11 host15 host19 host22 host26 host3 host4 host8
/sys/class/scsi_device
peng@ubuntu:/sys/class/scsi_device$ ls 3:0:0:0 32:0:0:0
/sys/class/scsi_disk
peng@ubuntu:/sys/class/scsi_disk$ ls 32:0:0:0
/sys/class/scsi_generic
peng@ubuntu:/sys/class/scsi_generic$ ls sg0 sg1
/sys/bus/scsi
peng@ubuntu:/sys/bus/scsi$ ls devices drivers drivers_autoprobe drivers_probe uevent peng@ubuntu:/sys/bus/scsi/devices$ ls 3:0:0:0 host11 host16 host20 host25 host3 host5 target3:0:0 32:0:0:0 host12 host17 host21 host26 host30 host6 target32:0:0 host0 host13 host18 host22 host27 host31 host7 host1 host14 host19 host23 host28 host32 host8 host10 host15 host2 host24 host29 host4 host9
其中target3:0:0
对应
host:bus:id:lun
drivers/scsi/Kconfig:213 config SCSI_LOGGING bool "SCSI logging facility" depends on SCSI ---help--- This turns on a logging facility that can be used to debug a number of SCSI related problems. If you say Y here, no logging output will appear by default, but you can enable logging by saying Y to "/proc file system support" and "Sysctl support" below and executing the command echo > /proc/sys/dev/scsi/logging_level where is a four byte value representing the logging type and logging level for each type of logging selected. There are a number of logging types and you can find them in the source at . The logging levels are also described in that file and they determine the verbosity of the logging for each logging type. If you say N here, it may be harder to track down some types of SCSI problems. If you say Y here your kernel will be somewhat larger, but there should be no noticeable performance impact as long as you have logging turned off.
-> drivers\scsi\scsi_logging.h
/* * Note - the initial logging level can be set here to log events at boot time. * After the system is up, you may enable logging via the /proc interface. */ unsigned int scsi_logging_level; #if defined(CONFIG_SCSI_LOGGING) EXPORT_SYMBOL(scsi_logging_level); #endif
scsi_logging_level 被定义成int类型(32bit),该机制使用了30个bit,从低位到高位每3bit为一个logging level从SCSI_LOG_ERROR_SHIFT到SCSI_LOG_IOCTL_SHIFT(SCSI_LOG_XXX_SHIFT为不同level的移位数),每个level使用的bit数都是3,所以 SCSI_LOG_XXX_BITS 均为3
-1 - Enable scsi events to syslog. // 开启所有scsi log 0 - Disable scsi events to syslog. // 关闭所有scsi log
命令:
echo 0/-1 > /proc/sys/dev/scsi/logging_level
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!