アーカイブ
-
iSCSI Enterprise Target
これ (iSCSI Target – Solaris Express) をみたので Linux (Fedora Core 6) でやってみました。
設定にあたってこの辺を参考にしました。3つめのページには Microsoft iSCSI Software Initiator についても書かれています。
iSCSI enterprise target project Wiki
A Quick Guide to iSCSI on Linux
Going Enterprise – setup your FC4 iSCSI target in 5 minutes準備
利用するにあたって以下のものが必要です。kernel-development パッケージ
kernel コンフィグの “Cryptographic options” の “Cryptographic API” が有効になっていること
OpenSSL ライブラリソースを checkout します。
# mkdir /usr/local/src/iscsitarget
# cd /usr/local/src/iscsitarget
# svn co svn://svn.berlios.de/iscsitarget/trunk [...]2008年 2月 7日 | Filed under Linux -
DRBD+Heartbeat で NFS Server をクラスタ化してみる
今回は DRBD + Heartbeat で NFS Server を HA クラスタ 構成にしてみます。
結論としては、F/O 時にイマイチうまくできなかったのですが、過程も大事ということでメモ。テストにあたって Setup of high availability NFS servers を参考にしました。
DRBD のインストールや設定については DRBD on CentOS 5 の記事のような感じです。
Heartbeat との組み合わせについては MySQL DRBD Heartbear HA の記事のように設定しています。
OS 環境は同じく VMWare Server 上の CentOS 5 を使用します。環境
OS
ホスト名
実IPアドレス
仮想IPアドレス
DRBDデバイス名
NFS マウントポイントCentOS 5
toire
192.168.159.128
192.168.159.130
/dev/drbd0
/dataCentOS 5
ohuro
192.168.159.129
192.168.159.130
/dev/drbd0
/dataNFS Server の準備
NFS がインストールされていなかったので、yum でインストールしました。
# yum -y install nfs-utils
プライマリの設定
NFS 共有のディレクトリを作成します。/data としました。toire# mkdir /data
toire# mount -t [...]2008年 2月 6日 | Filed under Linux -
awk で GET データを受け取る
awk で GET データを受け取ることはあまり無いと思うが、ちょっとやってみたのでメモ。
GET かどうかを判定して、”&” でデータを区切った後に、入力データだけを取り出す。
その後はデコードしたり、文字チェックしたりすればいいですかね。method=ENVIRON["REQUEST_METHOD"];
if(ENVIRON["QUERY_STRING"]){
if(method==”GET”){
str=ENVIRON["QUERY_STRING"];
split(str, a, “&”);
# field parse
field1=substr(a[1], index(str, “=”) + 1);
field2=substr(a[2], index(str, “=”) + 1);
# decode したりあれこれする
・・・
・・・
}
}2008年 2月 1日 | Filed under Linux -
sed で携帯の IP アドレスリストを作る
sed だけでほとんどやっつけてみたいということで。
コマンドラインから無理やり携帯の IP アドレスリストを取得してみた。
各社のウェブサイトに curl でアクセスして HTML をいじるので、リニューアルされたら即アウト。
「今のところ取れる」というだけの話。ナマモノのようだ。DoCoMo
リストになっているところから IP アドレスっぽいのを抜き出した。curl $DOCOMO_URL | sed -n ‘/^.*<li>\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\/[0-9]\{1,3\}\)<\/li>.*$/{s//\1/;p}’ > docomo.lst
ezweb
IP アドレスとサブネットマスクで 2 行で書かれていたので、後で N コマンドでくっつけた。
パイプで渡しているのでイマイチかもしれない。curl $EZWEB_URL | sed -n ‘/^.*<div.*>\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)<\/div>.*/,/^.*<div.*>\(\/[0-9]*\)<\/div>.*/{s//\1/;p}’ | sed ‘/^[0-9].*$/N;s/\n//’ > ezweb.lst
SoftBank
テーブルの中に入ってたので抜き出した。curl $SOFTBANK_URL | sed -n ‘/^.*”>\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)\(\/[0-9]*\).*/{s//\1\3/;p}’ > softbank.lst
WILLCOM
改行コードを変換する sed を一つ入れた。curl $WILLCOM_URL | sed ’s/\r/\n/g’ | sed -n ‘/^<td.*”>\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\/[0-9]*\).*/{s//\1/;p}’ > willcom.lst
.htaccess を作る
awk と組み合わせて、携帯から以外のアクセスを拒否する [...]2008年 1月 22日 | Filed under Linux -
awk を書いてみる
awk というと、列を取り出すことくらいにしか使っていなかったので、他のことにも使えるように練習をしてみる。
特に何かに使うわけではないけど、練習がてら /var/log/secure ログファイルの中の、ssh の認証で 3 回以上失敗した IP アドレスと失敗回数を awk で拾ってみた。sed -n ‘/Failed/s/.* sshd.*Failed password for.* \([0-9.]*\) port .*/\1/p’ /var/log/secure | awk ‘NR==1{oip=$1;num=1;next}{nip=$1}oip~nip{++num;next}oip!~nip{if(num>=3){print num,oip}oip=nip;num=1;next}’
練習用なので自分のために解説をすると…
まず sed で Failed した IP アドレスだけを抜く(全部 awk でできるかもしれないけど sed が楽)。sed -n ‘/Failed/s/.* sshd.*Failed password for.* \([0-9.]*\) port .*/\1/p’ /var/log/secure
それから awk に渡す。
まず一行目の IP をとって比較用の変数に入れてカウントして、次の行に処理を移行する。awk ‘NR==1{oip=$1;num=1;next}
次の行の IP をとって別の変数に入れて、
{nip=$1}
前の行の IP と現在の行の IP を比べて同じならカウントして次の行に評価を移行。
oip~nip{++num;next}
違う IP [...]
2008年 1月 14日 | Filed under Linux