AIX JFS2 Filesystem Concurrent Mount Protection 0506-365 Failure

eric0435發表於2015-09-17

朋友幫助客戶透過複製來建立資料庫副本來做測試,作業系統AIX,儲存是V7000,使用了儲存子系統的FlashCopy來進行復制,FlashCopy是IBM ESS儲存伺服器所支援的功能之一,主要用於本地的備份和恢復。FlashCopy在某一時間點t0建立源LUN和目標LUN之間的對應關係,隨後源LUN資料塊(512位元組)的更新會將源LUN資料塊更新前的原始資料複製到目標LUN中。FlashCopy可以儲存系統在t-時間的資料映像,如果在T0時間系統中的資料是完整和一致的,那麼在目標LUN中的資料就可以用於系統的備份和恢復。但在載入目標LUN對應檔案系統時出現了故障,故障資訊如下:

#mount /oracle/EP1/origlogB
mount: /dev/origlogBlv on /oracle/EP1/origlogB
0506-365 Cannot mount guarded filesystem.
The filesystem is potentially mounted on another node.

雖然AIX PowerHA可以併發訪問多個系統中的卷組,但在多個節點同時mount JFS2檔案系統將會造成檔案系統損壞。當系統檢測到檔案系統中的資料或後設資料與記憶體中的檔案系統狀態衝突時,這些同時mount事件也可能會造成系統崩潰。唯一的例外就是mount只讀檔案系統,檔案或目錄不會被改變。

在AIX 7100-01 and 6100-07引入了一個叫作"Mount Guard"的特性用來阻止同進或併發mount相同檔案系統。如果一個檔案系統已經被mount到另一個節點,那麼這個功能就會被啟用。AIX將會阻止這個檔案系統被mount到其它節點。Mount Guard預設情況下是沒有啟用的,但可以透過系統管理員進行配置。但不允許對基本作業系統的檔案系統,比如/,/usr,/var等進行設定。

啟用Mount Guard
為了對一個檔案系統永久啟用Mount Guard可以編輯/usr/sbin/chfs:

# chfs -a mountguard=yes /mountpoint

/mountpoint現在就處於保護狀態並阻止併發mount。這個選項也可以在建立檔案系統是給crfs使用。

# chfs -a mountguard=no /mountpoint

/mountpoint將不再受保護也不會阻止併發mount。

為了判斷一個檔案系統的mount guard狀態,執行以下命令:

# lsfs -q /mountpoint
Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting
/dev/fslv34     --         /mountpoint            jfs2  4194304 rw         no   no
  (lv size: 4194304, fs size: 4194304, block size: 4096, sparse files: yes, inline log: no, inline log size: 0, EAformat: v1, Quota: no, DMAPI: no, VIX: yes, EFS: no, ISNAPSHOT: no, MAXEXT: 0, MountGuard: yes)

執行/usr/sbin/mount命令將不會顯示mount guard狀態。

檔案系統的mount與mount guard
當一個受保護的檔案系統被併發mount時,第二個mount操作將會出現以下錯誤資訊:

# mount /mountpoint
mount: /dev/fslv34 on /mountpoint:
Cannot mount guarded filesystem.
The filesystem is potentially mounted on another node

在系統崩潰後檔案系統可能仍然保留了mount啟用標識並且拒絕被mount。在這種情況下可以透過有
"noguard"選項的mount命令來臨時覆蓋檔案系統的guard狀態。

# mount -o noguard /mountpoint
mount: /dev/fslv34 on /mountpoint:
Mount guard override for filesystem.
The filesystem is potentially mounted on another node.

這裡因為使用flashcopy技術來備份資料是透過複製LUN來完成的,也就複製了檔案系統,而原來的文
件系統啟用了mount guard,所以在mount目標檔案系統現在有兩種方法:
1.禁用目標檔案系統的mount guard特性
2.使用mount -o noguard來臨時覆蓋mount guard特性

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-1802664/,如需轉載,請註明出處,否則將追究法律責任。

相關文章