Oracle ASM 篩選驅動程式篩選和 5.15 UEK7 核心

最近的 Linux 內核變更影響了 Oracle ASM 篩選驅動程式。本文探討停用過濾與存放空間回收功能。

Oracle ASM Filter Driver

概要

This blog post explores the impact of disabling Oracle ASM Filter Driver filtering on space reclamation on a FlashArray system.

image_pdfimage_print

本文內容是關於 Oracle ASM 篩選驅動程式篩選,原先出現在 Ron Ekins 的部落格。經作者的認可與同意,重新發表。

我是 Oracle ASM Filter Driver (AFD) 的長期粉絲。AFD 過濾是它的主要優勢之一。

AFD 可確保寫入作業僅由受信任和註冊的 Oracle 流程執行,從而阻止可能造成資料損毀的潛在損壞寫入作業。

遺憾的是,最近的 Linux 核心變更已經影響了 AFD,而 Oracle 的最新建議是停用 AFD 篩選,直到修復可用為止。

在 Oracle 資料庫 19.24 中,預設會停用篩選功能,但對於較早版本,Oracle 提供修補程式 35618858:預設停用 5.15 以上核心的篩選功能。

可用的 Oracle 版本更新 (RU) 修補程式

  • Oracle Clusterware 19 版 (19.23.0.0.240416ACFSRU)
  • Oracle Clusterware 19 版 (19.24.0.0.0ACFSRU)
  • Oracle Clusterware 19 版 (19.25.0.0.0ACFSRU)

在這篇部落格文章中,我會探討停用 AFD 過濾功能對全快閃儲存陣列空間回收的影響。 

核心版本

我最近使用 kernel 5.15 將 Oracle RAC 伺服器升級到 Oracle Linux 8.10。您可以使用 uname -r 來檢查核心版本:

Oracle ASMFD 狀態

我們可以使用 asmcmd afd_state 命令取得 ASM 篩選驅動程式狀態,例如:

在 RAC 叢集中,使用 asmcmd afd_state – 所有選項來查看所有節點的狀態。所有節點應具有相同的篩選狀態。

停用 ASMFD 篩選

使用 asmcmd afd_filter -d 命令停用篩選:

啟用 ASMFD 篩選

如果需要,您可以使用 asmcmd -e afd_filter 指令重新啟用篩選,例如:

存放空間回收

現在,這引發了一個大問題:如果我停用 ASM 過濾驅動程式,我是否無法將 SCSI UNMAP 指令發送回全快閃儲存陣列,以釋放未使用的空間?

好的,我有一個雙節點 RAC 叢集,並禁用 ASMFD 篩選功能。

建立 Oracle 表格空間

為證明這一點,讓我們建立一個 4TB 的表格空間,並等待 Oracle 初始化資料檔案。

我們來確認一下,沒有空間使用我的v$asm_disk查詢:

並建立 4TB 大檔案的表格空間。

使用這個v$asm_disk查詢,我可以看到我的四個 ASMFD 磁碟區已如預期使用總計 4TB。

使用 asm 命令列公用程式 asmcmd 和清單屬性選項,我看到我的 AFDATA 磁碟群組上已啟用了儲存資源隨需配置:

使用 FlashArray CLI 並執行 purevol 清單 –-space –-total 指令,即可確認 AFD 磁碟群組中表格空間所使用的空間。例如:

purevol 清單 z-racpod::afd_data* –空間 –總計

放置桌面空間

現在,讓我們使用 DROP TABLESPACE 來捨棄 Oracle 的表格空間,包括內容和資料檔案,並看看對儲存平台和 Oracle 資料庫的影響。 tablespace_name

如果我們重新執行v$asm_view查詢,Oracle 現在將報告 4TB 測試表格空間已發佈。

回到 Pure Storage® FlashArray 後,我們發現即使刪除 Oracle 的表格空間,我們仍然在消耗空間。

Oracle ASMFD 重新平衡精巧相位

使用 Oracle ASM 篩選驅動程式時,我們可以手動觸發 SCSI UNMAP 命令,使用 ALTER DISKGROUP 與平衡比較的平衡釋放空間回儲存陣列。

我包含了可選的等待選項,僅在完成後才返回。

如果現在我們回到 FlashArray CLI 並重複 purevol 清單 –space –total command,我們可以看到 ALTER DISKGROUP 與 COMPACT 重新平衡的影響。

我們可以看到,即使 AFD 篩選已停用,ASMFD 仍然能夠將 SCSI UNMAP 請求發送到儲存陣列,以釋放空間。

概要

在這篇部落格文章中,我確認停用 ASMFD 篩選功能不會影響空間回收。

Oracle AFD 開發團隊正積極為上述和更新的核心開發新的過濾和保護機制。當新的過濾解決方案推出時,我會試試看並分享我的發現。

如果您想深入了解如何使用 ASM 篩選驅動程式來回收儲存空間,請查看此部落格文章