lsscsi
명령을 이해하려면 먼저 SCSI가 무엇인지, 일반적인 하드 디스크 인터페이스와 일반적인 하드 디스크 매개변수를 이해해야 합니다.
SCSI(소형 컴퓨터 시스템 인터페이스)는 호스트와 저장 장치 간에 명령, 상태 및 블록 데이터를 전송하는 데 주로 사용되는 완전한 데이터 전송 프로토콜입니다. 다양한 스토리지 기술 중에서 SCSI 기술은 가장 중요한 축입니다.
SCSI 프로토콜은 운영 체제와 외부 리소스 사이에 있으며 일련의 기능 구성 요소를 가지고 있습니다. 외부 장치(예: 디스크, 테이프, 광 디스크, 프린터 등)에서 운영 체제의 I/O 작업은 SCSI 프로토콜을 통해 구현될 수 있습니다. 일반적으로 SCSI 프로토콜은 장치 드라이버나 호스트 어댑터의 온보드 로직에 내장되어 있습니다.
IDE는 하드 드라이브의 한 종류를 의미하지만 실제 응용 분야에서는 초기 IDE 유형의 하드 드라이브인 ATA-1을 지칭하는 데 익숙합니다. 이러한 유형의 인터페이스는 인터페이스 기술의 발전으로 사라졌으며, 나중에 개발은 ATA, Ultra ATA, DMA, Ultra DMA 및 모두 IDE 하드 디스크인 기타 인터페이스와 같은 더 많은 유형의 하드 디스크 인터페이스로 확장되었습니다.
특징은 다음과 같습니다: 저렴한 가격, 강력한 호환성, 높은 비용 성능, 느린 데이터 전송, 핫 스와핑을 지원하지 않음 등
2. SCSI 인터페이스 하드 드라이브SCSI 인터페이스는 넓은 적용 범위, 멀티태스킹, 넓은 대역폭, 낮은 CPU 사용량, 핫스왑 가능성 등의 장점을 가지고 있지만, 가격이 비싸면 IDE 하드 드라이브만큼 대중화되기 어렵습니다. 주로 중급~고급형 서버 및 고급 워크스테이션에 사용됩니다.
특징은 높은 전송률, 우수한 읽기 및 쓰기 성능, 여러 장치 연결 가능, 핫스왑 지원이 가능하지만 가격이 상대적으로 비쌉니다.
3. SATA 인터페이스 유형Serial ATA는 직렬 연결 방식을 사용합니다. Serial ATA 버스는 내장된 클럭 신호를 사용하며 이전과 비교하여 오류 수정 기능이 더욱 강화되었습니다. 가장 큰 차이점은 오류가 발생한 경우 전송 명령을 확인할 수 있다는 것입니다. 발견되면 자동으로 수정되어 데이터 전송의 신뢰성이 크게 향상됩니다.
직렬 인터페이스는 구조가 간단하고 핫 스와핑을 지원한다는 장점도 있습니다.
자세한 명령어 설명 주소
으아아아lsscsi 명령 구문:
으아아아lsscsi 명령 옵션:
옵션 | 의미 |
---|---|
-g | SCSI 공통 장치 파일 이름 표시 |
-k | 장치 노드 이름 대신 커널 이름 표시 |
-d | 장치 노드의 기본 및 보조 번호를 표시합니다 |
-H | SCSI 장치 대신 현재 시스템에 연결된 SCSI 호스트 나열 |
-l | 각 SCSI 장치(호스트)에 대한 추가 정보 표시 |
-c | cat /proc/scsi/scsi 명령 실행 결과와 관련 |
-p | 추가 데이터 무결성(보호) 정보 표시 |
-t | 환승 정보 표시 |
-L | "속성 이름=값" 형식으로 추가 정보 표시 |
-v | 정보 검색 시 디렉터리 이름 출력 |
-y | sysfs가 기본 "/sys" 대신 지정된 경로에 마운트되었다고 가정합니다 |
-s | 용량 크기를 표시합니다. |
-c | 이름과 함께 기본 정보를 표시합니다. |
-d | 장치 기본 및 보조 장치 번호를 표시합니다. |
-g | 해당 SG 장치 이름을 표시합니다. |
-H | 호스트 컨트롤러 목록 표시 -Hl, -Hlv. |
-l | 관련 속성 표시 -ll,-llll=-L. |
-v | 장치 속성이 위치한 디렉터리를 표시합니다. |
-x | lun 번호를 16진수로 표시합니다. |
-p | 출력 DIF, DIX 보호 유형. |
-P | 유효한 보호 모드 정보를 출력합니다. |
-i | udev 관련 속성 표시 |
-w | WWN 표시 |
-t | 해당 전송 정보 표시(ATA, FC, SBP, ISCSI, SPI, SAS, SATA, USB), -Ht, -tl(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
위 내용은 Linux 명령 lsscsi에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!