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環境の構築は終了です。
DRBD9環境をdrbdmanageを使って簡単構築 #1(インストール編)
DRBD9が9.0.2になりdrbdmanageも0.96になったので、改めて構築した際のメモ書きです。
DRBDのバージョンは9.0.2になりましたが新機能などは無くバグ改修などが中心のバージョンアップとのことです。
#1はひとまずDRBD9とdrbdmanageをインストール手順になります。
環境
今回構築した環境の各バージョンは以下になります。
ソフトウェア | バージョン |
---|---|
CentOS | 7.2 |
DRBD | 9.0.2 |
drbdmanage | 0.96 |
構築構成
3台のサーバを構築しそれぞれをDRBD9でリアルタイムに同期します。インストールは3台全てで実施します。
本ページは以下の構成を前提とします。
r0とr1はリソースを表しています。DRBD9ではリソースの移動が容易になりました。仮にdrbd9-3のサーバを入れ替えするとなった場合に一時的にリソースをdrbd9-1に移動して、入れ替え後にリソースを戻すといったことが可能となりました。
drbdctlはdrbdmanageで3台のサーバを管理しますがコントロールの役目を持たせるサーバに設定します。
drbdmanageって?
drbdmanageは簡単にいうとDRBD環境を構築するためのツールです。DRBDバージョン8では設定ファイルを用意する必要がありましたがdrbdmanageを使うことによりコマンドで環境を構築することができます。厳密に言えばコマンドを実行することで設定ファイルが自動的に作られます。
事前準備
事前準備として以下を実施します。
- selinuxをdisabled
- firewalldを停止(firewalldは環境構築後に正しく設定してください)
- 各サーバにOSインストール領域とは別にDRBD専用の空のパーティションを作成(今回はこの領域を/dev/sdb1とします)
パッケージ追加
ソースコードをコンパイルするために必要なパッケージとgit、lvmのパッケージを追加します。
# yum groupinstall -y "Development Tools" # yum install -y libxslt pygobject2 help2man git lvm2
公開鍵作成と交換
公開鍵を作成します。drbdmanageを使う際に自動ログインが必要なために鍵交換をします。
対話式ですが、すでに何も入力せずに「Enterキー」で問題ありません。
# ssh-keygen -t rsa
次に鍵交換をします。
3台各サーバで互いに交換します。
# ssh-copy-id -i .ssh/id_rsa.pub root@<各サーバIPアドレス>
lvm作成
drbdmanageを使用して環境を構築する場合はlvm領域が必須になるためにlvm(タイプ8e)を作成します。DRBD専用に取った領域に対して以下のコマンドを実行します。
/dev/sdb1は例ですので環境に応じて読み替えてください。
# pvcreate /dev/sdb1 # vgcreate drbdpool /dev/sdb1
DRBD9インストール
DRBD9のインストールをします。ソースコードをgitでダウンロードしてコンパイルしてインストールします。
# git clone git://git.drbd.org/drbd-9.0.git # cd drbd-9.0 # make # make install
drbd-utilsインストール
drbd-utilsのインストールをします。ソースコードをgitでダウンロードしてコンパイルしてインストールします。
# git clone git://git.drbd.org/drbd-utils.git # cd drbd-utils # ./autogen.sh # ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc # make # make install
drbdmanageインストール
drbdmanageのインストールをします。ソースコードをgitでダウンロードしてコンパイルしてインストールします。
# git clone git://git.drbd.org/drbdmanage.git # cd drbdmanage # make # make install
以上でインストールは完了です。
続きとなる「DRBD9環境をdrbdmanageを使って簡単構築」編は以下に続きます。
DRBD9環境をdrbdmanageを使って簡単構築http://ksawada.hatenablog.com/entry/2016/06/13/154411
Bacula-Web7.1.0がリリースされました。
Bacula-webはBaculaのWebツールです。 Baculaのレポート、モニタリングを行うことができます。
しかしこれまでのバージョンではメニューなどのインターフェイス部分が日本語ではありませんでしたが本バージョンから日本語対応しました。
そして日本語の部分は私がBacula-webのGitHubに「Pull Request」し無事に採用されたものです。
決して英語が得意ではないので、微妙に間違っているところもあるかもしれませんが、そこは随時修正したいと思います。
Bacula-web参考資料
Bacula-webのインストール、使い方は以下を参照ください。
http://www.slideshare.net/kensawada14/150511-bacula-web