大家好,今天来为大家分享scsi硬盘的一些知识点,和Linux命令lsscsi详解的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
想要弄明白lsscsi命令,首先我们必须搞清楚什么是SCSI,以及常见的硬盘接口,常用的硬盘参数。
SCSI(SmallComputerSystemInterface)是一套完整的数据传输协议,其主要功能是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI技术可谓是最重要的脊梁。
SCSI协议位于操作系统和外部资源之间,它具有一系列的功能组件,操作系统对外部设备(如磁盘、磁带、光盘、打印机等)的I/O操作均可以通过SCSI协议来实现,一般情况下,SCSI协议都嵌入到设备驱动器或者主机适配器的板载逻辑中。
其英文名称:IntegratedDriveElectronics,常见的2.5英寸IDE硬盘接口它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。
IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、UltraATA、DMA、UltraDMA等接口都属于IDE硬盘。
其特点为:价格低廉,兼容性强,性价比高,数据传输慢,不支持热插拔等等。
SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。
SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。
其特点为:传输速率高、读写性能好、可连接多个设备、可支持热插拔,但是价格相对来说比较贵。
其英文名称为:SerialAdvancedTechnologyAttachment。使用SATA(SerialATA)口的硬盘又叫串口硬盘,是未来PC机硬盘的趋势。
SerialATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。
串行接口还具有结构简单、支持热插拔的优点。
lsscsi列出scsi/sata设备信息,比如硬盘驱动器,光盘驱动器。
-bash:lsscsicommandnotfoundnn#Debiannapt-getinstalllsscsinn#Ubuntunapt-getinstalllsscsinn#Alpinenapkaddlsscsinn#ArchLinuxnpacman-Slsscsinn#KaliLinuxnapt-getinstalllsscsinn#CentOSnyuminstalllsscsinn#Fedorandnfinstalllsscsinn#Raspbiannapt-getinstalllsscsinn#Dockerndockerruncmd.cat/lsscsilsscsin2.lsscsi命令英文手册
详细命令说明地址
https://sg.danny.cz/scsi/lsscsi.htmln2.命令格式
lsscsi命令语法:
lsscsi[选项][H:C:T:L]n
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,-lll=-L。-v显示设备属性所在目录。-x以16进制显示lun号。-p输出DIF,DIX保护类型。-P输出有效的保护模式信息。-i显示udev相关的属性-w显示WWN-t显示相应传输信息(ATA,FC,SBP,ISCSI,SPI,SAS,SATA,USB),-Ht,-tl.(包括sas地址)
peng@ubuntu:~$lsscsin[3:0:0:0]cd/dvdNECVMWarVMwareSATACD011.00/dev/sr0n[32:0:0:0]diskVMware,VMwareVirtualS1.0/dev/sdan
lsscsi-L列出所有具有详细属性的SCSI设备:
peng@ubuntu:~$lsscsi-Ln[3:0:0:0]cd/dvdNECVMWarVMwareSATACD011.00/dev/sr0ndevice_blocked=0niocounterbits=32niodone_cnt=0x229nioerr_cnt=0x4niorequest_cnt=0x23anqueue_depth=1nqueue_type=nonenscsi_level=6nstate=runningntimeout=30ntype=5n[32:0:0:0]diskVMware,VMwareVirtualS1.0/dev/sdandevice_blocked=0niocounterbits=32niodone_cnt=0x37370nioerr_cnt=0x3niorequest_cnt=0x37370nqueue_depth=32nqueue_type=simplenscsi_level=3nstate=runningntimeout=180ntype=0n
lsscsi-s列出所有具有人类可读磁盘容量的SCSI设备:
peng@ubuntu:~$lsscsi-sn[3:0:0:0]cd/dvdNECVMWarVMwareSATACD011.00/dev/sr0-n[32:0:0:0]diskVMware,VMwareVirtualS1.0/dev/sda536GBn五、其他1.Linux下scsi相关文件节点
/proc/scsi/
peng@ubuntu:~$cd/proc/scsi/npeng@ubuntu:/proc/scsi$lsndevice_infomptspiscsisgnnpeng@ubuntu:/proc/scsi$catscsinAttacheddevices:nHost:scsi32Channel:00Id:00Lun:00nVendor:VMware,Model:VMwareVirtualSRev:1.0nType:Direct-AccessANSISCSIrevision:02nHost:scsi3Channel:00Id:00Lun:00nVendor:NECVMWarModel:VMwareSATACD01Rev:1.00nType:CD-ROMANSISCSIrevision:05nn
/sys/class/scsi_host
peng@ubuntu:/sys/class/scsi_host$lsnhost0host12host16host2host23host27host30host5host9nhost1host13host17host20host24host28host31host6nhost10host14host18host21host25host29host32host7nhost11host15host19host22host26host3host4host8n
/sys/class/scsi_device
peng@ubuntu:/sys/class/scsi_device$lsn3:0:0:032:0:0:0nn
/sys/class/scsi_disk
peng@ubuntu:/sys/class/scsi_disk$lsn32:0:0:0n
/sys/class/scsi_generic
peng@ubuntu:/sys/class/scsi_generic$lsnsg0sg1n
/sys/bus/scsi
peng@ubuntu:/sys/bus/scsi$lsndevicesdriversdrivers_autoprobedrivers_probeueventnpeng@ubuntu:/sys/bus/scsi/devices$lsn3:0:0:0host11host16host20host25host3host5target3:0:0n32:0:0:0host12host17host21host26host30host6target32:0:0nhost0host13host18host22host27host31host7nhost1host14host19host23host28host32host8nhost10host15host2host24host29host4host9n
其中target3:0:0
host:bus:id:lunn2.Linux开启SCSI日志调试功能1.编译选项中需开启CONFIG_SCSI_LOGGING2.该编译选项说明
drivers/scsi/Kconfig:213n
configSCSI_LOGGINGnbool"SCSIloggingfacility"ndependsonSCSIn---help---nThisturnsonaloggingfacilitythatcanbeusedtodebuganumbernofSCSIrelatedproblems.nnIfyousayYhere,nologgingoutputwillappearbydefault,butyouncanenableloggingbysayingYto"/procfilesystemsupport"andn"Sysctlsupport"belowandexecutingthecommandnnecho<bitmask>>/proc/sys/dev/scsi/logging_levelnnwhere<bitmask>isafourbytevaluerepresentingtheloggingtypenandlogginglevelforeachtypeofloggingselected.nnThereareanumberofloggingtypesandyoucanfindtheminthensourceat<file:drivers/scsi/scsi_logging.h>.Thelogginglevelsnarealsodescribedinthatfileandtheydeterminetheverbosityofntheloggingforeachloggingtype.nnIfyousayNhere,itmaybehardertotrackdownsometypesofSCSInproblems.IfyousayYhereyourkernelwillbesomewhatlarger,butnthereshouldbenonoticeableperformanceimpactaslongasyouhavenloggingturnedoff.n3.logging类型源码文件位置(有说明)
->drivers\scsi\scsi_logging.hn4.使用说明
/*n*Note-theinitiallogginglevelcanbesetheretologeventsatboottime.n*Afterthesystemisup,youmayenableloggingviathe/procinterface.n*/nunsignedintscsi_logging_level;n#ifdefined(CONFIG_SCSI_LOGGING)nEXPORT_SYMBOL(scsi_logging_level);n#endifnn
scsi_logging_level被定义成int类型(32bit),该机制使用了30个bit,从低位到高位每3bit为一个logginglevel从SCSI_LOG_ERROR_SHIFT到SCSI_LOG_IOCTL_SHIFT(SCSI_LOG_XXX_SHIFT为不同level的移位数),每个level使用的bit数都是3,所以SCSI_LOG_XXX_BITS均为3
-1-Enablescsieventstosyslog.//开启所有scsilogn0-Disablescsieventstosyslog.//关闭所有scsilognnn
命令:
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
还没有评论,来说两句吧...