我正在寻找基本的内核驱动程序,以启用SATA支持。
我有一个Braswell (英特尔SoC)设置,我想把内核驱动程序的数量减少到最低限度。SATA支持需要ATA驱动程序吗?那SCSI驱动程序呢?或设备Mapper支持(从RAID菜单)?除了制造商的驱动程序之外,似乎还有10多个不同的通用驱动程序需要支持SATA。
我使用的是linux内核4.4,在文档中找不到多少信息。看起来ATA、SATA和选项分散在多个部分。
我想最重要的是libata驱动程序,但我不清楚他们是否需要ATA或SCSI驱动程序。
Device Drivers --->
Serial ATA and Para
我的一个兹普尔经历了两次连续的驱动失败。当我重拾第一个,第二个失败,我得到了两个错误,在快照。重新镀银完成,然后我用"zpool替换“重新银第二个错误的驱动器。
池已挂载,除两个文件外,所有数据都是安全的和可用的:
pool: gggpool
state: DEGRADED
status: One or more devices has experienced an error resulting in data corruption.
Applications may be affected.
scan: resilvered 2,35T in 19h29m with
通过做udevadm info -a /dev/sda
我们可以看到这样的情况:
looking at parent device '/devices/pci0000:3d/0000:3d:02.0/0000:60:00.0/host6/port-6:0/end_device-6:0/target6:0:0/6:0:0:0':
KERNELS=="6:0:0:0"
SUBSYSTEMS=="scsi"
然而,这个设备是一个SATA,为什么它的子系统是scsi?
这一行:
KERNELS=="6:0:0:0"的意
我已经将Ubuntu从13.04版本更新到了13.10版本,结果发现SATA磁盘I已经更改,而我的ZFS池现在失败了。
在新的Ubuntu13.10上,磁盘ID现在是ata-*,而不是scsi-SATA_*。
这是更新后的池状态:
pool: nestpool
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
我已经将Ubuntu从13.04版本更新到了13.10版本,结果发现SATA磁盘I已经更改,而我的ZFS池现在失败了。
在新的Ubuntu13.10上,磁盘ID现在是ata-*,而不是scsi-SATA_*。
这是更新后的池状态:
pool: nestpool
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
我想向SAS(SATA连接SCSI)总线上的驱动器发送"ATA直通“命令。在Windows XP(x86)环境中,驱动器是SATA驱动器。我希望有一个STP(SATA隧道协议)层,它可以将ATA命令转换为STP,以便通过SCSI总线发送到我的SATA驱动器。然而,当向Win32接口DeviceIOControl()发送"ATA直通“命令时,status返回错误"wrong functions”。Windows XP中是否存在STP层,它必须,Win32 API Readfile()/Writefile()工作。但是如何让"ATA Pass through dir
Ubuntu识别设备,并且在这种情况下似乎将它分配给sdc,但是挂载仍然返回一条“没有找到介质”的消息。以下是lsusb输出:
us 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6
我在超微型X9DRW-3LN4F+/X9DRW-3TF+上安装了2 NMVe驱动器和4 SATA驱动器。我在4 SATA驱动器上设置了zfs池,如下所示:
$ sudo zpool status
[sudo] password for igdvs:
pool: data
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
data
我想检测磁盘是否连接到正确的sata端口。虽然lsscsi向我提供了一些有关已使用主机的有用信息,但我想知道SCSI主机号是否总是保持不变:
[0:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sda
[1:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sdb
[4:0:0:0] disk ATA SATADOM D150SV-L 1209 /dev/sdc
一个小测试表明,重新启动系统或删除其中一个磁盘都不会影响其他主机
3年来,我一直在Ubuntu12.04下运行带有5个磁盘的ZFS Raid1z,没有任何问题。
不幸的是,磁盘故障的一天已经到来。我在数组中丢失了一个磁盘,他只是离线,几天后,第二个磁盘也开始删除错误。当系统检测到第二张已开始故障的磁盘上的检查和错误(一些坏扇区,根据SMART),它开始重新银器阵列,当我到达PC和看到再银币已经在40%,为了避免灾难,我已经决定停止服务器尽快。
基本上,我的数组看起来就像这样,在某个地方有人提到数据丢失了:
NAME STATE READ WRITE CKSUM
Misu