タグ

ブックマーク / trac.mizzy.org (24)

  • ProPuppet00 - mizzy.org - Trac

    Managing Infrastructure With Puppet の中でも少しだけ触れた、Pro Puppet についてメモ。 こちらは内容盛りだくさんで、Puppet をヘビーに使っている人でも読みごたえがあるんじゃないかと。たとえば、バージョン違いの Puppet を混在させる方法、といったところもフォローされていたり。 ただし、Puppet や、Git といった周辺ツールのインストール方法まで詳細に書かれていて、この辺は自分には必要ないなー、と思ったりもした。 とはいえ、最近の Puppet 動向を追いかけていない自分には、とても有意義な内容が多かったので、その辺についてメモしてみる。 (あんまり書きすぎると出版社の人に怒られそうなんで、さらっと。あと、量が多くなりそうなので、何度かにわけて書く。) モジュール化について Puppet 解説書なんで、当然のことながらマニフェスト

    dann
    dann 2011/07/10
  • DevOpsConference - mizzy.org - Trac

    DevOps カンファレンス に参加してきたので、個人的なまとめ&補足など。 といっても @kuwa_tw さん の togetter まとめ が既にあるので、まとめというよりは、自分が話した内容の補足なんかをしてみようかと。 プレゼンに利用したスライドは slideshare にアップ してますが、話すこと前提でスライドの内容は薄いので、togetter と併せてご覧下さい。 カンファレンスの内容が素晴らしかったのは自分が敢えてここで書く必要はないので、個人的に内容以外でよかった点を挙げると、 @kdmsnr さんと初めてお会いして、ウェブオペレーションを献頂いたお礼を直接言うことができた! @riywo さんとは以前からお会いしたいなー、と思っていたので、ようやくその願いが叶った! といったあたりですかね。 自分の発表では最初に、Dev な人、Ops な人、Dev && Ops な人

    dann
    dann 2011/06/26
  • UfwOnCentOS5 - mizzy.org - Trac

    tokuhirom さんが IRC で「ufw べんり!」「iptables より簡単」っておっしゃっていて、日頃から iptables のコマンドインターフェースは最悪だと思っていたので、お、それは試してみたい、ってことで、ちょろっと触ってみました。 ufw って Ubuntu に標準で付属してるんですね。Ubuntu 使ってないんで知りませんでした。で、ufw の u は Ubuntu の u なのかな、と思ったら、Uncomplicated Firewall の略だそうで、だったら普段一番使ってる CentOS5 でも動くかも、と思って、パッケージ作ったり軽く動かしたりしてみたんで、その記録です。(CentOS の今後については色々言われてますが、まあそこは気にせずに。) まず RPM パッケージをつくろう、ってことで、ググったら ufw.spec を見つけたので、これを CentO

    dann
    dann 2011/05/28
  • daemontools の代替として Supervisor がよさげ

    node.js なサーバデーモンの管理をしようと思い、何を使おうか検討していたのですが、この手のデファクトスタンダードである daemontools は、特定のディレクトリ構造に従わないといけなかったり、run スクリプトや log/run スクリプトを置いたりしきゃいけなかったりで、余計な作業が多くてお手軽じゃない、ってことで runit を見てみたんですが、ぱっと見 daemontools との違いがよくわからなくて、daemontools とそれほど煩雑さは変わらないように見えたので、もっとお手軽なものがないかと探していたところ見つけたのが Supervisor 。(といっても自分が知らなかっただけで以前からあるみたいですが。) Python 製で easy_install 一発でインストールできる。 $ sudo easy_install supervisor デフォルトの設定フ

  • Cobbler と Puppet で検証 VM をさくっと作成 - CobblerAndPuppet - mizzy.org - Trac

    検証用に VM をつくったり消したり、ってことをよくやるんですが、毎回毎回同じような設定をするのがいやなので、うちでは Cobbler + Puppet でこんな風にやってるよ、という例を紹介します。最近 KVM に移行しましたが、ブリッジの設定以外は、Xen でもほぼそのまま適用できると思います。 VM 作成のざっくりとした流れは次のような感じで、3 ステップで完了します。まず koan コマンドで以下のように VM インストールします。 $ sudo koan --server localhost --virt --system=template --virt-name=test-vm インストールが終わったら、VM を起動して、コンソールにアクセスします。 $ sudo virsh start test-vm $ sudo virsh console test-vm puppet を

  • SystemTap01 - mizzy.org - Trac

    SystemTap メモ #0 の続き。今回は SystemTap Beginners Guide の 3.2. SystemTap Scripts から抜粋。 スクリプトのフォーマット SystemTap スクリプトのフォーマットはこんな感じ。 probe event { statements } なので、前回 出てきた、 $ stap -v -e 'probe vfs.read { printf("read performed\n"); exit() }' をフォーマットと照らし合わせて読み解くと、「vfs.read イベントが発生したら read performed と表示して exit する」といった意味になる。 { statements } の部分は handler と呼ばれ、event と それに対応した handler をあわせて probe と呼ぶらしい。 スクリプトの中で

    dann
    dann 2010/09/23
  • DevOps - mizzy.org - Trac

    DevOps: Why Silos Suck And How To Break Them というエントリをたまたま目にして、「DevOps」という見なれない言葉が出てきたので、気になって調べてみたところ、自分が何となくやっていたことや、今までもやもやと考えていたことに一定の方向性が与えらえた気がしたので、整理してみることにします。 DevOps とは? 簡単に言ってしまうと「開発者と運用者の間の壁を取り払うためのベストクラクティス」と言えそうです。 開発者と運用者の間の壁? Flickr の中の人による 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr という Velocity 2009 でのプレゼンスライドには「Devs versus Ops」という章があり、以下のような言葉が載っていました。 "It's not my mach

  • PuppetAtHbStudy8 - mizzy.org - Trac

    hbstudy#8 で、「Puppet のススメ」というタイトルでプレゼンさせていただきました。機会をくださった株式会社ハートビーツの藤崎さん、馬場さん、坂口さん、また、運営スタッフのみなさま、聞きに来て下さったみなさま、twitter やブログで感想述べてくださったみなさま、当にありがとうございました。 当日の資料は slideshare にアップしています。 内容は主に Puppet を知らない方、これから使ってみようかどうか検討している方をターゲットとして、 Puppet とはどんなものか どんな風に動かすのか どういった使い方をすれば良いのか 使うために知っておいた方がいいこと 使ってみて微妙だなと思うところ といったお話をさせて頂きました。Puppet を既に実運用でバリバリ使っている方には、特に目新しい話はなかったと思いますが、そういった方からは逆にこちらが知らないこと、見落

  • LsyncdRsyncTargetDirectory - mizzy.org - Trac

    lsyncd が rsync する対象ディレクトリを調べてみた inotify + makuosan でいい感じのリアルタイムミラーリング で、lsyncd は結局は rsync を裏で呼び出してるので、差分チェックの呪縛からは逃れられない、的なことを書いてたんですが、ふと、「もしかして、inotify から rsyncを呼び出すときに、同期対象となるファイルは、指定したディレクトリ以下のもの全部ではなく、変更があったファイルがあるディレクト以下のものだけ、なんて動きをしてくれるのかな?」と気になったので、実際に試してみました。結果から先に言うと、想定通りの動きとなってます。これって常識なんですかね?以下、試した時のログ。 ログを確認するために、lsyncd をフォアグランドで起動。 $ ./lsyncd --no-daemon /tmp/lsyncd localhost:/var/tmp

  • PlackMiddlewareAuthLDAP - mizzy.org - Trac

    最近公私ともに、いちからウェブアプリ(ウェブ API 除く)書いてなくて、久々にウェブアプリを書こうかな−、と思いながらも、フレームワークに何を使おうか迷っていて、Ark Advent Calendar 2009 を読んだり、Amon をウォッチしたりして、この年末を過ごしています。 で、いずれのフレームワーク使うにしても、Plack はキーになりそうだな、ってことで、LDAP で認証するための Plack::Middleware を書いてみました。 http://github.com/mizzy/p5-plack-middleware-auth-ldap Plack::Middleware::Auth::Basic を継承し、authorizer を追加する形で実装しています。 ネームスペースは Plack::Middleware::Auth::Basic::LDAP の方がいいのかな、

  • YapcAsia2009TokyoPresentation - mizzy.org - Trac

    ひとつ目は ペパボでの Perl のつかいかた 。id:hiboma と一緒にプレゼンしました。お兄さん、ネタに使わせてもらってすみません&ありがとうございました。後半のロリポの話は、二人で休日も返上してがっつり取り組んだプロジェクトだったので、ぜひ二人で発表したい、と思い、一緒にやらせてもらいました。資料の最新版は id:hiboma が持ってるので、そのうちアップしてくれると思います。 ふたつ目は Danga::Socketの非同期処理の仕組みとPerlbalで非同期処理するプラグインを書く方法 。英語版資料 と 日語版資料 を slideshare にアップしています。 また、プラグインのコードは、プレゼン中は概要しか紹介できなかったので、実際に動くサンプルを github にアップしています。Perlbal::ClientProxy のパッチと設定ファイルも合わせて置いてあります

  • AddModRewriteInternalFunction - mizzy.org - Trac

    Apache モジュール界のスイスアーミーナイフこと mod_rewrite の中でも、最も何でもありな rewrite ができるのが、RewriteMap での prg タイプによる外部プログラム実行ですが、こいつは外部プログラムがひとつだけ常駐し、httpd と標準入出力を介してやりとりする、という形なので、並列処理させることができません。これは rewrite 処理するときにデータベースへ問い合わせるなど、I/O ブロッキングが発生するような処理をさせたいときには致命的なパフォーマンス劣化を引き起こすことになります。 これを解決するためには、Apache モジュールの中で望みの rewrite 処理をさせるようにすればいいのでは、と思い、RewriteMap にある int タイプに好きな internal function を追加できればいけるんじゃないないか、と考えたものの、mo

    dann
    dann 2009/05/10
  • HowToRpmizeCpanModules - mizzy.org - Trac

    Wassr で ZIGOROu さん や hidek さん とやりとりした内容をまとめてみます。 CPAN モジュールの rpm パッケージ作成なんですが、自分はRPM::Specfile に付属している、cpanflute2 を基的に使ってます。 cpan2rpm の方がメジャーだとは思うんですが、オリジナルのダウンロード用FTPサイトが接続できないのと、吐き出す SPEC ファイルが微妙な感じがするので、なんとなくイヤで使ってないんですが、それ以外はそんなに明確な理由もなく、cpanflute2 の方を使ってます。 ただ、cpanflute2 には以下の問題点があります。 依存関係を自動的に解決してくれない(これは cpan2rpm も同じ) モジュールの tar ball を自分で取得しないといけない(cpan2rpm はsearch.cpan.org から取得してくれる) なので

    dann
    dann 2009/02/07
  • SetupRemedie - mizzy.org - Trac

    当に15分で Remedie を始めるための資料 overlast さんのこれから15分で Remedie を始めるための資料 に即発されて書いてみました。こっちは CPAN モジュールをインストールする時間も入れて15分。ただし限定された環境のみ。 Remedie 用に CPAN モジュールの RPM パッケージ作ったので、これプラス Puppet を利用します。ただし、RPM パッケージを CentOS 5 x86_64 でビルドしてるので、この環境限定。SRPM はあるので、他の環境の方はこいつをビルドして使ってください。 まずは Puppet をインストールするための yum リポジトリ設定。以下の内容で /etc/yum.repos.d/dlutter.repo を作成。 [dlutter] name=lutter baseurl=http://people.redhat.co

  • ScalableStorageWithOSS00 - mizzy.org - Trac

    OSS だけでスケーラブルなストレージを安価に構築する方法 #0 TLUG Meeting 2008/09 で発表した How to build a scalable storage system with OSS なんですが、発表では概要しか触れてなくて、じゃあいったいどうやって構築するのよ、という部分が全然ないので、ぼちぼちこのブログで書いていくことにします。 で、スケーラブルというだけだと曖昧なので、以下のような要件を満たすものを、スケーラブルなストレージと想定することにします。 特殊なソフトウェアを必要とせずに、OS からファイルシステムとしてマウントできるもの。なので MogileFS、Hadoop Distributed File SystemGoogle File System 等は対象外。(FUSE 使えばやれないこともないけど…) 容量をオンラインでダイナミックに追加で

  • ScalableStorageWithOSS02 - mizzy.org - Trac

    OSS だけでスケーラブルなストレージを安価に構築する方法 #2 OSS だけでスケーラブルなストレージを安価に構築する方法 #1 のつづき。 Xen インスタンスの作成 ここは詳しく解説しません。好きなように作成してください。自分は Cobbler/Koan を使ってます。インスタンスは6つ作成。 client0, client1(ストレージをマウントするインスタンス) storage0a, storage0b(ストレージを構成するインスタンスセットその1) storage1a, storage1b(ストレージを構成するインスタンスセットその2) 全体的な構成概要については、前回のエントリ を参照してください。 エクスポート用ブロックデバイスの作成 storage[01][ab] 上で、GNBD によりエクスポートするブロックデバイス(ディスク)を作成。 ディスクイメージを作成。テスト用

  • ScalableStorageWithOSS01 - mizzy.org - Trac

    OSS だけでスケーラブルなストレージを安価に構築する方法 #1 OSS だけでスケーラブルなストレージを安価に構築する方法 #0 のつづき。 サーバ構成概要 TLUG 発表資料 で触れた、全体的な構成のおさらい。構成図は以下のような感じ。 この構成について説明すると、以下のようになります。 DRBD により、2台一組でブロックデバイスをミラーリング /dev/gnbd0 と /dev/gnbd1 がセット /dev/gnbd2 と /dev/gnbd3 がセット GNBD でブロックデバイスをエクスポート /dev/gnbd0, /dev/gnbd1, /dev/gnbd2, /dev/gnbd3 がネットワーク越しに見える クライアント側で GNBD でエクスポートされたブロックデバイスをインポート /dev/gnbd0, /dev/gnbd1, /dev/gnbd2, /dev/g

  • Cobbler - mizzy.org - Trac

    Cobbler が素敵すぎる ネットワークインストール環境がさくっと構築できる Cobbler がおもしろそうなので触ってみたメモ。参考にしたサイトは以下の通り。 サーバの構築を簡単にするためのステップ (その5:Cobber編 Part1 ) サーバの構築を簡単にするためのステップ (その6:Cobber編 Part2 ) PXEネットワークインストール(Cobbler) cobbler_top - Cafe Chantant Info Repositry - Trac 以下、Fedora 7 で Cobbler を動かしてみたメモ。 インストール yum で一発インストール。 $ sudo yum install cobbler 設定 cobbler check コマンドを実行すると、見直すべき設定ポイントを教えてくれる。親切。 $ sudo cobbler check The fol

  • VirtFactoryClientSetup - mizzy.org - Trac

    Virt-Factory クライアントをサーバへ登録する 前回に続き、今回はクライアント側の手順です。クライアント側では、必要なソフトウェアのインストールと、サーバへの登録を行います。 クライアントのサーバへの登録は、既に OS がインストールされた状態から行う方法と、OS がインストールされていないまっさらな状態から行う方法の2つがあります。 以下、2つの方法について手順を解説します。これもサーバと一緒で、Fedora 7 で試しています。 既に OS がインストールされた状態から行う方法 SELinuxiptables をオフに とりあえず検証目的なので、こいつらはオフにしときます。手順は省略。 yum リポジトリの設定 これは サーバ側の設定 と同じなので省略。 必要なパッケージのインストール Virt-Factory は仮想サーバの管理を行うためのものなので、当然何らかの

  • VirtFactoryServerSetup - mizzy.org - Trac

    $arch の部分は Fedora 7 32bit だと i686 になってしまうが、リポジトリのディレクトリは i386 なので、修正が必要。64bit だと $arch 部分はそのままでいいかも。 必要なパッケージのインストール 普通に virt-factory-server パッケージを yum で入れると、依存関係で cobbler と koan が一緒にインストールされるのですが、updates にある cobbler 0.6.4 と koan 0.6.3 がインストールされてしまって、virt-factory-server が正常に動きません。なので、virt-factory.et.redhat.com にある 0.6.2 を明示的にインストールしてやります。 $ sudo yum install cobbler-0.6.2-1.fc7 koan-0.6.2-1.fc7 次に、