如何讓 Solaris 的故障管理器忘記未正確刪除的 ZFS 池?

如何讓 Solaris 的故障管理器忘記未正確刪除的 ZFS 池?

在 Solaris 11.4 系統上,我有一個佔用三個磁碟機的 ZFS 池。當系統斷電時,這三個驅動器被物理刪除,但既沒有zpool export也沒有zpool destroy被執行,因此原則上系統期望池仍然存在。這個池是不需要的。

現在,每次登入時,我都會遇到一則訊息:

NOTE: system has 3 active faults; run 'fmadm list' for details.

當我執行此操作時,我會獲得有關已刪除磁碟的多頁信息,其中包括嚴重性Major、訊息 IDZFS-8000-CSZFS-8000-PE、問題狀態isolated、問題類別fault.fs.zfs.poolfault.fs.zfs.no_replicas、狀態faulted and taken out of service和 FRU 狀態faulty/not present

這本身是有道理的,但一個令人困惑的方面是,雖然故障管理器意識到了“問題”,但 ZFS 卻沒有。 ZFS 似乎對丟失的池完全沒有概念。當我跑步時,zpool list我只看到rpool(沒有任何其他池子)。與zpool status和相同zdb;兩者都只列出了健康的池rpool,沒有給出任何錯誤、故障或降級,並且根本沒有提及有故障的池。如果我嘗試zpool status badpool,我會得到:

cannot open 'badpool': no such pool

因為我不想要這個池,所以我嘗試過zpool destroy badpool,但這也得到:

cannot open 'badpool': no such pool

-f沒有幫助,它可以預見地發出相同的訊息。

我不知道是什麼讓系統進入這種狀態:ZFS 沒有池的概念,而故障管理器仍在抱怨它。可能有人在斷開連接後已經執行了 ZFS 命令來銷毀它。

我瀏覽了fmadm「在 Oracle® Solaris 11.4 中管理故障、缺陷和警報」的手冊頁,但介面似乎有一個漏洞:它希望您「修復」、「替換」或「釋放」設備,但沒有提及要做什麼如果您不再需要該裝置或其提供的服務。

所以我的問題是:

  1. 為什麼故障管理器仍然記得 ZFS 似乎已經忘記的池? 和,

  2. 我怎麼能讓故障管理器忘記它?

zpool status除了遺漏池的遺漏之外,的輸出並不顯著,是:

  pool: rpool
    id: 3268360325047915522
 state: ONLINE
  scan: scrub repaired 0 in 54s with 0 errors on Tue Sep 19 20:05:51 2023
config:

    NAME      STATE      READ WRITE CKSUM
    rpool     ONLINE        0     0     0
      c2t0d0  ONLINE        0     0     0
errors: No known data errors

相關內容