
我想在幾個正在運行的 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