Coreosを使っていたとはいえ、Dockerしか触っていなかったので、Coreosの事はsystemdになったということ以外は知らなかった。
どうやら自動的にアップデートなんかをしているらしく、リブートした時には新しい方で立ち上がってくるらしい。そのことで(たぶん)えらいことになってしまった。
ことの発端だが、最近はFlentdとZabbixばっかり触っていたのでDockerをひさしぶりに触ろうとしたら、なんかおかしいなぁと・・・。
どうやらdockerが起動していないようだ。
リブートしたので、ローカルアドレスを割り当てる(固定する方法を知らないw)
$ ip addr add 192.168.0.4/24 dev ens4
Dockerを起動しようとしてもできない。
$ sudo docker -d 2014/08/13 15:12:15 docker daemon: 1.1.2 d84a070; execdriver: native; graphdriver: [fa7a14d6] +job initserver() [fa7a14d6.initserver()] Creating server [fa7a14d6] +job serveapi(unix:///var/run/docker.sock) 2014/08/13 15:12:15 Listening for HTTP on unix (/var/run/docker.sock) [fa7a14d6] +job init_networkdriver() [fa7a14d6.init_networkdriver()] creating new bridge for docker0 [fa7a14d6.init_networkdriver()] getting iface addr [fa7a14d6] -job init_networkdriver() = OK (0) open /var/lib/docker/init/dockerinit-1.1.2: no space left on device [fa7a14d6] -job initserver() = ERR (1) 2014/08/13 15:12:16 open /var/lib/docker/init/dockerinit-1.1.2: no space left on device
おそらくは冒頭で書いたCoreosのアップデートのおかげで、Dockerが1.1.2になっているようなんだが、そもそも1.1.2なんてデータはないのだ。
$ sudo ls -l /var/lib/docker/init total 17608 -rwx------ 1 root root 9003724 Jul 15 23:19 dockerinit-1.0.1 -rwx------ 1 root root 9023144 Jul 24 22:13 dockerinit-1.1.1
このように、ないのだ。
見つけたのがこのサイト、ロールバック!
Qiita メモ:CoreOS の自動アップデートを手動でロールバックする
参考サイトを参考にちょっと調べてみるよ、と。
使用中のパーティションは?
$ findmnt -n --raw --output=source --target=/usr /dev/vda4
ちょこっと話は逸れるけど、systemdのコマンドが全然分かってないので、ある程度浸透してきたらしっかりやらないとね。
で、Coreosの起動ですが、プライオリティーが高いものが優先されるらしく、調べてみたところプライオリティーなるものが存在するファイルはこの2個だった。
core@localhost ~ $ sudo cgpt show -v /dev/vda3 start size part contents 264192 2097152 3 Label: "USR-A" Type: Alias for coreos-rootfs UUID: 7130C94A-213A-4E5A-8E26-6CCE9662F132 Attr: priority=1 tries=0 successful=1 core@localhost ~ $ sudo cgpt show -v /dev/vda4 start size part contents 2492416 2097152 4 Label: "USR-B" Type: Alias for coreos-rootfs UUID: E03DD35C-7C2D-4A47-B3FE-27F15780A57C Attr: priority=2 tries=0 successful=1
いまはvds4で動いているらしく、おそらくこいつがdocker-1.1.2にしちゃったんだろう。
(と、思っていたのだが)
ここで参考サイトのようにロールバックすれば、dev3で起動すればもとにもどるはず。
と、安易に考えて進めてしまう。
ともかく、おせっかいなやつめ!
core@localhost ~ $ sudo cgpt prioritize /dev/vda3 core@localhost ~ $ sudo cgpt show -v /dev/vda3 start size part contents 264192 2097152 3 Label: "USR-A" Type: Alias for coreos-rootfs UUID: 7130C94A-213A-4E5A-8E26-6CCE9662F132 Attr: priority=2 tries=0 successful=1
優先度がvda3のほうが高くなりました。
$ cat /etc/os-release
NAME=CoreOS ID=coreos VERSION=402.2.0 VERSION_ID=402.2.0 BUILD_ID= PRETTY_NAME="CoreOS 402.2.0" ANSI_COLOR="1;32" HOME_URL="https://coreos.com/" BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
進化がはやすぎってな。
とにかく、これでリブートすれば、解決する~・・・はずだったんだが。
$ docker version Client version: 1.1.2 Client API version: 1.13 Go version (client): go1.2 Git commit (client): d84a070 2014/08/13 15:31:57 Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
変わらず・・・。
inodeもあるし、容量も空いているんだけど、どうにもできないようだ。
と思ったら、やっぱり容量が足りないだけかもしれない。(見間違っていたっぽいorz)
じゃあとりあえず増やしてみようかなぁとファイルシステムを調べてみると。
$ df -T /dev/vda9 btrfs 18480108 12349252 5611036 69% /
btrfs・・・なんだそりゃ。
続く
・・かもしれない。