タグ

cfengineに関するpoppenのブックマーク (7)

  • I, newbie » cfengineによるシステム管理の自動化: その7

    前回までで、cfservd.confはできた。今回はcfagent.confを一気に作り上げてしまおう。 control: any:: actionsequence = ( links directories copy files tidy shellcommands processes ) domain = ( example.org ) access = ( root ) timezone = ( JST ) policyhost = ( ns.example.org ) # updateは5分おき schedule = ( Min5_10 Min15_20 Min25_30 Min35_40 Min45_50 Min55_59 ) # 実行結果をメールで送信 smtpserver = ( localhost ) sysadm = ( root@ns.example.org ) Em

  • I, newbie » cfengineによるシステム管理の自動化: その6

  • I, newbie » cfengineによるシステム管理の自動化: その5

    前回までで、cfengineの構文の基礎がなんとなく理解できたのではないかと思う。ここからはsubversionなどと連携するようにシステムを作りあげる。ここではBasic認証でアクセス制限をかけている。長くなるのでApacheの基的な設定やSSLの設定などは説明しないが、実際の環境ではSSLによるクライアント認証などを使う。 subversionのリポジトリを作成。 # cd /usr/home # mkdir -p svn/mod_dav/repos # cd svn/mod_dav/repos # svnadmin create cfengine # chown -R www:www /usr/home/svn/mod_dav/repos # htpasswd -c -s /usr/home/svn/mod_dav/.htpasswd myusername # vim /usr/

  • I, newbie » cfengineによるシステム管理の自動化: その4

    前回はcfagentでリモートのpolicyhostからファイルを取ってくるところまで可能になった。今回はcfengineが動作するのに必要なファイルを更新するためのupdate.confを作成する。 cfagent.confで失敗しても、update.confを使って正常なcfagent.confをpolicyhostから引っ張ってくることができる。けれどupdate.confで失敗すると、各ホスト上のupdate.confを手動で更新するしかなくなるので、update.confには必要最小限な処理だけを記述する。ファイルのコピーに加えて、古いログの削除や必要なdaemonが起動していなければ起動する。 # update.conf control: any:: actionsequence = ( directories copy links tidy processes ) doma

  • I, newbie » cfengineによるシステム管理の自動化: その3

    前回まででcfservdは起動できているはず。 cfagentは2種類のファイルを使用し、どのクライアントも同じファイルを共有する。update.confを使って、update.confそれ自身とcfagent.confをpolicyhostから取ってくる。そしてcfagent.confの指示に従って処理を行う。こうすることにより、cfagent.confが壊れてしまった場合でも、update.confさえまともであれば正常なcfagent.confをクライアントに配布することができる。逆に言えば、update.confを間違えると修正は面倒になる。なので、update.confは必要最小限なものにとどめておくこと。まずは簡単な作業を通じて文法に慣れること。 cfservdの/var/cfengine/inputs/hostsをlocalの/tmpにコピーし、/var/cfengine/b

  • I, newbie » cfengineによるシステム管理の自動化: その2

    前回は概要を説明した。今回はとりあえずcfservdを起動できるところまで。 cfengineはややこしい。cfservdにcfagent、それにsubversionとcfagentが動作する各ホストのOSおよびdaemonなどを連携させるのだから、環境を作るだけでもおのずと複雑になる。なので、いきなり完全な環境を構築しようとせずに、少しずつcfengineの環境に移行していくのがおすすめ。ゆくゆくはOSのインストールから環境構築までをcfengineだけで実行することも可能なので、ひとつひとつ確実に理解したい。 前提はつぎのとおり。 FreeBSD 6-STABLE cfengine-2.1.20 管理対象のネットワークは10.0.0.0/24 すべてのIP addressに対して適切なPTRが引ける(重要) repositoryは/usr/local/etc/cfengine以下に置く

  • I, newbie » cfengineによるシステム管理の自動化: その1

    システム管理の省力化は管理者の永遠のテーマだ。複雑化するシステム、多様な要求、コストダウンの圧力、管理者の悩みのタネは尽きない。 ほぼ同一の構成のclusterの管理であれば、HDDイメージによる複製や、pxeboot+NFSによるdiskless構成などで管理を省力化することができるが、複数のOSや複数の役割を果たすホストの混在環境や、NFSに依存できない状況では、多数のホストを一括管理するのがむずかしい。そこでcfengine。cfengineはUniversity of Osloで開発されたGPLソフトウェアで、 設定の一括管理 OSに依存しない言語(cfengineの設定ファイル)による統一管理 ネットワーク経由のファイル配信 階層的なホスト管理 条件に応じたジョブ管理 といった機能がある。このcfengineにSubversionなどのrevision control syste

  • 1