在 Solaris 10 上刪除 MPxIO 設備而不重新引導

在 Solaris 10 上刪除 MPxIO 設備而不重新引導

我正在兩個光纖通道連接的 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 驅動程式肯定使它成為一件真正的苦差事。

相關內容