CoreOSをアップデートしても全く同じにはならないっぽい

はじめに

 CoreOSは独特(最近では独特でもないかもですが)なアップデート手法を採用しておりますが、アップデートした場合と、直接(?)インストールした場合の差異があるものかどうかをちょっとだけ調べてみたのでメモ。

 結論を言いますと、ファイルシステムはアップデートされないようです。
 それに伴い、Dockerが使用するStorage Driverのタイプも固定されているようです。

367.1.0→633.1.0→647.0.0の流れでアップデートした場合

環境はさくらのクラウドです。

367.1.0
core@core01 ~ $ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=367.1.0
VERSION_ID=367.1.0
BUILD_ID=
PRETTY_NAME="CoreOS 367.1.0"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
core@core01 ~ $ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
rootfs         rootfs     18G   16M   18G   1% /
devtmpfs       devtmpfs  489M     0  489M   0% /dev
tmpfs          tmpfs     500M     0  500M   0% /dev/shm
tmpfs          tmpfs     500M  224K  499M   1% /run
tmpfs          tmpfs     500M     0  500M   0% /sys/fs/cgroup
/dev/vda9      btrfs      18G   16M   18G   1% /
/dev/vda3      ext4     1008M  288M  670M  31% /usr
tmpfs          tmpfs     500M     0  500M   0% /tmp
tmpfs          tmpfs     500M     0  500M   0% /media
/dev/vda6      ext4      108M   56K   99M   1% /usr/share/oem
core@core01 ~ $ sudo findmnt -n --raw --output=source --target=/usr
/dev/vda3
core@core01 ~ $ docker info
Containers: 0
Images: 0
Storage Driver: btrfs
Execution Driver: native-0.2
Kernel Version: 3.15.2+
633.1.0

一部Xで伏せています。

core@core01 ~ $ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=633.1.0
VERSION_ID=633.1.0
BUILD_ID=
PRETTY_NAME="CoreOS 633.1.0"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
core@core01 ~ $ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  487M     0  487M   0% /dev
tmpfs          tmpfs     499M     0  499M   0% /dev/shm
tmpfs          tmpfs     499M  228K  499M   1% /run
tmpfs          tmpfs     499M     0  499M   0% /sys/fs/cgroup
/dev/vda9      btrfs      18G   42M   18G   1% /
/dev/vda4      ext4      985M  334M  601M  36% /usr
tmpfs          tmpfs     499M     0  499M   0% /tmp
tmpfs          tmpfs     499M     0  499M   0% /media
/dev/vda6      ext4      108M   56K   99M   1% /usr/share/oem
core@core01 ~ $ sudo findmnt -n --raw --output=source --target=/usr
/dev/vda4
core@core01 ~ $ docker info
Containers: 0
Images: 0
Storage Driver: btrfs
 Build Version: Btrfs v3.17.1
 Library Version: 101
Execution Driver: native-0.2
Kernel Version: 3.19.0
Operating System: CoreOS 633.1.0
CPUs: 1
Total Memory: 998 MiB
Name: core01
ID: XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
647.0.0

一部Xで伏せています。

core@core01 ~ $ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=647.0.0
VERSION_ID=647.0.0
BUILD_ID=
PRETTY_NAME="CoreOS 647.0.0"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
core@core01 ~ $ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  487M     0  487M   0% /dev
tmpfs          tmpfs     499M     0  499M   0% /dev/shm
tmpfs          tmpfs     499M  272K  499M   1% /run
tmpfs          tmpfs     499M     0  499M   0% /sys/fs/cgroup
/dev/vda9      btrfs      18G   57M   18G   1% /
/dev/vda3      ext4      985M  335M  599M  36% /usr
tmpfs          tmpfs     499M     0  499M   0% /media
tmpfs          tmpfs     499M     0  499M   0% /tmp
/dev/vda6      ext4      108M   56K   99M   1% /usr/share/oem
core@core01 ~ $ sudo findmnt -n --raw --output=source --target=/usr
/dev/vda3
core@core01 ~ $ docker info
Containers: 0
Images: 0
Storage Driver: btrfs
 Build Version: Btrfs v3.17.1
 Library Version: 101
Execution Driver: native-0.2
Kernel Version: 3.19.3
Operating System: CoreOS 647.0.0
CPUs: 1
Total Memory: 998 MiB
Name: core01
ID: XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX

633.1.0→647.0.0の流れでアップデートした場合

環境はVagrantです。

633.1.0

一部Xで伏せています。

core@core-01 ~ $ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=633.1.0
VERSION_ID=633.1.0
BUILD_ID=
PRETTY_NAME="CoreOS 633.1.0"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
core@core-01 ~ $ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  487M     0  487M   0% /dev
tmpfs          tmpfs     499M     0  499M   0% /dev/shm
tmpfs          tmpfs     499M  224K  499M   1% /run
tmpfs          tmpfs     499M     0  499M   0% /sys/fs/cgroup
/dev/sda9      ext4       16G   22M   15G   1% /
/dev/sda3      ext4      985M  334M  601M  36% /usr
tmpfs          tmpfs     499M     0  499M   0% /media
tmpfs          tmpfs     499M     0  499M   0% /tmp
/dev/sda6      ext4      108M   88K   99M   1% /usr/share/oem
core@core-01 ~ $ sudo findmnt -n --raw --output=source --target=/usr
/dev/sda3
core@core-01 ~ $ docker info
Containers: 0
Images: 0
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Kernel Version: 3.19.0
Operating System: CoreOS 633.1.0
CPUs: 1
Total Memory: 998 MiB
Name: core-01
ID: XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
647.0.0

一部Xで伏せています。

core@core-01 ~ $ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=647.0.0
VERSION_ID=647.0.0
BUILD_ID=
PRETTY_NAME="CoreOS 647.0.0"
ANSI_COLOR="1;32"
HOME_URL="https://coreos.com/"
BUG_REPORT_URL="https://github.com/coreos/bugs/issues"
core@core-01 ~ $ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  487M     0  487M   0% /dev
tmpfs          tmpfs     499M     0  499M   0% /dev/shm
tmpfs          tmpfs     499M  260K  499M   1% /run
tmpfs          tmpfs     499M     0  499M   0% /sys/fs/cgroup
/dev/sda9      ext4       16G   29M   15G   1% /
/dev/sda4      ext4      985M  335M  599M  36% /usr
tmpfs          tmpfs     499M     0  499M   0% /tmp
tmpfs          tmpfs     499M     0  499M   0% /media
/dev/sda6      ext4      108M   88K   99M   1% /usr/share/oem
core@core-01 ~ $ docker info
Containers: 0
Images: 0
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Kernel Version: 3.19.3
Operating System: CoreOS 647.0.0
CPUs: 1
Total Memory: 998 MiB
Name: core-01
ID: XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX

はじめに

 まあ、当然の仕様と言えば当然の仕様なのですが、メリットともデメリットとも取れる仕様ですね。
 メリットは、安定稼働しているファイルシステムを使い続けられること。
 デメリットは、ファイルシステムの変更によって性能改善があっても恩恵を得られないこと。