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

在Solaris中,如果我在机器运行时拔掉一对磁盘,那么检查每个磁盘的一些函数将需要一段时间,因为它必须等待超时。

例如, formatzpool import都会将所有磁盘读取为他们所做的第一件事情之一。

我有时会用下面的方式来反作用:(我当然会用正确的数字replace零)

cd /dev/dskmkdir offlinemv c0t0d0* offline
cd ../rdsk mkdir offlinemv c0t0d0* offline

在这一点上,我可以做任何我想要的formatzpool import ,它会更快。

当磁盘重新插入,我可以再次联机与他们

cd /dev/dskmv offline/* .rmdir offline
cd ../rdsk mv offline/* .rmdir offline

有这个命令吗? 一个临时删除指定磁盘的符号链接,以及一种方法把它们放回去?

我对我find的解决scheme非常满意。 特别是因为这台机器是离线机器,我可以冒这个级别的操作风险。 (例如,如果我实际上input了零,就会有麻烦)

但是,如果有的话,我想知道更好的方法。

正确的方法是在拔出设备之前使用cfgadm命令取消configuration设备。 “ ZFSpipe理指南”提供了此过程的示例(当然,如果您不使用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