DRBD9環境をソースコードからVagrant+Ansibleで構築してみました。
VirtualBoxとVagrantがインストールされたホストマシンを用意してください。
今回実行したマシンの環境は以下です
ホストマシン環境
バージョン | |
---|---|
OS | MacOS Sierra |
VirtualBox | 5.1.6 |
Vagrant | 1.8.6 |
構築するDRBD9環境
以下になります。
CentOS7.2サーバ3台をVagrantで構築し、その後AnsibleでDRBD9のパッケージをインストールします。
drbdctlは3台のサーバをコントロールするソフトウェアです。
インストール環境
バージョン | |
---|---|
OS | CentOS 7.2 |
DRBD | 9.0.5 |
DRBD Manage | 0.97.3 |
Vagrantでサーバ3台構築
ホストマシンにログインし任意の場所に移動します。
例では/vagrantを作成して移動します。
$ cd ~/
$ mkdir vagrant
$ cd vagrant
次にVagrantfileと実行用のスクリプトを取得します。
$ git clone https://github.com/ksawada1979/DRBD9-CentOS7-Vagrant.git
$ cp ./DRBD9-CentOS7-Vagrant/* ./
次にvagrant.shを実行します。
$ ./vagrant.sh
自動的にサーバ3台作成されます。
途中でvagrantユーザのパスワードを設定するよう求められますので入力してください。
このパスワードは後の鍵交換で使用します。
Ansible実行準備
以降の手順は全て一号機で実施します。
まず一号機であるホスト名DRBD9-1にSSHでログインします。
$ vagrant ssh DRBD9-1
次に鍵作成と鍵交換をします。
一号機で鍵作成をして一号機、二号機、三号機と鍵交換します。
$ ssh-keygen -t rsa
$ ssh-copy-id -i .ssh/id_rsa.pub vagrant@192.168.33.11
$ ssh-copy-id -i .ssh/id_rsa.pub vagrant@192.168.33.12
$ ssh-copy-id -i .ssh/id_rsa.pub vagrant@192.168.33.13
次にAnsibleのプレイブックを取得します。
$ git clone https://github.com/ksawada1979/DRBD9-CentOS7-Ansible.git
$ cd DRBD9-CentOS7-Ansible
Ansible実行
以降の手順は全て一号機で実施します。
Ansibleを実行して3台のサーバにDRBD9とDRBD manageをインストールします。ついでに時刻同期用にntpもインストールします。
ソースコードからインストールするためにコンパイルに必要なパッケージなどを追加します。
$ ansible-playbook -i ansible_hosts ready.yml
次にサーバ3台を再起動します。
$ ansible-playbook -i ansible_hosts reboot.yml
再起動によりログアウトしますので、再度ログインした後に3台まとめてDRBD9とDRBD Manageをインストールします。
$ vagrant ssh DRBD9-1
$ cd ./DRBD9-CentOS7-Ansible
$ ansible-playbook -i ansible_hosts drbd9.yml
以上でインストールが完了です。
DRBD9環境構築
次に構築になりますが、長くなりそうなので以下に分割しました。
簡単にできるDRBD9環境構築
http://qiita.com/ksawada1979/items/1fa59f1945e4853dde11
環境破棄
vagrantで作成した環境を破棄する場合は以下のコマンドで破棄できます。
$ vagrant destroy
参考
以下サイトを参考にさせていただきました。
VagrantのVMに複数のディスクを追加する方法
http://qiita.com/kjtanaka/items/8f3e92e029e46f826754
Ansibleでサーバ一括再起動
http://qiita.com/wanghm/items/0efa793f9f89d4312164