無法在基於 GPT 的系統上停用交換

無法在基於 GPT 的系統上停用交換

我想在幾個正在運行的 ubuntu 16.04 伺服器上停用交換。如果可能的話,我希望不要重新啟動它們。從我的研究來看,似乎

  • 運行swapoff -a以停用交換,直到下次重新啟動
  • 並註釋交換行/etc/fstab以在下次重新啟動後保留

應該做這項工作。然而,核心似乎正在重新啟用交換:在不同的時間後swapoff,我在日誌中看到類似的內容/var/log/kern.log

Nov 28 12:00:51 srv07 kernel: [ 8049.183480] Adding 62498812k swap on /dev/sda3. Priority:-1 extents:1 across:62498812k FS

有一次是在 4 小時後發生的swapoff,另一次是 5 分鐘後發生的。

這是什麼原因造成的?

這是在 Ubuntu 16.04 伺服器上,核心版本 4.4.0。

答案1

磁碟使用 GPT,這是由於GPT分割區自動掛載

在 GPT 分割區磁碟上,systemd-gpt-auto-generator(8) 將依照可發現分割區規範掛載分割區,因此可以從 fstab 中省略它們。

另一頁同一文件解釋如何停用此功能:

啟動gdisk,例如:

$ gdisk /dev/sda

按 p 列印分割區表並記下要停用自動掛載的分割區號。

按 x 額外功能(僅限專家)。

按設定屬性。輸入分區號碼並設定屬性 63。按 Enter 鍵結束屬性變更。對您想要封鎖自動掛載的所有分割區重複此操作。

完成後將表寫入磁碟並透過 w 命令退出。

或使用 sgdisk,可以使用 -A/--attributes= 選項來設定屬性;使用方法請參閱 sgdisk(8)。例如,若要在 /dev/sda2 上設定分割區屬性 63“不自動掛載”,請執行:

$ sgdisk -A 2:set:63 /dev/sda

相關內容