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、もう 1 度は 5 分後に起こりました。

何が原因でしょうか?

これは、Ubuntu 16.04 サーバー、カーネル バージョン 4.4.0 上にあります。

答え1

ディスクはGPTを使用していましたが、これはGPTパーティションの自動マウント:

GPT パーティション化されたディスクでは、systemd-gpt-auto-generator(8) が Discoverable Partitions Specific に従ってパーティションをマウントするため、fstab から省略できます。

別のページ同じドキュメントでは、これを無効にする方法についても説明しています。

gdisk を起動します。例:

$ gdisk /dev/sda

p キーを押してパーティション テーブルを印刷し、自動マウントを無効にするパーティション番号を書き留めます。

x を押すと追加機能が有効になります (エキスパートのみ)。

属性の設定を押します。パーティション番号を入力し、属性を 63 に設定します。設定フィールドの下には、63 (自動マウントしない) と表示されます。属性の変更を終了するには、Enter キーを押します。自動マウントを禁止するすべてのパーティションに対してこれを繰り返します。

完了したら、テーブルをディスクに書き込み、w コマンドで終了します。

sgdisk を使用する場合、-A/--attributes= オプションを使用して属性を設定することもできます。使用方法については sgdisk(8) を参照してください。たとえば、/dev/sda2 のパーティション属性 63 を「自動マウントしない」に設定するには、次のコマンドを実行します。

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

関連情報