我一直在从我的池中复制数据,这样我就可以用不同的版本重建它,这样我就可以离开 solaris 11 并转到一个可以在 freebsd/openindia 等之间移植的版本。前几天它的复制速度是每秒 20mb,这大约是我的台式机驱动器可以处理的所有网络写入速度。突然,昨晚它降到了 1.4mb,我今天运行了 zpool status 并得到了这个。
pool: store
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://www.sun.com/msg/ZFS-8000-9P
scan: none requested
config:
NAME STATE READ WRITE CKSUM
store ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
c8t3d0p0 ONLINE 0 0 2
c8t4d0p0 ONLINE 0 0 10
c8t2d0p0 ONLINE 0 0 0
它目前是一个 3 x1tb 驱动器阵列。最好使用什么工具来确定错误是什么以及哪个驱动器出现故障。
根据管理文档
The second section of the configuration output displays error statistics. These errors are divided into three categories:
READ – I/O errors occurred while issuing a read request.
WRITE – I/O errors occurred while issuing a write request.
CKSUM – Checksum errors. The device returned corrupted data as the result of a read request.
它说低计数可能是任何东西,从功率通量到磁盘事件,但没有提供使用什么工具进行检查和确定的建议。
答案1
当从磁盘读取数据但与预期的校验和不匹配时,就会发生校验和错误;嘈杂的 SATA 电缆可能会导致这种损坏,无论是在写入(数据在写入磁盘的过程中损坏)还是在读取(数据在从磁盘读取的过程中损坏)过程中。虽然这可能是磁盘故障,但很可能是由松动或夹紧的 SATA 数据线引起的。尝试重新安装两端的电缆或尝试另一根已知良好的电缆。
至于确定哪个磁盘,取决于你使用的硬件。对于 Sun 品牌的硬件cfgadm -alv
应该为您提供硬盘序列号以匹配其逻辑名称。如果您在主板上使用 SATA 端口,端口号对应于目标 ID(2、3、4),因此第一个端口可能是 t0。我的大多数磁盘的标签上都印有 WWN,您可以通过启用多路径来发现这一点pfexec stmsboot -e
(请参阅:这个问题) 它将使用 c8tWWNxxxxxxxxd0p0 格式而不是 c8tNd0p0,但可能仅当您使用 SAS 控制器时才如此。
您的输出显示 ZFS 能够通过重建其他两个磁盘的数据并恢复冗余来纠正错误。它只是让您导致一些不好的事情发生,此时故障管理系统尚未确定磁盘是否有足够的错误来保证将其脱机(导致“降级”池状态)。我会给它一个清理,以确保每个字节都干净地读取。更多信息错误 ZFS-8000-0P这里。