はじめに
minishift v1.34.1(openshift 3.11)にて
何度かPodのリビルドを続けていると「The node was low on resource: ephemeral-storage.」エラーが発生してリビルドできなくなりました。
Status:
The node was low on resource: ephemeral-storage. Container docker-build was using 16Ki, which exceeds its request of 0.
ディスクスペースの確認
minishift v1.34.1起動時のディスク領域チェックでは
-- Checking available disk space ... 79% used OK
と出ていました。
具体的にどのような使われ方をしているかminishift ssh
でDockerに入りディスク領域を調べます。
[tak@centos7 ~]$ minishift ssh
[docker@minishift ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/live-rw 10190100 740772 9328132 8% /
devtmpfs 5091704 0 5091704 0% /dev
tmpfs 5119112 0 5119112 0% /dev/shm
tmpfs 5119112 307140 4811972 6% /run
tmpfs 5119112 0 5119112 0% /sys/fs/cgroup
/dev/sr0 363294 363294 0 100% /run/initramfs/live
/dev/sda1 60385480 48366396 12019084 81% /mnt/sda1
tmpfs 1023824 0 1023824 0% /run/user/1000
当初の状態が分からないので何とも言えませんが…
/mnt/sda1
が作成しようとしているイメージに対し少ない状況です。
ちなみに起動では60GBを与えています。
[tak@centos7 ~]$ minishift start --disk-size 60GB --memory 6GB --cpus 2
回避方法1:ディスクを増やす(笑)...失敗
何も考えずディスクを増やすとまぁ回避できますよね。
[tak@centos7 ~]$ minishift start --disk-size 80GB --memory 6GB --cpus 2
20GB上乗せして起動してみた際のディスク領域チェック結果は以下の通りです。
-- Checking available disk space ... 81% used !!! OK
あれあれ…どうやら/mnt/sda1
の結果を表示しており、--disk-size
で増やしても効いてないっぽいですね(汗
[tak@centos7 ~]$ minishift ssh
[docker@minishift ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/live-rw 10190100 737232 9331672 8% /
devtmpfs 5091704 0 5091704 0% /dev
tmpfs 5119112 0 5119112 0% /dev/shm
tmpfs 5119112 20232 5098880 1% /run
tmpfs 5119112 0 5119112 0% /sys/fs/cgroup
/dev/sr0 363294 363294 0 100% /run/initramfs/live
/dev/sda1 60385480 48366928 12018552 81% /mnt/sda1
tmpfs 1023824 0 1023824 0% /run/user/1000
ん?増えてない。
回避方法2:無駄なImageを消し空き領域を確保する
本来論としてはこっちだよね。ということで無駄なImageを削除し空き領域を増やします。
[docker@minishift ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
172.30.1.1:5000/test-fess/fess 13.4.0 18f9e8db0b08 6 hours ago 2.02 GB
docker.io/openshift/origin-control-plane v3.11.0 3fad55d0b2bc 25 hours ago 831 MB
docker.io/openshift/origin-hypershift v3.11.0 9918b48caff6 25 hours ago 551 MB
docker.io/openshift/origin-hyperkube v3.11.0 593fa6cbb593 25 hours ago 510 MB
docker.io/openshift/origin-cli v3.11.0 c5caf3700de6 25 hours ago 385 MB
<none> <none> 2df9061d9027 5 days ago 1.51 GB
<none> <none> 613f7ad01fc0 5 days ago 1.96 GB
<none> <none> 54ee1668f60d 6 days ago 1.51 GB
<none> <none> 8c34875e82ee 7 days ago 1.96 GB
<none> <none> 69e3b9481ce3 7 days ago 1.51 GB
docker.io/openshift/origin-node v3.11.0 ae0264e3c7ee 10 days ago 1.19 GB
docker.io/openshift/origin-control-plane <none> ce4e10190f41 10 days ago 831 MB
docker.io/openshift/origin-docker-builder v3.11.0 1db44ea65bc5 10 days ago 462 MB
docker.io/openshift/origin-haproxy-router v3.11.0 042c0b3dd43e 10 days ago 411 MB
docker.io/openshift/origin-hypershift <none> 8ce0da355fac 10 days ago 551 MB
docker.io/openshift/origin-pod v3.11.0 1d8edff9b53c 10 days ago 263 MB
docker.io/openshift/origin-docker-registry v3.11.0 875b808526a0 8 months ago 310 MB
docker.io/openshift/origin-web-console v3.11.0 be30b6cce5fa 12 months ago 339 MB
docker.io/openshift/origin-service-serving-cert-signer v3.11 47dadf9d43b6 12 months ago 276 MB
実際にイメージを消すとどうなるのか確認してみましょう。
目下チャレンジ中のFess(IMAGE ID:18f9e8db0b08
)を消します。
[docker@minishift ~]$ docker rmi 18f9e8db0b08
Untagged: 172.30.1.1:5000/test-fess/fess:13.4.0
Deleted: sha256:18f9e8db0b08f1fc89b2e9e4b91155bf76ac4ef4327ddc187ff2ac0af78eecd9
Deleted: sha256:421699e9e96fd96bc94514f63a6f95c1b0cd227469aac94a2be97c9abc183c37
:
Deleted: sha256:28c59e17fba422b953b6a798ea3c4ef3810ed30d2f2d55034e7b2afb7abca25c
Deleted: sha256:87b68ee0cb1ae89dc14deaf24268f327cc69ca4d75a6d05c106fe24cbebb66a2
Deleted: sha256:2e6f13bce48836ea3db2009e6ccafa21b52a5bc9a94de7669a908792fda64ca9
Deleted: sha256:83950d1edbaf18e9874bd954f1818030afc686990c439422d5254dcdf8aad953
[docker@minishift ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/live-rw 10190100 737276 9331628 8% /
devtmpfs 5091704 0 5091704 0% /dev
tmpfs 5119112 0 5119112 0% /dev/shm
tmpfs 5119112 28440 5090672 1% /run
tmpfs 5119112 0 5119112 0% /sys/fs/cgroup
/dev/sr0 363294 363294 0 100% /run/initramfs/live
/dev/sda1 60385480 46851424 13534056 78% /mnt/sda1
tmpfs 1023824 0 1023824 0% /run/user/1000
/mnt/sda1
の空き領域が少し増えました。(81% → 78%)
怪しい使ってなさそうな中間イメージが多数あるので消します。
[docker@minishift ~]$ docker rmi 2df9061d9027 613f7ad01fc0 54ee1668f60d 8c34875e82ee 69e3b9481ce3
Error response from daemon: conflict: unable to delete 2df9061d9027 (must be forced) - image is being used by stopped container f4cc480e3848
Error response from daemon: conflict: unable to delete 613f7ad01fc0 (must be forced) - image is being used by stopped container 1c2d6d5cfb0a
Error response from daemon: conflict: unable to delete 54ee1668f60d (must be forced) - image is being used by stopped container b9ae0bae20d3
Error response from daemon: conflict: unable to delete 8c34875e82ee (must be forced) - image is being used by stopped container 3c5c19f843f6
Error response from daemon: conflict: unable to delete 69e3b9481ce3 (must be forced) - image is being used by stopped container b40662336d85
あれ…使ってる?
では強権発動(-f
)
[docker@minishift ~]$ docker rmi -f 2df9061d9027 613f7ad01fc0 54ee1668f60d 8c34875e82ee 69e3b9481ce3
Deleted: sha256:2df9061d90277de098c29a7bbe95e43467645322f86db9ec6f05276fa6c7955d
Deleted: sha256:52e750df79d4fb658190b5561ac5abec0d71907db3c9ae1dc61b790b52605248
:
Deleted: sha256:a1c3dcffb385ac34f75b4d20c08bad683bd145f3566ba7a27e5b5125efdc76de
Deleted: sha256:1a6b802d187bdab95c4f3fe011d973706a3cfaae093a7409528f4c9dc1f4b884
Deleted: sha256:88ba605b06ba70275740312b05b6272a0e234ca18e29a7c873d4c6a9144e1513
Deleted: sha256:a0b6d1db4580647aede85c2f998a8f078286280c58c16bd7bdfeb681b19ba071
[docker@minishift ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/live-rw 10190100 737320 9331584 8% /
devtmpfs 5091704 0 5091704 0% /dev
tmpfs 5119112 0 5119112 0% /dev/shm
tmpfs 5119112 28456 5090656 1% /run
tmpfs 5119112 0 5119112 0% /sys/fs/cgroup
/dev/sr0 363294 363294 0 100% /run/initramfs/live
/dev/sda1 60385480 46850364 13535116 78% /mnt/sda1
tmpfs 1023824 0 1023824 0% /run/user/1000
変わってない…。はて?合計8.45GBのImage削除効果はどこにあったのでしょうか???
そもそもProjectを削除したのに/mnt/sda1
が45GBも消費されているのは何故なんでしょうか?
[docker@minishift ~]$ cd /mnt/sda1
[docker@minishift sda1]$ sudo du -m | sort -n
:
1 ./var/lib/minishift/base/openshift.local.pv/registry/docker/registry/v2/repositories/fess/fess/_layers/sha256
:
31348 ./var/lib/minishift/base/openshift.local.pv/registry/docker/registry/v2/blobs
31348 ./var/lib/minishift/base/openshift.local.pv/registry/docker/registry/v2/blobs/sha256
32818 ./var/lib/minishift/base/openshift.local.pv
32818 ./var/lib/minishift/base/openshift.local.pv/registry
32818 ./var/lib/minishift/base/openshift.local.pv/registry/docker
32818 ./var/lib/minishift/base/openshift.local.pv/registry/docker/registry
32818 ./var/lib/minishift/base/openshift.local.pv/registry/docker/registry/v2
32820 ./var/lib/minishift/base
32935 .
32935 ./var
32935 ./var/lib
32935 ./var/lib/minishift
[docker@minishift sda1]$ exit
結果を眺めていると以前作成したProject名のディレクトリもチラホラ
Openshift上でProject消してもディスク上からは消えていない疑惑が…
この辺情報入手できたら記載していきたいと思います。
回避方法3:minishiftなので一回消す(笑)…最悪
本番環境では対応できないけどminishiftならではの対処法。
それはminishiftを一度消してクリアする。
[tak@centos7 ~]$ minishift stop
Stopping the OpenShift cluster...
Cluster stopped.
[tak@centos7 ~]$ minishift delete
You are deleting the Minishift VM: 'minishift'. Do you want to continue [y/N]?: y
Removing entries from kubeconfig for cluster: 192-168-42-42:8443
Deleting the Minishift VM...
Minishift VM deleted.
[tak@centos7 ~]$ minishift start --disk-size 60GB --memory 6GB --cpus 2
-- Starting profile 'minishift'
-- Check if deprecated options are used ... OK
-- Checking if https://github.com is reachable ... OK
-- Checking if requested OpenShift version 'v3.11.0' is valid ... OK
-- Checking if requested OpenShift version 'v3.11.0' is supported ... OK
-- Checking if requested hypervisor 'kvm' is supported on this platform ... OK
-- Checking if KVM driver is installed ...
Driver is available at /usr/local/bin/docker-machine-driver-kvm ...
Checking driver binary is executable ... OK
-- Checking if Libvirt is installed ... OK
-- Checking if Libvirt default network is present ... OK
-- Checking if Libvirt default network is active ... OK
-- Checking the ISO URL ... OK
-- Checking if provided oc flags are supported ... OK
-- Starting the OpenShift cluster using 'kvm' hypervisor ...
-- Minishift VM will be configured with ...
Memory: 6 GB
vCPUs : 2
Disk size: 60 GB
-- Starting Minishift VM .............
やっぱり--disk-size
、--memory
、--cpus
は最初じゃないと効かないのね
記録としてminishift構築初期のdf結果を載せておきます。
[tak@centos7 ~]$ minishift ssh
[docker@minishift ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/live-rw 10190100 737316 9331588 8% /
devtmpfs 3027480 0 3027480 0% /dev
tmpfs 3054888 0 3054888 0% /dev/shm
tmpfs 3054888 20220 3034668 1% /run
tmpfs 3054888 0 3054888 0% /sys/fs/cgroup
/dev/sr0 363294 363294 0 100% /run/initramfs/live
/dev/sda1 60385480 3514896 56870584 6% /mnt/sda1
tmpfs 610980 0 610980 0% /run/user/1000
最後に
今回は最悪の手段で領域確保を強行してしまいましたが
いずれまた訪れるであろうディスク領域枯渇時には対処できるよう
情報あさってみます。