タグ

ブックマーク / www.sssg.org (23)

  • svndump で差分バックアップをとる方法 | Carpe Diem

    実は、今まで知らなかったのですが、SVN リポジトリのダンプツールである svndump で、差分バックアップをとることができます。 例えば、CentOS の Subversion は 1.4.2 で試してみます。 まずは、通常の全体バックアップを行います。 $ svndump /var/svn/repository > svn_repository.dump 全体バックアップをとる直前のリビジョンを svn info file:///var/svn/repository で保存しておきます。 あとは、次の日などに前にリビジョンに +1 してリビジョンから、HEAD まで dump することで差分バックアップをすることができます。次の例は、前日がリビジョン 1 までのバックアップだと想定しています。 $ svnadmin dump –incremental -r 2:HEAD 前にとある開

    takasick
    takasick 2010/05/05
  • MySQL の公式 RPM を使おう | Carpe Diem

    今まで、前に紹介した方法で、自分で MySQL の RPM をビルドしていたのですが、次の点が不満でした。 コンパイルにかなりの時間がかかる コンパイル後の、テストが必ず失敗する(SSL まわりのエラーなので、テストは必ずしないように変更していた) なぜか、InnoDB plugin が無効になってしまって、InnoDB plugin を普通に試せない ということで、QA もちゃんとされている MySQL の公式 RPM に切替えてみることにしました。 まず、現在の MySQL 5.1 の最新バージョンは 5.1.44 です。MySQL の公式サイトでは RHEL5 用の x86_64 の RPM が用意されています。 RHEL5 x86_64 用の RPM は、次のものをダウンロードすることができます。 MySQL-client-community-5.1.44-1.rhel5.x86_

    takasick
    takasick 2010/04/04
  • HipHop for PHP | Carpe Diem

    HipHop for PHP技術的な講演動画が ustream にあったので、チェックしてみました。動画は、全部で 40 分弱くらいですが、講演自体は 20 分くらい、その他は質問でした。 以下、動画からのメモです。 CPU の高い使用率が問題になっていた 10,000 台のウェブサーバ それぞれのリクエストに 800 ミリ秒かかっている コードベースが巨大になるにつれて、さらに遅くなる ハードウェアは、フリーではない 言語ごとのベンチマークした結果の CPU の使用率 CPU の使用率が低い順 No1: C++, No2: Java, No3: C#, No4: Erlang, No5: Python, No6: Perl,  No7: PHP PHPPerl は同等、C++Java に比べると10 倍くらい遅いという結果 高いメモリ使用率が問題 – 150M for (

    takasick
    takasick 2010/02/12
  • 美しいデータセンター | Carpe Diem

    ふと海外のデータセンターに関する情報を調査していたとき、Beautiful Web Hosting Datacenter Images | UnixNewbie.org という記事に、各データセンターの美しい様子が紹介されていました。 せっかくなので、その写真の一部を紹介します。大きな写真は、元記事から見てください。 まずは、日立のグリーンデータセンター。これは、実物ではなく構想上の写真のみです。 次に Facebook のデータセンター。これは貴重な写真だと思います。ネットワークのケーブリングまわりも要チェックです。サーバ一台あたりに、2から3くらいのケーブルが接続されているのが分かりますね。おそらく冗長化目的というより、ネットワークを分離しているような気がします。 そして、昨年大きな話題になった GoogleGoogle サーバのケーブルは、各サーバに一ずつです。シンプルな構成

    美しいデータセンター | Carpe Diem
    takasick
    takasick 2010/01/17
  • Puppet によるインフラ管理入門 | Carpe Diem

    先日のクックパッド LT で公開したのですが、前回の Velocity で行われた Puppet 作者の Luke さんによる Puppet ワークショップの日語版を許可いただいて翻訳しました。 実はかなり前(Velocity が終わった直後)に翻訳したものなのですが、すっかり公開するのも忘れていたので、LT にあわせて公開しました。 Puppet によるインフラ管理入門 原は、次のワークショップです。 Introduction to Managed Infrastructure with Puppet: Velocity 2009 – O’Reilly Conferences, June 22 – 24, 2009, San Jose, CA このワークショップでは、Puppet を実際に触りながら Puppet  の理解を深めていくという内容のワークショップです。 とても Pupp

  • サーバの消費電力を測定する | Carpe Diem

    インフラエンジニアたるもの、自前でサーバを調達して運用している場合は、自分が使っているサーバの消費電力を測定することはとても重要です。サーバの消費電力が分からないと、ラックにあと何台のサーバを収めるか把握できません。 サーバの消費電力を計測するには、クランプメータという機械が必要です。 今回は、小型クランプメータの三和電気計器の DCL10 を購入してみました。これにした理由は、そこそこの精度で、価格も安いからです。あと、あわせてラインセパレーターもあわせて購入しました。ラインセパレーターを使うと、感度倍率を1倍あるいは10倍にして測定することができます。 もちろん、インフラエンジニアたるもの自分で持っていたいということで、自費で購入しました。 さっそく、このクランプメータとラインセパレーターを使って、業務で使用している DELL のサーバの消費電力を測定してみました。 測定方法は、次のと

    サーバの消費電力を測定する | Carpe Diem
    takasick
    takasick 2009/11/12
  • CentOS 5 の初期設定 | Carpe Diem

    CentOS 5.x をインストールしたあと、いろいろと初期設定を行っています。今は、サーバ用途の場合 kickstart の %post セクションでいろいろな初期設定をまとめて行って自動化しています。kickstart は、別の機会に公開するとして、今回は %post セクションで行っている初期設定を順番に紹介します。紹介する順序は、順不同です。 NOZEROCONF を設定する 余計なネットワーク経路を作らないために、/etc/sysconfig/network に次の設定を追加します。APIPA という仕組みを使う場合は必要です。 NOZEROCONF=yes IPv6 を無効にする IPv6 を使っていないので、/etc/modprobe.conf に次の設定を追加します。 alias net-pf-10 off alias ipv6 off ifdown-eth にバッチをあて

  • ベンチマークツールのまとめ | Carpe Diem

    サーバ1台あるいは、サービス全体で、いったいどのくらいのパフォーマンスがあるのかについて計測することは、とても重要なことです。 僕が管理しているサービスは、最初にサービスをはじめるときはある程度の規模感を想像しながらまとまめてサーバなどを調達しましたが、サービスを開始してすこしたってきたところで今後の投資計画をたてたいため、月ごとのトラフィックを予測して、いつごろにどのくらいのサーバなどが必要か情報を調査して計画を立てることになりました。もちろん、最初からちゃんとベンチマークを行って計測してサーバを調達したほうがいいのですが、小さい会社では最初はサービスの開発に注力したいため、なかなかそういった時間をとれないのもまた事実です。 ということで、現状のサービスのパフォーマンスを測定するために必要な CentOS 上で動作するコンソールベースのオープンソースなベンチマークツールについて調べてみま

    ベンチマークツールのまとめ | Carpe Diem
    takasick
    takasick 2009/10/06
  • Scribd での Squid によるキャッシング方法 | Carpe Diem

    Alexey Kovyrin’s Blog に Scribd での Squid によるキャッシング方法が紹介されていました。 かなり興味深い記事だったので、日語で要約としてまとめておきます。このエントリでは、ハードウェア設定、ソフトウェア設定、キャッシングクラスター設定、の3つの章から説明されています。 ハードウェア設定 次のようなハードウェア仕様のサーバを使っています。 CPU: Xeon 5418 x 1(CPU 使用率平均は 1% 以下なので安い CPU を使っているとのことです) RAM: 8GB Disk: SAS 15000回転 x 4 で、JBOD(RAID 未使用、すべての RAID のタイプを試してみたが、I/O パフォーマンスを改善する助けになるものはなかった) 高回転型のディスクを使っていて、JBOD にしているところが興味深いです。CPU の負荷グラフも公開されて

  • iptables の ip_conntrack の最大値を変更する方法 | Carpe Diem

    iptables を使っているとき、接続数が増えてくると /var/log/messages に次のようなエラーが表示されることがあります。 Aug  2 23:44:44 s13 kernel: ip_conntrack: table full, dropping packet. Aug  2 23:44:51 s13 last message repeated 10 times Aug  2 23:45:40 s13 kernel: printk: 2 messages suppressed. このエラーメッセージの意味は iptables の ip_conntrack という接続テーブルが一杯になってパケットが破棄されたという意味です。詳しいことは、「中〜大規模サーバーを運用するときの勘所 – iptablesとip_conntrack」に解説されています。 まず、現在の ip_co

  • LVS DSR の環境で、複数の SSL 証明書を設定する方法 | Carpe Diem

    LVS DSR の環境で、複数の SSL 証明書を設定しようとして、かなりはまってしまったのでその方法を書いておきます。 リアルサーバ側の環境はいつものとおり、OS は CentOS 5.3 x86_64、Apache HTTP Server 2.2.11 with mod_ssl です。 LVS DSR を実現する場合、リアルサーバ側にグローバル VIP の宛先でパケットが届くので、リアルサーバ側で lo:0 でエイリアスするか、iptables -j REDIRECT でリアルサーバでパケットを受け入れる必要があります。詳しくは、DSAS 開発者の部屋を参照してください。 僕の環境の場合、LVS DSR を実現するために後者の iptables を使っています。今回設定する複数のサイトの VIP を IP アドレス 1.2.3.4 と 5.6.7.8 とすると、リアルサーバ側の ipt

  • インフラエンジニアになろう! | Carpe Diem

    おそらくこんなインターネットの端っこにあるブログで発してもあまり効果はないと思うけれど、個人的に感じるインフラエンジニアの魅力を書いてみたいと思います。 最近、このブログがほぼインフラに関する内容なのは、僕はインフラエンジニアだからだ。 僕は前職ではとある工場のようなところで働いていていわゆる普通に組み込み系のエンジニアだった。Win32 アプリケーションから Java アプリケーションから Structs を使った Java Web アプリケーションからファームウェアまで一通りの仕事をしたことがある。 そんな環境から一転して、今はとあるコンシューマサービスのインフラエンジニアをやっている。インフラエンジニアをやっている理由は、特に上から指示されたのではなく、まともなスキルもないのに自分で志願してやっている。 僕がどうしてインフラエンジニアをやっているかというと理由は、次のとおり。 おそら

    インフラエンジニアになろう! | Carpe Diem
  • MySpace のアーキテクチャー | Carpe Diem

    MySpace でのインフラアーキテクチャーについて解説されている貴重なプレゼンと動画が InfoQ で公開されていました。これは MySpace.com のシステムアーキテクト責任者 Dan Farino 氏による講演です。 MySpace 前のサーバは、次のとおり。 ウェブサーバ: Windows 2000 Server, IIS 5.0, ColdFusion 5 データベースサーバ: Windows 2000 Server, SQL Server 2000 現在は、次のようになっている。データベースサーバが少なめなので、ほとんどキャッシュサーバで捌いているのかなと思った。 ウェブサーバ 4500台: Windows 2003/IIS 6.0/ASP.net キャッシュサーバ 1200台: Windows 2003 64bit データベースサーバ 500台: Windows 2003

  • MySQL の slowlog を logrotate する方法 | Carpe Diem

    よく MySQL に発行されている重いクエリーをチューニングするために slowlog を出力すると思います。サービスが成長してくると slowlog は増えていく傾向にあります。毎日、せっせとチューニングしているのは基中の基ですが、slowlog が肥大化してしまうとチューニングの結果がだんだんと見えなくなってしまいます。特に mysqldumpslow で解析をしているときなら、過去のクエリーまで分析に含まれてしまったりします。 かなり前置きがなくなりましたが、この slowloglogrotate する方法をまとめておきます。やり方は、いたってシンプルで /etc/logrotate.d/ に次のファイルを置くだけです。 /var/lib/mysql/mysqld.log /var/lib/mysql/mysql-slow.log  { # create 600 mysql

  • MySQL スレーブを便利に作るためのスクリプト | Carpe Diem

    MySQL スレーブを増やすには、/var/lib/mysql ディレクトリをコピーする方法が一般的かもしれないけれど、個人的には毎日 mysqldump している SQL を流したい。そこで、次のようなスクリプトを作ってみた。このスクリプトは、「データベース名_mysql-bin.ログファイル名_ログポジション.sql」という名前の mysqldump した SQL ファイルを流して Slave を作るだけの簡単なシェルスクリプト。(puppet template なので一部おかしいですが、最初の変数定義だけです) #!/bin/sh DATABASE=<%= mysql_database_name %> MASTER_HOST=<%= mysql_master_host %> MASTER_USER=<%= mysql_repl_user %> MASTER_PASSWORD=<%=

  • DELL サーバで IPMI を使う方法 | Carpe Diem

    最近の 1U サーバなどでは、IPMI という Intel の規格にそったものが搭載されています。IPMI を使うと、おもに次のようなことがなんとネットワーク経由で操作できます。詳しくは、DSAS 開発者のブログを参照してください。 BIOS の設定変更 電源のオフオン 各種センサーの情報の取得(温度やファンの回転数など) 今回、IPMI を使ってみようと思ったのは、おもに BIOS の設定変更を遠隔でやりたいと思ったからで、さらにいうと BIOS のブート順序の設定変更をいちいちデータセンターまで行って行いたくない。データセンターでの現場作業はあまり心身によろしくないということではじめて IPMI を設定して使ってみました。 さて、今回は DELL 1U サーバの R300 + DRAC5 と R200 + DRAC4 での組み合わせでの IPMI の設定方法です。DRAC というのは、

    DELL サーバで IPMI を使う方法 | Carpe Diem
  • VMWare ESXi を自宅サーバに導入してみた | Carpe Diem

    VMWare ESXiが、昨年8月頃に無償公開されたので自宅サーバのリプレイス記念もかねて導入してみた。サーバは、Intel Core 2 Quad 9550、メモリ 8GB の環境。 VMware-VMvisor-InstallerCD-3.5.0_Update_3-123629.i386 をマウントする。 install.tgz を解凍して、install/usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0_Update_3-123629.i386.dd.bz2 を解凍する。解凍してできた VMware-VMvisor-big-3.5.0_Update_3-123629.i386.dd(700MB) を USB メモリーに書き込む。OSX は USB メモリーを挿すと自動的にマウントしてしまうので Disk Utility で /dev/

    VMWare ESXi を自宅サーバに導入してみた | Carpe Diem
  • ハードディスク速度評価 | Carpe Diem

    今までコストと容量を重視して、SATA 7200RPM のハードディスクだけを使っていたけれど、試しに SAS 15000RPM のハードディスクのサーバを導入してみることにした。用途は、Flickr のパクリで Slave データベースサーバとして使う。 今回比較した s1 と s2 のスペックは、次のとおり。 s1: DELL R300, Xeon L5410  @ 2.33GHz, 8GB RAM, SAS 300GB 15000RPM s2: DELL R200, Xeon L3210  @ 2.13GHz, 4GB RAM, SATA 160GB 7200RPM 来なら同じスペックのマシンで比較したところが仕方がない。 bonnie++ で速度面を評価してみた結果は、次のとおり。 s1 SATA Version 1.03e       ——Sequential Output——

  • Apache がセマフォを使いきる | Carpe Diem

    Apache の負荷が高いときに Apache を service httpd restart として再起動すると、まれに次のようなエラーメッセージを表示して Apache を再起動できないときがある。 [Mon Feb 09 17:54:50 2009] [crit] (28)No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed えっ、ハードディスクの空き容量がなくなったと勘違いしそうなエラーメッセージだけれど、これは Apache がセマフォを使いきっているために起こる現象。サーバを再起動すればすぐになおすことができるが、そうそうサーバを再起動できないので、次のコマンドで Apache ユーザが使用しているリソース一覧を表示して確認する。 $  sudo

  • MySQL の wait_timeout と thread_cache_size の関係 | Carpe Diem

    Jeremy Zawodny 氏のブログに MySQL, Linux, and Thread Caching という興味深い記事があったので、理解するために自分翻訳してみた。この記事は、今はないけれども rember.yahoo.com で MySQL を使ったときの話のようです。ちなみに MySQL のバージョンは 4.0.4。 わぉ、とても忙しい一週間だった。私は、remeber.yahoo.com の MySQL サーバや関連するものごとに実に何日かを費した。そして、私は1日か2日を休息に使った(睡眠やシャワーなど) ところで、私はいくつか興味深い発見をした。もっとも驚いたことは MySQL サーバがとても忙しくなったときの Linux 上でのスレッドキャッシングの挙動だ。ポイントは、忙しいときのみということだ。忘れずに。 あなたも分かっていると思うが、われわれがすべてのウェブサーバ