Solaris
Solaris:在低級別使磁碟離線,無需重新啟動
在 Solaris 中,如果我在機器執行時拔掉幾個磁碟,一些檢查每個磁碟的功能將需要一段時間,因為它必須等待超時。
例如
format
,或zpool import
兩者都讀取所有磁碟作為他們首先要做的事情之一。我有時會通過以下方式對此進行反擊:(我當然會用正確的數字替換零)
cd /dev/dsk
,mkdir offline
,mv c0t0d0* offline
,
cd ../rdsk
,mkdir offline
,mv c0t0d0* offline
.在這一點上,我可以做任何我想做的事,
format
而且zpool import
速度會快得多。重新插入磁碟後,我可以使用
cd /dev/dsk
,mv offline/* .
,rmdir offline
,
cd ../rdsk
,mv offline/* .
,rmdir offline
.有這個命令嗎?一個臨時刪除指定磁碟的符號連結,以及將它們放回原處的方法?
我對找到的解決方案感到非常滿意。特別是因為這台機器是離線機器,我可以冒險這種程度的操縱。(例如,如果我真的在真實的東西中輸入了零,就會有麻煩)
但是,我想知道一種更好的方法,如果有的話。
正確的方法是
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