我正在兩個光纖通道連接的 EMC 陣列之間執行儲存遷移。我已經將資料從舊陣列上的磁碟移動到新陣列上的磁碟。現在我想從作業系統中刪除舊磁碟,以便可以取消陣列分割區,而作業系統不會注意到並因磁碟消失而發出警報。我真的不想重新啟動才能實現這一目標。
對於非 MPxIO 磁碟,我可以毫無問題地執行此操作,但對於 MPxIO 磁碟,我常用的技術不起作用。
我常用的技術是使用
luxadm -e offline /dev/rdsk/cXtXdXs2
devfsadm -Cvc disk
這是一個例子。這是在我的測試實驗室中,它沒有連接到 EMC 陣列,而是連接到舊的 SENA (A5100),但它對於任何 FC 連接的磁碟都應該工作相同。正如你所看到的,它根本不起作用
v480:root $ stmsboot -L | grep /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c5t22d0 /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c2t22d0 /dev/rdsk/c6t20000020371AC414d0
v480:root $ luxadm -e offline /dev/rdsk/c6t20000020371AC414d0s2
v480:root $ stmsboot -L | grep /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c5t22d0 /dev/rdsk/c6t20000020371AC414d0
/dev/rdsk/c2t22d0 /dev/rdsk/c6t20000020371AC414d0
嘗試刪除底層設備也不起作用
v480:root $ luxadm -e offline /dev/rdsk/c5t22d0s2
Error: Invalid pathname (/dev/rdsk/c5t22d0s2)
v480:root $ luxadm -e offline /dev/rdsk/c2t22d0s2
Error: Invalid pathname (/dev/rdsk/c2t22d0s2)
有人知道這是如何做到的?
答案1
我在《Solaris》中找到了這個問題的答案文件。它歸結為cfgadm -c unconfigure
使用由 給出的設備 wwn 取消配置 () 設備cfgadm -al
並用 進行清理devfsadm
。接下來的困難是識別與要刪除的 MPxIO 設備相對應的 wwns。這個小腳本應該會列印設備 wwn 及其對應的設備檔案。
fcinfo hba-port | awk '/HBA Port WWN: / { HBAwwn=$NF} /OS Device Name:/ {print $NF, HBAwwn}' | sed 's/\/dev\/cfg\///g' | while read ctlr HBAwwn
do
fcinfo remote-port -sp $HBAwwn | awk '/Remote Port WWN: / {rpwwn=$NF} /OS Device Name/ {print "'$ctlr'::" rpwwn, $NF}'
done
例如。
c0::500000e010f3eaf2 /dev/rdsk/c0t1d0s2
c0::500000e010f23c62 /dev/rdsk/c0t0d0s2
c5::21000020371ac414 /dev/rdsk/c6t20000020371AC414d0s2
c2::22000020371ac414 /dev/rdsk/c6t20000020371AC414d0s2
所以在這裡放下/dev/rdsk/c6t20000020371AC414d0s2
你會跑
cfgadm -c unconfigure c5::21000020371ac414 c2::22000020371ac414
devfsadm -Cvc disk
Oracle 將 MPxIO 稱為「StorageTek Traffic Manager 軟體」或 STMS,這使得文件更難找到。
Solaris 11 等效文件是這裡。它們看起來與 Solaris 10 幾乎相同。我無法找到早期版本的文檔,但缺少命令fcinfo
和 pre-leadville FC 驅動程式肯定使它成為一件真正的苦差事。