Solaris 格式命令失敗,並顯示警告:設定驅動器幾何形狀時發生錯誤。警告:寫入 VTOC 時發生錯誤。標籤失敗。

Summary: 無法在 PowerPath 控制下格式化新指派的裝置。當虛擬裝置名稱作為格式命令的參數給出時,找不到裝置...當按本機名稱選取裝置時,格式化命令會失敗,並顯示警告:設定磁碟機幾何形狀時發生錯誤。警告:寫入 VTOC 時發生錯誤。標籤失敗。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

取消遮罩先前的裝置後,裝置是使用相同的主機 LUN 裝置重新設定,而沒有清理 PowerPath。後來,通過「powermt檢查」刪除了死路徑。

或者裝置已新增至組態中,但之後發生錯誤,導致開機歸檔檔案不一致。

環境:Solaris 10 或 Solaris 11
EMC SW:適用於 Solaris 的 PowerPath (任何版本)

# 格式 emcpower0a
找不到磁碟!
# 格式
...
指定磁碟 (輸入磁碟編號):165
選取 C1T500009792318B960d42
[磁碟格式化]
格式化> p
分割區>標籤
已準備好標記磁碟,請繼續嗎? y

警告:設定磁碟機幾何結構時發生錯誤。
警告:寫入 VTOC 時發生錯誤。
標籤失敗。
隔>

Cause

裝置缺少 /devices/pseudo

中的項目。/dev/dsk 和 /dev/rdsk 中的所有項目皆正確...但無處可去:

    294998 2 lrwxrwxrwx 1 根根 34 Jun 26 12:55 emcpower0 -> ../../devices/pseudo/emcp@0:wd,blk
294997 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0a -> ../../devices/pseudo/emcp@0:a,blk
291378 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0b -> ../../devices/pseudo/emcp@0:b,blk
289256 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0c -> ../../devices/pseudo/emcp@0:c,blk
295005 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0d -> ../../devices/pseudo/emcp@0:d,blk
289257 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0e -> ../../devices/pseudo/emcp@0:e,blk
289258 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0f -> ../../devices/pseudo/emcp@0:f,blk
289259 2 lrwxrwxrwx 1 root root 33 Jun 26 12:55 emcpower0g -> ../../devices/pseudo/emcp@0:g,blk


/devices/pseudo 中沒有 emcp@0 項目。

Resolution

需要重新建立 /devices/pseudo 中的項目。首先,請檢查問題不是由 HPOvPerfAgt 套裝所造成。否則,請使用以下 4 種方法之一。如果第一種方法失敗,則第二種方法應成功。在最壞的情況下,最後一個應該會成功。

1) 嘗試使用「devfsadm -i emcp」命令
# devfsadm -i emcp
# ls /devices/pseudo/emcp@0
重新建立 emcp 項目 (檢查項目現在是否存在 - 請注意,emcp@0 代表 emcpower0;若為 emcpowerXX,請尋找 emcp@XX)
# bootadm update-archive (以整合開機資訊中的組態變更)

2) 先前的命令可能無法成功在 /devices 中建立新項目。以下命令是基於以下事實:當成功的「emcpadm renamepseudo」命令執行時,會重新建置 /devices 中的所有項目。這是此命令的副作用,對於修復此處的問題非常有用。
拾取未使用的虛擬設備(當前未掛載,是文件系統的一部分),該設備沒有任何問題(以格式顯示,其條目存在於/devices下)。假設這個好的偽設備是emcpower7。假設組態中沒有 emcpower1007,因此 emcpower1007 可能是一個新名稱。執行 :
# emcpadm renamepseudo -s 7 -t 1007
# emcpadm renamepseudo -s 1007 -t 7
# powermt save
# bootadm update-archive


使用“好”的偽設備很重要....而不是在 /devices 中沒有條目的偽設備,否則命令將失敗(請參閱下面的第 4 段)並且不會修復 /devices 條目。
使用上述命令,在第一個命令之後,問題應該已經修復。第二次重命名只是為了恢復原始偽名。最後 2 個命令用於合併更改。

3) 嘗試取消管理/管理有問題的裝置 (這可能會失敗)
# powermt unmanage dev=emcpower0a
錯誤:取消管理失敗


4) 嘗試重新命名有問題的虛擬裝置 (這可能會失敗)
# emcpadm renamepseudo -s 0 -t 1000
<ERROR: 無法重新命名裝置。emcpower0>


不存在 5) 完全重新設定有問題的裝置
# powermt remove dev=0
# powermt save

>> 從儲存群組
# devfsadm -C 中取消遮罩裝置 (移除原生路徑在 /dev/dsk 和 /dev/rdsk 中的項目)
# rm /dev/dsk/emcpower0*
# rm /dev/rdsk/emcpower0*

>> 將裝置遮罩回儲存群組
# devfsadm (重新建立原生路徑的項目)
# powermt config (重新設定 Powerpath)
# powermt display dev=all (檢查虛擬裝置是否已重新設定)
# powermt save
# ls /devices/pseudo/emcp@0
  (檢查項目現在是否存在 - 請注意,emcp@0 代表 emcpower0;若為 emcpowerXX,請尋找 emcp@XX)
# bootadm update-archive (以整合開機資訊中的組態變更)  

Affected Products

PowerPath for Solaris

Products

PowerPath for Solaris
Article Properties
Article Number: 000065154
Article Type: Solution
Last Modified: 28 Oct 2024
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.