DockerのDRBDプラグインをインストールしてみた
docker上で使えるDRBDプラグインがリリースされたとのことで早速インストールしてみた際のメモになります。
以下の手順はdockerのコンテナ上で実施してください。コンテナはUbuntu16.04を使用しています。
またDRBDはデータを複製するために使うので最低2つのコンテナが必要になりますので2つ以上のコンテナで以下の手順を実施してください。
準備
DRBDプラグインをインストールする前にUbuntuで準備をします。
# apt-get update # apt-get install software-properties-common
リポジトリ追加
次にリポジトリを追加します。
# add-apt-repository ppa:linbit/linbit-drbd9-stack
DRBDプラグインインストール
DRBDプラグインをインストールします。この時にDRBDを操作するツールdrbdmanageとDRBDも同時にインストールします。
# apt update # apt install -y docker.io docker-compose # apt install -y drbd-dkms drbd-utils python-drbdmanage drbdmanage-docker-volume
インストール確認
インストールされたことを確認します。
root@test # dpkg -l | grep drbd ii drbd-dkms 9.0.2-1ppa1~xenial1 all RAID 1 over TCP/IP for Linux module source ii drbd-utils 8.9.6+7-1ppa4~xenial1 amd64 RAID 1 over TCP/IP for Linux (user utilities) ii drbdmanage-docker-volume 0.7-1ppa1~xenial1 all Docker volume plugin for DRBDManage ii python-drbdmanage 0.96.1-1ppa1~xenial1 all DRBD distributed resource management utility
自動起動設定
インストールしたDRBDプラグインの自動起動を設定します。
# systemctl enable docker-drbdmanage-plugin.socket # systemctl start docker-drbdmanage-plugin.socket
※自動起動設定はdrbdmanageでコンテナ2つをノードとして登録した後に設定します。
drbdmanageによるノードの追加は以下を参照ください。
ksawada.hatenablog.com
以上、インストールだけの簡単メモでした。
6/27 19:00~ Baculaハンズオンを開催することになりました。
Bacula.jp主催で6月27日の19:00からハンズオンを初めて開催することになりました。
Bacula.jp主催といってもほぼ私ひとりみたいなものですが・・・(笑)
ただいまcommpassで参加受付中です。
以下の流れを想定しています。
19:00~19:30 受付開始・ネットワーキングタイム
持ち込んでいただくパソコンが会場のwifiに問題
なくつながるかなどの確認します。
19:30分までに開始できる状態にできればと考えて
います。
19:30~20:00 Bacula基礎と最新情報解説
タイトルの内容を解説します。最新情報は基本的
にbacula.jpで更新をしていますが解説で捕捉した
いと思います。
20:00~21:00 Baculaハンズオン
メインのハンズオンを実施します。
今回初めて実施しますが、今後も定期的に1か月か2か月に1度くらいはハンズオンを実施していきたいと思いますので、是非お時間ありましたらご参加いただけると幸いです。
DRBD9環境をdrbdmanageを使って簡単構築 #2(構築編)
インストールが完了したら、引き続きDRBD9の環境を構築していきます。
前回#1のDRBD9インストール編は以下になります。
http://ksawada.hatenablog.com/entry/2016/06/10/111030
前回と同じ構成ですが、以下の構成を構築します。
初期化
drbdctlをインストールするノードで実行します。
# drbdmanage init 192.168.2.191
途中で「Confirm: yes/no:」が表示される所は「yes」を入力してください。
ノード追加
# drbdmanage add-node drbd9-2 192.168.2.192 # drbdmanage add-node drbd9-3 192.168.2.193
途中で「Confirm: yes/no:」が表示される所は「yes」を入力してください。
ノード追加確認
ノードが追加されたことを以下のコマンドで確認します。
# drbdmanage list-nodes +-------------------------------------------------------+ | Name | Pool Size | Pool Free | | State | |-------------------------------------------------------| | drbd9-1 | 20476 | 20468 | | ok | | drbd9-2 | 20476 | 20468 | | ok | | drbd9-3 | 20476 | 20468 | | ok | +-------------------------------------------------------+
リソース登録
リソースを登録します。
# drbdmanage add-resource r0 # drbdmanage add-resource r1
リソース登録確認
次にリソースが登録されたことを確認します。
# drbdmanage list-volumes --groupby Size --show Port +------------------------------------------------------------------------------+ | Name | Vol ID | Size | Minor | Port | | State | |------------------------------------------------------------------------------| | r1 | * | * | * | 7001 | | * | | r0 | * | * | * | 7000 | | * | +------------------------------------------------------------------------------+
r0とr1の2つのリソースが登録されたことを確認します。さらにポートは7000と7001が自動的に割り当てられました。
ボリューム登録
次にリソースに対してボリュームを登録します。
roとr1にそれぞれ10GBずつで登録します。
# drbdmanage add-volume r0 10GB # drbdmanage add-volume r1 10GB
ボリューム登録確認
次にリソースに対してボリュームを登録します。
roとr1にそれぞれ10GBずつで登録します。
# drbdmanage list-volumes --groupby Size --show Port +------------------------------------------------------------------------------+ | Name | Vol ID | Size | Minor | Port | | State | |------------------------------------------------------------------------------| | r0 | 0 | 9.313 GiB | 100 | 7000 | | ok | | r1 | 0 | 9.313 GiB | 101 | 7001 | | ok | +------------------------------------------------------------------------------+
デプロイとアサイン
ここまでで、リソース登録とリソースに対してボリュームを登録をしました。
これだけでも使えそうですが、実はここまでではまだDRBDを使うための箱を準備したにすぎません。最後にデプロイもしくはアサインをしてDRBDのディスクとして使用可能になります。
デプロイとアサインはボリュームとディスクを紐づけてDRBDのディスクとして使用可能にします。
デプロイは指定した数のサーバ数に対して自動的に割り当てを行います。
アサインはサーバを指定して割り当てをすることができます。
デプロイ
デプロイは以下のコマンドで実施します。
# drbdmanage deploy-resource r0 3 # drbdmanage deploy-resource r1 3
上記で3台のサーバにそれぞれデプロイされます。
以下の様になります。
アサイン
アサインは以下のコマンドで実施します。
# drbdmanage assign r0 drbd9-1 # drbdmanage assign r0 drbd9-2 # drbdmanage assign r1 drbd9-2 # drbdmanage assign r1 drbd9-3
以上で本ページの冒頭で示した構成図のようになります。
以下の様になります。
以上で準備完了です。
あとはファイルシステムを作成しマウントすればファイルの書き込みが可能です。
ファイルシステム作成
以下のコマンドでファイルシステムを作成します。
CentOS7デフォルトのxfsでファイルシステムを作成します。
# mkfs -t mkfs.xfs /dev/drbd100 # mkfs -t mkfs.xfs /dev/drbd101
マウント
最後にマウントします。
マウントポイントとして/dataと/data2を作成します。
# mkdir /data # mkdir /data2 # mount /dev/drbd100 /data # mount /dev/drbd101 /data
状態確認
以下のコマンドでDRBDの状態を確認します。
# drbdsetup status
以上でDRBD環境の構築は終了です。