如何让 Solaris 在热插拔后重新扫描磁盘信息?

如何让 Solaris 在热插拔后重新扫描磁盘信息?

我正在运行基于 SmartOS 的 ZFS NAS,其中有一堆 SATA 磁盘直接连接到逻辑板(没有花哨的磁盘控制器/背板或任何东西)。

我的 zpool 中的一个 1.5 TB 磁盘最近出现故障。 iostat说:

# iostat -En c2t5d0
c2t5d0           Soft Errors: 0 Hard Errors: 8 Transport Errors: 21 
Vendor: ATA      Product: ST31500341AS     Revision: SD17 Serial No: [...]
Size: 1500.30GB <1500301910016 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0 
Illegal Request: 89040 Predictive Failure Analysis: 0 

我用新的 2.0 TB 磁盘热交换该磁盘,但iostat仍然显示同样的信息 — Size: 1500.30GB

我如何告诉系统重新扫描磁盘以便它识别正确的磁盘大小?(我希望它探测正确的大小,以便我最终可以扩展我的 zpool。)


已经尝试过

  1. devfsadm -c disk按照建议类似的问题- 没有效果。
  2. cfgadm -c configure sata0/5::dsk/c2t5d0— 它只是说Device already configured;没有效果。

答案1

您需要首先启动 devfsadm 清理子例程。

# devfsadm -C -c disk -v

然后,配置并创建设备路径

# devfsadm -c disk -v

如果不成功,那么......

移除磁盘。

# cfgadm -c unconfigure sata0/5::dsk/c2t5d0

启动 devfsadm 清理子例程。

# devfsadm -C -c disk -v

确认磁盘已被移除。

# cfgadm -al
# ls -ld /dev/dsk/c2t5d0*

配置并创建设备路径

# devfsadm -c -v
# cfgadm -c configure sata0/5::dsk/c2t5d0

验证磁盘

# cfgadm -al
# ls -ld /dev/dsk/c2t5d0*

相关内容