母親氏、異変に気がつく
母「なんかPCログインできんのやけど?」
そのとき私は猛烈にトイレに行きたかった。とりあえず投げやりに
私「じゃあ再起動して」
これで解決するかに思われたが、トイレの中にまでヘルプを求める声が。
母「再起動したらログイン画面すらでなない」
ようやくトイレを出てPCを見るとその瞬間なぜかログイン画面にはたどり着いた。
原因をたどる
ログインして起動するとこんな通知が。
Diskがあいてない・・・?
我が家では
/ /home /boot/efi swap
のようにパーテションを切っていて、この内/
が残り50.8MBくらいしかなかった。
Diskを専有しているのは誰だ?
おもむろに
sudo du --exclude=home / | tee log.txt
して眺めていると/var/lib/docker/
に差し掛かった。
・・・docker?
docker、心当たりがある!
つい昨日これのCIを組み立てるためのdocker imageを作るためにいろいろ試行錯誤していた。これのせいか!
du --summarize -h /var/lib/docker/
すると23GBと表示された。
パーテション分け
眺めていると/home
には空きがまだある。このパーテションを削ってあげれば/var/lib/docker/
を割り当てられる気がする。
GParted
PCを終了し、手元にあったUbuntu 18.04のLive USBで起動する。
コマンドラインでパーテション操作とか余裕で無理ゲーなのでおとなしくGPartedを使う。
流石に100GBも割り当てれば足りるだろう。というわけで/dev/sdb1
を100GB削って、新しく/dev/sdb3
を作った。
結局40分くらいこの作業にかかった気がする。
copy
まずは移動元と移動先のパーテションをマウントしないといけない。
面倒臭がってキーボードの設定をしないで作業したので_
とか打てない、つらい。
$ cd /mnt $ sudo mkdir croot $ sudo mount /dev/sdb1 /mnt/croot/ $ sudo mkdir ndocker $ sudo mount /dev/sdb3 /mnt/ndocker/
さて、copyだ。コマンドはおなじみcp
を使うとして、属性とかをそのまま引き継いでほしい。それには-a
が必要だ。あと進捗が見たいので-v
もつける。
ここでちょっとミスをしてしまう。
$ sudo cp -av /mnt/croot/var/lib/docker/ /mnt/ndocker/
するとndocker
の中にdocker
がコピーされてしまった。本当は
$ sudo cp -av /mnt/croot/var/lib/docker/* /mnt/ndocker/
としたかったのに、「そんなファイル名ないしDirectory名知らねー」と怒られてしまうから仕方なくこうした。なんでだったんだろうか。
とにかく仕方ないのでmv
する。mv
は属性とかはいじらない(読み取り権限ないと実行できないけど)
$ sudo ls -a /mnt/ndocker/ | xargs -I% sudo mv /mnt/ndocker/docker/% /mnt/ndocker/
これも*
での展開がうまく行かずxargs
を使ってる。とことんワイルドカードに嫌われている。なんでや?
リネーム
移送元も消さずにリネームして残しておく。
$ sudo mv /mnt/croot/var/lib/docker /mnt/croot/var/lib/docker_bk
fstab
これを眺めつつ設定する。UUIDはblkid
コマンドをわざわざ叩かなくてもGPartedでも見れる。
# # /var/lib/docker was moved to /dev/sdb3: 20190911 UUID=3a1ca756-0a42-4c33-9af0-83fd82ff76a8 /var/lib/docker ext4 defaults 0 2
シャットダウン
PCを終了してLive USBを抜く。
起動
起動しますようにと祈りつつ起動。
起動した。
dockerが普通に使えるか検証し動いたのでバックアップで残してた移送元を消して作業完了。
$ sudo rm -r /var/lib/docker_bk
その後
作業後20分もしないうちに国分寺市は猛烈な雷と雨に襲われた。
年に一度あるかないかくらいの雷だったのでPCとかTVのコンセントを抜いた数分後、瞬間的な停電に見舞われた。どっかーんという大きな雷が落ちる音がした。dockerがどっかーん(言いたかっただけ
https://twitter.com/tweet_egoiste/status/1171700198726193152?s=20
作業中に停電したら・・・
危ない。あぶない。