Dell Remote Access Controller

DELL製品のリモート管理ソリューションです。これを利用することで、リモートから電源のON/OFFをすることができ、高負荷によってリセットできないといった問題から開放される便利なツール。しかし、ラックマウントサーバー Power Edge850(1U)においてRAIDカードをさしてしまうと利用できない(この問題はPower Edge860より解消されている)。DRACという略称が良く使われているらしい。
http://www1.jp.dell.com/content/learnmore/learnmore.aspx?c=jp&l=jp&s=pad&~id=pedge_remote&~line=enterprise&~mode=popup&~series=tower_servers

二重起動防止

Windowsで二重起動を防止させるためには、Mutexインスタンスを生成した際にエラーが出るかどうかで判断できる。
Linuxではその方法がよく分からないので、プロセス管理から見た形で実装をした例がの通り。
<?php
//プロセスコントロールクラス

define(‘PROC_ONLY’, 1); //プログラムベースで比較
define(‘CONTAIN_ARG’, 2); //引数が完全一致するかで比較
class ProcControl{
 //二重起動を防止するためのプログラム
 function isCurProcRuning($check_mode = PROC_ONLY){
  global $argv;
  if ($check_mode == PROC_ONLY){
   $target = $argv[0];
  } else {
   $target = ‘”‘ . implode(‘ ‘, $argv) . ‘”‘;
  }
  $handle = popen(“ps -ef | grep -w $target | grep -cv grep”, ‘r’);
  $read = fread($handle, 2096);
  pclose($handle);
  return $read > 1;
 }
}

//プロセスの2重起動を防止を判定
if (ProcControl::isCurProcRuning(CONTAIN_ARG)) die(“process already exist\n”);
?>

SANとNAS

SAN(Storage Area Network)とNAS(Network Attached Storage)は同じようなことを言っている(ストレージをネットワーク上に配置して仮想化して位置透過性を実現して利用する)ということなのだが、SANはネットワークそのもの、NASはハードウエアを示している。
SAN: http://e-words.jp/w/SAN.html
NAS: http://e-words.jp/w/NAS.html
ただ、具体的な違いは、ファイルシステム(NASはストレージ自身で持っているが、SANはサーバー側に持つので、互換性のないOSが同じ領域を読み込むと破壊が起こるがSANの方がオーバーヘッドは小さい)ストレージとの接続方法にあるようだ。
http://www.atmarkit.co.jp/fsys/keyword/007san_nas/007san_nas.html
http://itpro.nikkeibp.co.jp/article/COLUMN/20060407/234778/?ST=start4

最近はJ-SOX(日本版SOX法)対応や地震などのサービスを継続しがたい状態になった場合でも他のスタンバイサーバーで最新データにて運用を継続するなど冗長化への利用も増えているようだ。

snmpとMRTG

○CPUのLoad Averageをグラフに描画する
snmp.confでの設定は特に不要
Target[192.168.0.1_cpu]: 1.3.6.1.4.1.2021.10.1.5.1&1.3.6.1.4.1.2021.10.1.5.2:
public@192.168.0.1 (※改行されていますが、1行です)
MaxBytes[192.168.0.1_cpu]: 300
YLegend[192.168.0.1_cpu]: Load Average
LegendI[192.168.0.1_cpu]: 1min
LegendO[192.168.0.1_cpu]: 5min
ShortLegend[192.168.0.1_cpu]: %
Unscaled[192.168.0.1_cpu]: dwmy
Title[192.168.0.1_cpu]: Load Average for www.hogehoge.com
PageTop[192.168.0.1_cpu]: <H1>Load Average for www.hogehoge.com</H1>
Options[192.168.0.1_cpu]: gauge,growright
ThreshMaxI[192.168.0.1_cpu]: 50
○httpd(inetd)のプロセス数をグラフに描画する
snmp.confに以下の行を設定する
proc httpd
proc指定は.1.3.6.1.4.1.2021.2のMIBで取得可能なので、MRTGでは
Target[192.168.0.1_httpd]: .1.3.6.1.4.1.2021.2.1.5.1&.1.3.6.1.4.1.2021.2.1.5.1:
public@192.168.0.1: (※改行されていますが、1行です)
MaxBytes[192.168.0.1_httpd]: 200
Title[192.168.0.1_httpd]: HTTPD Process for www.hogehoge.com
PageTop[192.168.0.1_httpd]: <H1>HTTPD Process for www.hogehoge.com</H1>
Options[192.168.0.1_httpd]: absolute,gauge,nopercent,integer
Unscaled[192.168.0.1_httpd]: dwmy
ShortLegend[192.168.0.1_httpd]: process
YLegend[192.168.0.1_httpd]: HTTPD Process
○PostgreSQLのコネクション数をグラフに描画する
まず、vi /home/postgres_process.shとして以下を記述する
—————————
#!/bin/sh
LANG=C
export LANG
POSTGRESQL=`ps -ef | grep -w postgres | grep -cv grep`
echo $POSTGRESQL
—————————
chmod oug+x /home/postgres_process.shとして実行できるようにする。
ためしに/home/postgres_process.shを実行して数値が帰ってくるか確認する。
snmp.confに以下の行を設定する
exec postgresql /home/postgres_process.sh
exec 指定は.1.3.6.1.4.1.2021.8のMIBで取得可能なので、MRTGでは
Target[192.168.0.1_postgresql]: .1.3.6.1.4.1.2021.8.1.100.1&.1.3.6.1.4.1.2021.8.1.100.1:
public@192.168.0.1: (※改行されていますが、1行です)
MaxBytes[192.168.0.1_postgresql]: 150
Title[192.168.0.1_postgresql]: PostgreSQL Process for www.hogehoge.com
PageTop[192.168.0.1_postgresql]: <H1>PostgreSQL Connection for www.hogehoge.com</H1>
Options[192.168.0.1_postgresql]: gauge,absolute,integer,unknaszero,nopercent
Unscaled[192.168.0.1_postgresql]: dwmy
ShortLegend[192.168.0.1_postgresql]: connections
YLegend[192.168.0.1_postgresql]: PostgreSQL Connection
を設定する。
ところで、デフォルトではグラフの向きが左向きになっているが、日本人の感覚では時系列は右向きであることが自然だ。そこで、全体にgrowrightを効かせる方法(オプションディテクティブ)があるので、これも使ってみると良い。
Options[^]: growright

“snmpとMRTG” の続きを読む

md5sum

md5チェックサムの使い方

生成方法
md5sum (target_file) > (md5チェックサムファイル)

検証方法
md5sum –check (md5チェックサムファイル)


OKの場合
(target_files):OK

NGの場合
・・・エラー内容・・・
md5sum: WARNING: 1 of 1 listed file could not be read

ネットワークのいろは

通信方法
・ユニキャスト通信
ホストとホストが1対1で通信すること。
・マルチキャスト通信
特定のネットワーク全体に通信すること。
・ブロードキャスト通信
特定のネットワークに依存せず全ての端末と通信すること。DHCPサーバーを見つけるために問い合わせを行うときにも使われる。

その他
・オクテット
1byte=8bitとは限らないが、1オクテット=8bitである。

Apache2 + PHP + PostgreSQLインストール

Apache2 + PHP + PostgreSQLインストールの際のPHPインストールオプションメモ
./configure –with-pgsql=/usr/lib/pgsql –enable-magic-quotes –enable-sockets –enable-memory-limit –enable-calendar –enable-ftp –enable-mbstring –enable-mbstr-enc-trns –enable-mbregex –with-mime-magic –enable-mbstr-enc-trans –with-freetype –enable-gd-native-ttf –with-xml –with-apxs2=/usr/local/apache2/bin/apxs –with-gd –with-jpeg-dir –with-zlib –with-png –with-curl –with-openssls –with-config-file-path=/etc

make
make install