DRBD 9用に続いて、NTP用のmain.ymlも作成します。NTP用のmain.ymlには、NTPの最新版をインストールするために必要な手順を記述します。
--- - name: Install Packages apt: name={{ item }} state=latest with_items: - ntp - name: Start and Enable ntp service: name=ntp state=started enabled=yes
「name: Install Packages」では、NTPの最新版をインストールするため内容を記述しています。続いて「name: Start and Enable ntp」でNTPdを起動し、さらに自動起動を「enable」に設定するように記述しています。
以上の作業でAnsibleを実行するファイルの準備ができました。
Ansibleを実行して、3台のサーバへDRBD 9をインストールしましょう。
$ ansible-playbook -i ansible_hosts DRBD 9.yml PLAY *************************************************************************** TASK [setup] ******************************************************************* ok: [192.168.0.102] ok: [192.168.0.103] ok: [192.168.0.101] TASK [ntp : Install Packages] ************************************************** ok: [192.168.0.101] => (item=[u'ntp']) ok: [192.168.0.102] => (item=[u'ntp']) ok: [192.168.0.103] => (item=[u'ntp']) TASK [ntp : Start and Enable ntp] ********************************************** ok: [192.168.0.102] ok: [192.168.0.103] ok: [192.168.0.101] TASK [DRBD 9 : hosts Change] **************************************************** ok: [192.168.0.101] ok: [192.168.0.102] ok: [192.168.0.103] TASK [DRBD 9 : DRBD 9 Repository Get] ******************************************** ok: [192.168.0.101] ok: [192.168.0.102] ok: [192.168.0.103] TASK [DRBD 9 : Install Packages] ************************************************ ok: [192.168.0.101] => (item=[u'drbd-utils', u'python-drbdmanage', u'drbd-dkms']) ok: [192.168.0.102] => (item=[u'drbd-utils', u'python-drbdmanage', u'drbd-dkms']) ok: [192.168.0.103] => (item=[u'drbd-utils', u'python-drbdmanage', u'drbd-dkms']) TASK [DRBD 9 : Lvm Create] ****************************************************** ok: [192.168.0.102] ok: [192.168.0.103] ok: [192.168.0.101] PLAY RECAP ********************************************************************* 192.168.0.101 : ok=7 changed=0 unreachable=0 failed=0 192.168.0.102 : ok=7 changed=0 unreachable=0 failed=0 192.168.0.103 : ok=7 changed=0 unreachable=0 failed=0
上記のように、全て「ok」もしくは「changed」となったことを確認できれば作業は完了です(エラーが発生した場合には、Playbookに何らかの記述ミスがあります。Playbookを構成する各ファイルの内容を確認してください)。
以上、環境構築を自動化するツールであるAnsibleを使って、3台構成のDRBD 9環境のためのサーバをまとめて準備できました。今後の運用においても、サーバ台数を増やしたい場合などで今回用意したPlaybookを応用できます。DRBD 9用サーバを準備する手間がかなり低減できるようになることでしょう。
さまざまなIT関連業務経験ののちに2013年よりインフラエンジニアとしての業務に携わる。また、DRBDを始めとするオープンソースソフトウェアのサポート業務にも携わっている。ツイッターでDRBDの情報発信も行っている。TwitterID:@ksawada1979。
Copyright © ITmedia, Inc. All Rights Reserved.