Help us understand the problem. What is going on with this article?

CoreOSのStorage Driverをdevicemapperに変更する

More than 1 year has passed since last update.

経緯

CoreOSのデフォルトのStorage Driverはoverlayですが、最近、overlayだとmysqlが起動しなくなったので、Storage Driverを変更することにしました。

手順

以下のツールを実行し、CoreOSで利用できるStorage Driverを探します。
https://github.com/docker/docker/blob/master/contrib/check-config.sh

...
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: missing
  - "btrfs":
    - CONFIG_BTRFS_FS: enabled (as module)
    - CONFIG_BTRFS_FS_POSIX_ACL: enabled
  - "devicemapper":
    - CONFIG_BLK_DEV_DM: enabled (as module)
    - CONFIG_DM_THIN_PROVISIONING: enabled (as module)
  - "overlay":
    - CONFIG_OVERLAY_FS: enabled (as module)
  - "zfs":
    - /dev/zfs: missing
    - zfs command: missing
    - zpool command: missing
...

aufs、devicemapperならMySQLが起動するという情報がありましたが、CoreOSはaufsをサポートしていないので、devicemapperを利用することにしました。

cloud-config.ymlで以下のように設定します

coreos:
  units:
    - name: docker.service
      drop-ins:
        - name: 10-devicemapper-storage-driver.conf
          content: |
            [Service]
            Environment="DOCKER_OPTS=--storage-driver=devicemapper"
      command: start

設定したcloud-configを適用します

# coreos-cloudinit -from-file=./cloud-config.yml

適用すると、
/etc/systemd/system/docker.service.d/10-devicemapper-storage-driver.conf
が以下の内容で配置されます

[Service]
Environment="DOCKER_OPTS=--storage-driver=devicemapper"

Dockerを再起動します

systemctl restart docker

Storage Driverがdevicemapperに変更されたことを確認

# docker info | grep "Storage Driver"
Storage Driver: devicemapper                                                                                                                                
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
         Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.

※警告については対応したら追記予定。

参考にした記事

https://github.com/coreos/bugs/issues/1142

https://qiita.com/Hige-Moja/items/7b1208f16997e2aa9028
https://qiita.com/dtan4/items/2212607d13ad7c81120e
https://qiita.com/ngyuki/items/a6ef879a285573efd59f

https://groups.google.com/forum/#!topic/coreos-user/AwXlnXNUT1Y

lancers
テクノロジーで誰もが自分らしく働ける社会をつくる。日本最大級のクラウドソーシング「ランサーズ」を運営
https://www.lancers.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away