web-dev-qa-db-ja.com

新鮮なUbuntu 14.04で使用されていないスワップパーティション

使用するメモリが上限に達したときにシステムがフリーズし、その理由を知りました。スワップは使用されていません。これが私のパーティションテーブルです。

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63       80324       40131   de  Dell Utility
/dev/sda4           81918   909195263   454556673    5  Extended
/dev/sda5       512121690   909195263   198536787   83  Linux
/dev/sda6           81920     3987455     1952768   83  Linux
/dev/sda7         3989504   140705791    68358144   83  Linux
/dev/sda8       492589056   512120831     9765888   82  Linux swap / Solaris
/dev/sda9       140707840   492584959   175938560   83  Linux

スワップパーティションはオンにならず、dfには表示されませんが、disksユーティリティには表示されます。

Filesystem             Size  Used Avail Use% Mounted on
udev                   1.9G  4.0K  1.9G   1% /dev
tmpfs                  392M  1.3M  391M   1% /run
/dev/sda7               65G   19G   43G  31% /
none                   4.0K     0  4.0K   0% /sys/fs/cgroup
none                   5.0M     0  5.0M   0% /run/lock
none                   2.0G   26M  1.9G   2% /run/shm
none                   100M   48K  100M   1% /run/user
/dev/sda6              1.9G   89M  1.7G   6% /boot
/dev/sda9              166G   47G  111G  30% /home
/home/my-user-name/.Private  166G   47G  111G  30% /home/my-user-name

enter image description here

$ Sudo swapon -s
Filename                Type        Size    Used    Priority

お気づきのように、私のホームパーティションは暗号化されていますが、スワップは暗号化していません。

スワップは/ etc/fstabで宣言されているようです:

# swap was on /dev/sda8 during installation
#UUID=df55bf68-b824-4f21-83f3-dfa80a0b74ab none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

なぜ機能しないのか、どうすれば修正できるのか知りたいのですが。

Updateいくつかのリリースで 報告されたバグ があり、14.04ではまだ修正されていないようです。

cat /etc/crypttabの結果は次のとおりです。

cryptswap1 UUID=df55bf68-b824-4f21-83f3-dfa80a0b74ab /dev/urandom swap,cipher=aes-cbc-essiv:sha256

そして A.B。 によって提案されたもの:

$ Sudo /etc/init.d/cryptdisks reload
 * Stopping remaining crypto disks...                                                                    [ OK ]
 * cryptswap1 (stopped)...                   
 * Starting remaining crypto disks...
 * cryptswap1 (skipped, device /dev/disk/by-uuid/df55bf68-b824-4f21-83f3-dfa80a0b74ab does not exist)... [fail]
                                                                                                         [ OK ]
$ Sudo swapon -a
swapon: /dev/mapper/cryptswap1: stat failed: No such file or directory

David Foerster の回答に基づいて、私はcat /dev/disk/by-uuid/を実行し、6つのuuidを取得しました。それぞれのblkid -Uは、スワップが想定されている/dev/sda8でしたか。 sdaの1、5、6、7、9、および/dev/mapper/luks-****を取得しました。私が考える最後のものは、インストール中に手を触れずに残した他の暗号化されたパーティションです(12.04までに暗号化されました)。

また、次の answer を試しました。動作しませんでした。

Update:パーティションを再フォーマットし、システムを再インストールしました。現在は正常に動作しているようです。

4
user10853
cryptswap1 (skipped, device /dev/disk/by-uuid/df55bf68-b824-4f21-83f3-dfa80a0b74ab does not exist)

UUID=df55bf68-b824-4f21-83f3-dfa80a0b74abエントリが生成されたとき、/etc/crypttabにあったボリュームはすべて存在しなくなりました。

修正方法

  • Sudo swapoff -aを実行して、すべてのスワップスペースが解放されていることを確認します。 swapon -sの出力は空になります(列ヘッダー行を除く)。

  • /etc/fstabおよび/etc/crypttabのスワップに関する行を削除(またはコメントアウト)します。不明な場合は、バックアップを作成してください。

  • /dev/sda8にスワップを置きたいと言います。これらの指示の残りについては、現在の内容を無視してください。扱いはごみデータです。 プロセス中のsda8のデータはすべて失われます!価値がある場合はバックアップを作成してください!

  • /dev/sda8に新しいスワップスペースを設定します。 nencrypted または encrypted のいずれかです。

私の以前のアドバイス(代わりに上記のアドバイスを使用してください)

Rawデバイス(またはraw dm-cryptデバイス)にはUUIDがないため、他のデバイス識別子に頼る必要があります。カーネル名(/dev/sd*およびフレンド)はブート間で安定しないため、最善の策は、目的の暗号化されたスワップパーティションにリンクする/dev/disk/by-id/内のエントリを見つけることです。私の経験では、これらは十分安定しています(カーネルまたはudevスクリプトの変更がなければ)。

/dev/sda8が暗号化されたスワップパーティションの目的の場所であると仮定すると、IDベースのパスを次の出力で見つけることができます。

ls -l /dev/disk/by-id/* | grep sda8

またはより精巧に:

find -L /dev/disk/by-id -samefile /dev/sda8

crypttabエントリの2番目の列に結果の1つを使用できます。

2
David Foerster