先說一下場景:
- 主機安裝了 unraid 6.9.2
- 開了一個虛擬機跑黑群智,並直通了一個網口 + 兩塊硬盤
- unraid 通過 Unassigned Devices 來掛載黑群智的硬盤,使用 NFS 協議
問題:
想更換硬盤的時候,直接點停止陣列,等了大半天都沒有停止成功。
檢查了一下系統日誌,發現一直卡在 Unmounting Remote SMB/NFS Share 不成功,並且一直在重試。
造成這個問題的原因是因為黑群智也是跑在 unraid 上面的,停止陣列的操作會優先把 Docker 和虛擬機服務優先關閉掉,導致 NFS 鏈接失去響應無法正常 Unmount。
搜索了一下發現好多人都碰到過類似的問題:NFS 伺服器某些原因斷網後,NFS 客戶機無法 umount 直到最新的 nfsv4 都是這樣子,所以會造成進程一致卡住在重試。
解決辦法有以下兩種:
- 更換成 SAMBA,SMB 無法卸載不影響關機,不會造成假死。
- 在關機前,手動在 Unassigned Devices umount 所有已經掛載的 NFS mount,或者可以打開終端運行 umount -l /mnt/remotes/* 強制卸載所有 NFS umount。
剩下在問題就是如何把方案 2 改成自動化,不需要每次去手工執行,在 unraid forums 看到一個解決方案:
-
進入 Main 界面,找到「SMB Shares | NFS Shares | ISO File Shares」這一行,點擊 nfs 服務的設置按鈕,如圖:
-
點擊「默認」,在出現的 Script 裡面,找到 UNMOUNT ACTION 並且在
# do your stuff here
處換行填入umount -l /mnt/remotes/*
,如圖:
PS:如果你只想卸載某一個磁盤,那就要分別設置(重複 2),然後填入具體的盤符,如 umount -l /mnt/remotes/Meida_4
。
- 點擊保存。
測試:
- Unassigned Devices mount NFS 服務
- NFS 伺服器關機或者斷網
- 點擊 Unassigned Devices 的 UNMOUNT 安裝(如果能夠正常卸載,說明就沒有問題了)
--EOF--
參考文章: