12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Docker】RancherOSで本格的な自宅サーバーを構築しよう(4) ~ GlusterFSを使ってデータを共有+永続化しよう ~

Last updated at Posted at 2016-06-07

#GlusterFSを使ってデータを永続化しよう

コンテナ間でデータを共有・永続化することができる

rancher-docker.png

関連記事

##使うライブラリ(CATALOG一覧)

glusterFS

community-glusterfs.svg.png

  • GlusterFSは複数のストレージノードのファイルシステムを論理的に統合しボリュームを作成します

convoy-gluster

library-convoy-nfs.svg.png

  • GlusterFSというファイル分散システムを利用して、コンテナの共有volumeを作ることができる
  • これを使ってコンテナ間のデータのやり取りや共有、永続化、スナップショット保存、復元を行う

##glusterfsのインストール

  • CATALOGから「Gluster FS」を選択

  • volume Nameを設定

     適当に"my_vol"
    
  • gluster networking modeを設定

     rancherのネットワーク上でGlusterを使用するには、デフォルトの設定のままでOK。
     Glusterを公開したい場合は、hostを選択していいが、Glusterがホストにアクセスできるものにアクセスできるようになることに、注意してください。信頼されていない設定にこの設定を使用しないでください。
    
  • Done(どーん)

Screen Shot 2016-06-07 at 17.17.12.png

##convoy-glusterのインストール

  • CATALOGから「Convoy GlusterFS」を選択
  • GlusterFS Volumeは先ほどの"my_vol"
  • GlusterFS serviceを選択
  • done(どーん)
Screen Shot 2016-06-07 at 17.18.41.png

##volume_driverの名前を確認しとく

  • INFRASTRUCTURE -> STORAGE POOLS
  • ○Active 「convoy-gluster」<- これ
Screen Shot 2016-06-07 at 17.04.01.png

##サンプルサービスで確認

  • APPLICATIONS -> add stack

  • docker-compose.yml

     test:
       tty: true
       image: ubuntu:14.04.3
       stdin_open: true
       volumes:
       - test_volume: testvolume
       volume_driver: convoy-gluster
    
  • Done(どーん)

Screen Shot 2016-06-07 at 17.20.41.png
  • コンテナを「scale+」で2個以上に増やしてみる
Screen Shot 2016-06-07 at 17.15.25.png
  • INFRASTRUCTURE -> STORAGE POOLSで「test_volume」を確認

  • Execute Shellからコンテナに侵入

Screen Shot 2016-06-07 at 17.13.28.png
```
$ cd testvolume
$ vi test.yml
$ ls
test.yml
```
  • 別のコンテナでExecute Shell

     $ cd testvolume
     $ ls
     test.yml
    

##wordpressのMySQLのデータを永続化させてみる

docker-compose.yml
wordpress:
  image: wordpress
  links:
    - db:mysql

db:
  image: mysql
  environment:
    MYSQL_ROOT_PASSWORD: example
  volumes:
    - wp_data:/var/lib/mysql
    - mysql_conf:/etc/mysql/conf.d
  volume_driver: convoy-gluster

これでコンテナが再起動しても、agentが再起動してもデータは消えなくなった!!

##今後コンテナを作る時

  • volume_driver に convoy-gluster を指定してvolumesを書くとデータが共有される。

##convoyでスナップショットをとって復元できるようにする

  • 現在対応中らしくてまだできないらしい
  • やりたいこと
    • 定期的にスナップショットをとってS3とかに貯めておく
    • サーバーのfileシステム自体がダウンした時などOSの再インストールのときとかは、ここから復元できるようにする
    • 更新を確認次第、手順を書く予定です
12
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?