自作PCで遊んでいたら、1か月もたたないうちにディスクの容量がいっぱいですと怒られるようになった。
256GBのSSDでPCを作ったのでディスク容量がいっぱいになるわけがなく、調べた結果、本記事に記載する解決策にたどり着いた。
#環境
OS:Ubuntu Server 18.04
PCのディスク:容量 256GB のSSD
#症状
たくさんありますが、代表的なものをあげます。
###1.ダウンロードしたり、新しいファイルを書き込ませてくれない
ダウンロードなどしようとすると「ディスク容量がいっぱい」と言われる。
df -h
の結果、次のように/dev/mapper/ubuntu--vg-ubuntu--lv
が4GBしかなく、それが既にいっぱいになっている模様。
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 785M 2.7M 782M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 3.9G 3.6G 92M 98% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop0 98M 98M 0 100% /snap/core/10444
/dev/loop1 100M 100M 0 100% /snap/core/10958
/dev/sda2 976M 147M 763M 17% /boot
tmpfs 785M 0 785M 0% /run/user/1000
###2.タブ補完をさせてくれない
cannot create temp file for here-document: No space left on device
っていわれる。
タブ補完ができないのはなかなかうざい。
#解決方法
物理ボリュームと論理ボリュームというものがあり、論理ボリュームに空き容量がないことが今回の主原因。
→ 論理ボリュームを拡張する
手順
ボリュームグループの既存の空き領域をすべて使用するために、論理ボリュームのサイズを変更する。
$ lvm
lvm> lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
lvm> exit
続いて、論理ボリュームを使用可能にする。
$ resize2fs /dev/ubuntu-vg/ubuntu-lv
これで完了。
手順後の結果
df -h
の結果、
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv 229G 3.6G 215G 2% /
のように、ボリュームをフルに活用できる状態になりました。
##試したが駄目だったこと
/var/tmp/
のフォルダをrmしたりしたが、変わらず。原因を踏まえると当たり前なんですけどね。
#原因の解説
現象を簡潔に説明すると、「論理ボリュームに空き容量がない」
もっと直感的にいうと、「/
に空き容量がない」
/
以下にあるフォルダの自由がなくなるため、タブ補完などもできなくなった。
bashはタブ補完をしようとしたとき/tmp
に一時的にファイルを作成するので
/tmp
は/
の領域に含まれ、ここに空き容量がないため、タブ補完時にエラーメッセージが表示されたと考えれる。
/
で空き容量が不足しているということは/etc
や/var
にもファイルを書き込めないとい。
##参考