我正在两个光纤通道连接的 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 设备相对应的 wwn。这个小脚本应该打印设备 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 驱动程序必定会让它成为一项真正的苦差事。