Solaris:在低级别下脱机磁盘,无需重新启动

Solaris:在低级别下脱机磁盘,无需重新启动

在 Solaris 中,如果我在机器运行时拔掉几个磁盘,则检查每个磁盘的某些功能将需要一段时间,因为它必须等待超时。

例如format,或者zpool import两者都将读取所有磁盘作为他们做的第一件事之一。

我有时会通过以下方式来解决这个问题:(我当然会用正确的数字替换零)

cd /dev/dsk,,,,,,。mkdir offlinemv c0t0d0* offline
cd ../rdsk​​mkdir offlinemv c0t0d0* offline

此时我可以用它做任何我想做的事情formatzpool import而且速度会快得多。

重新插入磁盘后,我可以使用

cd /dev/dsk,,,,,,。mv offline/* .rmdir offline
cd ../rdsk​​mv offline/* .rmdir offline

有这个命令吗?暂时删除指定磁盘的符号链接,并将它们恢复?

我对自己找到的解决方案非常满意。尤其是因为这台机器是离线机器,我可以冒这种程度的操纵风险。(例如,如果我在真实机器中输入了零,就会有麻烦)

然而,如果有的话,我想知道更好的方法。

答案1

正确的方法是在拔下设备之前使用cfgadm命令取消配置设备。ZFS 管理指南有此过程的一个例子(当然,如果您不使用 ZFS,则可以忽略 ZFS 步骤)。

以下粘贴的是指南中的示例:

# zpool offline tank c1t3d0
# cfgadm | grep c1t3d0
sata1/3::dsk/c1t3d0            disk         connected    configured   ok
# cfgadm -c unconfigure sata1/3
Unconfigure the device at: /devices/pci@0,0/pci1022,7458@2/pci11ab,11ab@1:3
This operation will suspend activity on the SATA device
Continue (yes/no)? yes
# cfgadm | grep sata1/3
sata1/3                        disk         connected    unconfigured ok
<Physically replace the failed disk c1t3d0>
# cfgadm -c configure sata1/3
# cfgadm | grep sata1/3
sata1/3::dsk/c1t3d0            disk         connected    configured   ok
# zpool online tank c1t3d0

相关内容