前回はDocker環境のデータの管理に役立つ「Convoy」を紹介しました。今回は実際にConvoyを使ってどのようなことができるのかを解説します。
前回はConvoyの概要やIT基盤におけるストレージ利用の課題などをひも解きました。今回はConvoyを使って、Docker環境におけるボリュームのスナップショットの取得、リストアなどの具体的な手順を紹介します。なお、Convoyの利用にはDocker 1.8以上が必要です。本記事はCentOS 7.1で稼働するDocker環境を例に解説します。筆者の環境では2015年11月下旬時点での最新のDocker 1.9.0でConvoyを動かしてみました。興味のある方は、以下のURLを参考に最新版のDockerで挑戦してみてください。
Dockerの最新版に関する情報源:GitHub docker
Docker環境を準備できたら、ホストOS上で、wgetコマンドを使ってConvoyの最新版を入手します。以下では、Dockerホストでのコマンドプロンプトを「#」で表すとします。
# wget https://github.com/rancher/convoy/releases/download/v0.3/convoy.tar.gz
Convoyの最新版については、こちらのURLに情報が掲載されています。バージョン情報や簡単な導入方法が記載されていますので、一読をお勧めします。
入手した最新版のConvoyをホストOS上に展開し、ConvoyをDockerのプラグインとして登録します。
# tar xvf convoy.tar.gz # cp convoy/convoy convoy/convoy-pdata_tools /usr/local/bin/ # mkdir -p /etc/docker/plugins/ # echo "unix:///var/run/convoy/convoy.sock" > /etc/docker/plugins/convoy.spec
Convoyが管理に必要なボリュームとメタデータを作成します。
# truncate -s 100G data.vol # truncate -s 1G metadata.vol # losetup /dev/loop5 data.vol # losetup /dev/loop6 metadata.vol
Dockerが稼働するホストOSにおいて、Convoyをデーモンとして起動します。
# convoy daemon --drivers devicemapper --driver-opts dm.datadev=/dev/loop5 --driver-opts dm.metadatadev=/dev/loop6 &
以上で、ConvoyがホストOS上でデーモンとして稼働し、Docker環境におけるボリュームのバックアップ/リストアができるようになりました。
Copyright © ITmedia, Inc. All Rights Reserved.