SystemA(SATA as SATA):
SystemA:~$sudo udevadm info --query=property --name /dev/sda DEVLINKS=/dev/disk/by-id/ata-WDC_WD60EZRX-00MVLB1_WD-WX21D947N3HR /dev/disk/by-id/wwn-0x50014ee2b5d6e7b0 /dev/disk/by-path/pci-0000:01:00.0-sas-0x500304801eac0aa1-lun-0 DEVNAME=/dev/sda DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/host0/port-0:0/expander-0:0/port-0:0:1/end_device-0:0:1/target0:0:0/0:0:0:0/block/sda DEVTYPE=disk ID_ATA=1 ID_ATA_DOWNLOAD_MICROCODE=1 ID_ATA_FEATURE_SET_HPA=1 ID_ATA_FEATURE_SET_HPA_ENABLED=1 ID_ATA_FEATURE_SET_PM=1 ID_ATA_FEATURE_SET_PM_ENABLED=1 ID_ATA_FEATURE_SET_PUIS=1 ID_ATA_FEATURE_SET_PUIS_ENABLED=0 ID_ATA_FEATURE_SET_SECURITY=1 ID_ATA_FEATURE_SET_SECURITY_ENABLED=0 ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=66306 ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=66306 ID_ATA_FEATURE_SET_SMART=1 ID_ATA_FEATURE_SET_SMART_ENABLED=1 ID_ATA_ROTATION_RATE_RPM=5700 ID_ATA_SATA=1 ID_ATA_SATA_SIGNAL_RATE_GEN1=1 ID_ATA_SATA_SIGNAL_RATE_GEN2=1 ID_ATA_WRITE_CACHE=1 ID_ATA_WRITE_CACHE_ENABLED=1 ID_BUS=ata ID_MODEL=WDC_WD60EZRX-00MVLB1 ID_MODEL_ENC=WDC\x20WD60EZRX-00MVLB1\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 ID_PART_TABLE_TYPE=gpt ID_PATH=pci-0000:01:00.0-sas-0x500304801eac0aa1-lun-0 ID_PATH_TAG=pci-0000_01_00_0-sas-0x500304801eac0aa1-lun-0 ID_REVISION=80.00A80 ID_SERIAL=WDC_WD60EZRX-00MVLB1_WD-WX21D947N3HR ID_SERIAL_SHORT=WD-WX21D947N3HR ID_TYPE=disk ID_WWN=0x50014ee2b5d6e7b0 ID_WWN_WITH_EXTENSION=0x50014ee2b5d6e7b0 MAJOR=8 MINOR=0 SUBSYSTEM=block UDISKS_ATA_SMART_IS_AVAILABLE=1 UDISKS_PARTITION_TABLE=1 UDISKS_PARTITION_TABLE_COUNT=1 UDISKS_PARTITION_TABLE_SCHEME=gpt UDISKS_PRESENTATION_NOPOLICY=0 USEC_INITIALIZED=72490
SystemB(SATA as SCSI):
SystemB:~$sudo udevadm info --query=property --name /dev/sda DEVLINKS=/dev/disk/by-id/scsi-350014ee261a4fe1f /dev/disk/by-id/wwn-0x50014ee261a4fe1f /dev/disk/by-path/pci-0000:03:00.0-sas-0x500304801eabe304-lun-0 DEVNAME=/dev/sda DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:03:00.0/host0/port-0:0/expander-0:0/port-0:0:1/end_device-0:0:1/target0:0:0/0:0:0:0/block/sda DEVTYPE=disk ID_BUS=scsi ID_MODEL=WDC_WD60EZRX-00M ID_MODEL_ENC=WDC\x20WD60EZRX-00M ID_PART_TABLE_TYPE=gpt ID_PATH=pci-0000:03:00.0-sas-0x500304801eabe304-lun-0 ID_PATH_TAG=pci-0000_03_00_0-sas-0x500304801eabe304-lun-0 ID_REVISION=0A80 ID_SCSI=1 ID_SCSI_SERIAL=WD-WX31D55DF9X0 ID_SERIAL=350014ee261a4fe1f ID_SERIAL_SHORT=50014ee261a4fe1f ID_TYPE=disk ID_VENDOR=ATA ID_VENDOR_ENC=ATA\x20\x20\x20\x20\x20 ID_WWN=0x50014ee261a4fe1f ID_WWN_WITH_EXTENSION=0x50014ee261a4fe1f MAJOR=8 MINOR=0 SUBSYSTEM=block UDISKS_PARTITION_TABLE=1 UDISKS_PARTITION_TABLE_COUNT=1 UDISKS_PARTITION_TABLE_SCHEME=gpt UDISKS_PRESENTATION_NOPOLICY=0 USEC_INITIALIZED=80270 $sudo skdump /dev/sda Device: sat16:/dev/sda Type: 16 Byte SCSI ATA SAT Passthru Size: 5723166 MiB Awake: Operation not supported ATA SMART not supported.
更新:
服务器有32个托架连接到PCI-E SAS3 HBA.我之前已经将一些磁盘从SystemB(将SATA暴露为SCSI的磁盘)转移到SystemA(将它们暴露为SATA),并且它们被识别为SATA.所以我想我们可以排除导致这种情况的磁盘.请注意,我的目标是两个服务器都将磁盘识别为ATA,以便skdump(或udisks)能够检查磁盘.
#lsscsi -g< - OUTPUT
$udevadm info -a -p $(udevadm info -q path -n / dev / sdb)SystemA SystemB
解决了:
问题原来是SAS控制器的固件太旧了.更新固件可以解决问题:
$sudo sas3flash -o -f 3008IT14.ROM -b mptsas3.rom
解决方法
哇,开车很旧,而且很大.
http://products.wdc.com/library/SpecSheet/ENG/2879-800026.pdf
最大传输速率为175 MB / s,因此如果链接在gen1协商
你的上限将低于150 MB / s
并且……如果您在2014年购买它们,看起来保修期已过期
ENDUPDATE
首先,所有磁盘在Linux上都显示为SCSI(除非它是一些提供原始块设备的顽固raid控制器).自从libsas被引入并且libata被集成以来(2008年?),这是真的.不同的是您的驱动器获得的支持级别.
是的,您的驱动器由所述控制器驱动,并且这些物理根据sysfs被送入看似SAS扩展器的状态.我不知道你有多少个托架,但无论哪种方式,在发现过程中看起来都存在协商问题,扩展器认为驱动器不能通过.
http://www.sasexpanders.com/faq/
我建议获取SMP工具并向驱动器发送链接重置,看看是否有所改善.您可以通过sysfs执行此操作,查看它是否公开了重置或类似文件并向其回显1.
http://sg.danny.cz/sg/smp_utils.html
驱动器固件版本看起来是一样的……
# GOOD ID_MODEL=WDC_WD60EZRX-00MVLB1 # GOOD ID_REVISION=80.00A80 # BAD ID_MODEL=WDC_WD60EZRX-00M # BAD ID_REVISION=0A80
仅提供4个字符的问题是我的坏驱动器上不是“80 ..”.如果将它们放在同一个工作系统中,则比较容易得多.如果它很好,那么你知道它不是磁盘.与型号相同……
SATA规范认为仅报告四个字符是个好主意.这是一个线索.尽管它们都是作为SD设备呈现的,但是从libata获得的支持比其他设备更多.有效的驱动器是获得完整的固件版本,这意味着它坚持SAT,scsi到ata翻译规范.这就是SCSI驱动器的样子.另一个不是.
>相同的操作系统和内核版本?
>相同的控制器固件?
>相同的物理扩展器?
>相同的扩展器固件?
>如果驱动器插入不同的端口,问题是否跟随驱动器?
>插入该端口的驱动器是否无法通过ATA直通?
它没有说明坏人谈判的链接速度.这是骗子.
ppetraki@:scaleout_demo$dmesg | grep -i link | grep SATA [ 1.759912] ata6: SATA link down (SStatus 0 SControl 300) [ 1.763905] ata5: SATA link down (SStatus 0 SControl 300) [ 1.927906] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 1.935870] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
还有这个.
ppetraki@:scaleout_demo$sudo hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 762 MB in 3.00 seconds = 253.77 MB/sec
3Gb SAS / SATA链路传输大约300 MBps,依此类推.这反映在hdparm -t中,它尽可能快地从媒体上读取.以253 MB / s的速度执行意味着此驱动器正在按预期运行,或者它正在执行.这意味着如果您将6G SSD放入该链路,那么吞吐量不会超过253 MB / s.
我说这是因为好的驱动器说它在第2代谈判,第二个没有说.如果你在两个驱动器上运行hdparm测试并且数字差别很大,那么坏驱动器可能会出现问题,导致它以较低的链接速度进行协商.
SAS和SATA使用相同的电气/物理电线格式.唯一不同的是,SAS驱动器在开机或复位时啁啾COMINIT然后COMSAS,而不是仅仅啁啾(OOB)COMINIT的SATA驱动器.根据该协商,激活适当的发现状态机,依此类推.
我不记得哪个状态机决定ATA passthrough的可行性.草案规格在那里……它很厚.
希望这可以帮助.