2008-01-01から1年間の記事一覧

DB物理設計の際によく読む本

DBの物理設計をはじめ、DB関連の作業をするときに比較的読む本を紹介。なかなかよいです。 Oracle物理設計 『プロとしてのOracle物理設計入門 増補改訂版』は増補改訂版になって、レプリケーションやRACに関する記載が追記された。『Oracle逆引き大全606の極…

CVE-2008-2938

UTF-8の冗長表現を使用したDirectory Traversal問題 ディレクトリトラバーサル攻撃とは 相対パスを利用し管理者の意図しないディレクトリへのアクセスを行う攻撃 想定される被害としてはWebサーバ上の公開されていないファイルへのアクセスによる情報漏洩な…

Gratuitous ARPの送出方法

以前のブログで書いたGratuitous ARP。今回は具体的な送出方法について書いてみる。 Linux・・・send_arpコマンドの利用 bonding を Active-Backup で構成している状況でネットワークリンクを切断せずに ifenslave コマンド、たとえば# ifenslave -c bond0 e…

最近読んでいる本

最近こんな本を読んでます。なかなか勉強になって面白いです。HA構築の本は少しバージョン古かったりするのが残念ですが。。[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)作者: …

Linuxルータ

VMWareでローカルPCに作ったサーバに、LANに接続した自分のマシン(VMWareホスト)以外のクライアントからアクセスさせたくなったので、ゲストの1つをLinuxルータとして設定してみた。 iptables NATを使ったルータ カーネルパラメータ設定 設定埋め込み 恒久的…

Gratuitous ARP

今回はGratuitoous ARP(グラチュータスアープ)についてちょっと書いてみる。 そもそもGratuitous ARPとは? Sender-IPアドレスと Target-IPアドレスが同じARPパケット。直訳すると"余計なARP"となり、本来のARPとは異なる目的で使用される。重複IPアドレスを…

MySQL レプリケーション関連Tips

前回のブログに引き続き、MySQLのレプリケーションについて。今回は実装レベルでのTipsについても言及。以前ハマったことのある内容を中心に書いておく。 IPアドレス/ホスト名変更対応 マスター、スレーブのIPアドレス、ホスト名のいずれか、または両方が変…

MySQL レプリケーション基礎

今日は、MySQLのレプリケーションのお話。バージョンは5.0を前提として説明。MySQLにおけるレプリケーションは更新情報を記録したバイナリログ(binlog)をベースとしたアーキテクチャ。マスターでの更新情報をバイナリログとしてスレーブに転送、これをSQLに…

ApacheのMPMについて

今日はApacheのMPMについて書いてみる。MPMは、Apache HTTP サーバではリクエストを処理する部分のことを指し、Apacheを使用する上でMPMはとっても大事なもの。Apache HTTP サーバ 2.0系から採用されている。MPMの種類は以下の4通り。 prefork worker perchi…

JRockitダウンロード先

Oracleによる買収以降、ダウンロードリンクが切れたり切れなかったり、とにかく面倒。で、今日ちょいと探していたらリンクの復活を確認。また気が変わらないうちに、一通りダウンロードしておくのがよさそうだ。 http://commerce.bea.com/products/weblogicj…

ethtoolでNICの情報が正常に表示されない

VMWareのゲストとして作っていたCentOS3.9、4.6、5.2の環境で、ethtoolコマンドの実行結果が以下のようになってしまった。ちなみにeth0はeth1とbonding(bond0)を構成しており、それ以外にeth2、eth3(この2つでbond1)のネットワークI/Fをもつ構成。 # ethtool…

JkMount指定を動的に変更

今回はuriworkermap.propertiesでJkMount指定を動的に変更する方法を紹介。mod_jkを使ってApacheとTomcatを連携される際、Tomcat側で処理させるURLパスをJkMountディレクティブで指定するが、開発環境など変更が激しい環境ではこの定義変更にApache再起動が…

Poundのログ設定でハマった

以前このブログで紹介したpound。前に書いた通り、設定の簡単さ、機能面は非常に優れているのだが、ここで2つほど問題が持ち上がってくる。それはログ出力先とアクセス解析である。デフォルトインストールでは、poundのログは/var/log/messagesに出力される…

lshwによるハードウェア情報取得

メモリの情報、といっても使用率などではなく、物理的に何スロット使っていてあとどれくらい増設可能なのかを知りたいとき、どうすればいいんだろうか?・・・ということで、調べてみるもののfreeやtop、/proc/meminfoだけではどうも欲しい情報に辿り着けず orz…

KSarでsysstatのグラフ化

sysstatで取得したデータは「sa」のバイナリ形式ファイルになるが、これをグラフで図示したい場合にうまい方法がないかなぁと探してみたところ、よさげなツールを発見。KSarというJavaのツールで、汎用的なプラットフォームに対応しているのが特徴。http://w…

OOM kill of mm-less task

CentOS3のWeb/ApサーバのTomcatが落ちてしまった。/var/log/messagesにはこんなログが。 Jul 25 03:23:27 centos3 kernel: Out of Memory: Killed process 8099 (java). Jul 25 03:23:28 centos3 kernel: Fixed up OOM kill of mm-less task OOM kill of mm-…

Poundについて

最初に簡単にpoundとは何かについて解説。リバースプロキシ & ロードバランサ(reverse-proxy and load-balancer)で、以下の機能をもつ。 リバースプロキシ : ブラウザからのリクエストを1台以上のバックエンド・サーバに渡す(バックエンド・サーバからは…

RPMパッケージをインストールせずに展開する

ドキュメントなどを書く際、RPMパッケージを使用して導入したソフトウェアが具体的にどんなファイルやディレクトリを含んでいるのか確認したいとき、どうすればいいのかちょっと調べてみた。なんてことはなく標準コマンドで用意されていたんですね・・・今ま…

CATALINA_OPTSとJAVA_OPTSの違いとは?

ふと気になったので調べようとしたら、$CATALINA_HOME/bin/catalina.shのコメントに普通に説明が書かれていたことに気付いた。結論から言うと、stop時も使われるかどうかが異なる。以下はcatalina.shのコメントの抜粋。 CATALINA_OPTS Java runtime options …

WebブラウザでCocckie情報を確認する方法

www

今更かもですが、WebブラウザでJavaScriptを使ってCoockie情報を確認する方法をば。やり方は非常に単純で、URLに「javascript:document.cookie;」を記述するだけ。このショートカットを作ってブラウザのお気に入りにでも入れておけば使いたい時にすぐ呼び出…

シェルスクリプトの参考書

備忘録ですが、よさげな本があったのでメモしておく。どちらも実用的。UNIXシェルスクリプト逆引き大全333の極意作者: 中橋一朗出版社/メーカー: 秀和システム発売日: 2004/10/04メディア: 単行本購入: 4人 クリック: 64回この商品を含むブログ (18件) を見…

ISOイメージファイルのマウント方法

Linuxの場合 ループバックデバイス(/dev/loop/*)を作成してmountすればOK。Linuxの場合には、loopオプション指定で一気にmount可能。BSD、UNIXの場合には、ループバックデバイスではないものの、擬似デバイスを作ってマウントするという概念は同じ。 # mount…

ネットワークのAuto-Negotiationについて

ネットワーク機器の標準的な機能の1つに、"Auto-Negotiation(オートネゴシエーション)機能"がある。これは、接続した機器(ポート)間で通信速度と通信モード(半二重/全二重)を折衝し、最適なものに自動設定してくれるという仕組み。なお、全二重通信と…

備忘録:Oracleのログモード変更方法

完全な備忘録ながら、せっかくなのでブログにも書いておく。 アーカイブログモード OracleではREDOログファイル(REDOロググループ)は循環して使用されるため、二周目以降はログの内容が上書きされて消えてしまう。ログが上書きされる前に内容をアーカイブ…