« 2008年09月 | メイン | 2008年11月 »

2008年10月04日

MRTG で DISK I/O

DISK I/Oに関する情報は /proc/stat に入ってます。
これを使うのが一番手軽な方法かと・・
(ちなみに、カーネルによって/proc/statの場合と/proc/diskstatsの場合があります)


ローカルマシンが対象ならばこんなかんじでスクリプトをまず作ります。


#!/usr/bin/perl
use FileHandle;
my $fh = FileHandle->new("cat /proc/stat|");
while(<$fh>){
        if(/^disk_io: \([^(]+\([0-9]+,[0-9]+,([0-9]+),[0-9]+,([0-9]+)\)/) {
                print "$1\n";
                print "$2\n\n\n";
        }
}
close($fh);


リモートが対象ならば

#!/usr/bin/perl
open(SSH,"ssh 192.168.1.6 cat /proc/diskstats |");
while(<SSH>){
        if(/hda [0-9]+ [0-9]+ ([0-9]+) [0-9]+ [0-9]+ [0-9]+ ([0-9]+)/) {
        print "$1\n";
        print "$2\n\n\n";
    }
}
close(SSH);

sshで接続してるので、sshをパスワードなしで接続ここの様にしておく。


ちなみに上記はPerlで作成してありますが、何でもOKです。
いっそのことシェルで作っちゃってもOKよ。(その場合、MTRG.CFGの中に直接記述できます。)


上記Perlで数字が2行と改行2行の計4行出力されてればOK。

MTRG.CFGはこんな感じで書きます


Target[diskio192.168.1.59]: `/etc/mrtg/diskio-1.59.pl`
MaxBytes[diskio192.168.1.59]: 200
Title[diskio192.168.1.59]: Disk I/O
PageTop[diskio192.168.1.59]: <H1>Disk I/O on 1.59</H1>
YLegend[diskio192.168.1.59]: Disk I/O
ShortLegend[diskio192.168.1.59]: blocks/s
LegendI[diskio192.168.1.59]:read
LegendO[diskio192.168.1.59]:write



/proc/diskstats に関する情報

Field 1 -- # of reads issued
Field 2 -- # of reads merged
Field 3 -- # of sectors read
Field 4 -- # of milliseconds spent reading
Field 5 -- # of writes completed
Field 6 -- # of writes merged
Field 7 -- # of sectors written
Field 8 -- # of milliseconds spent writing
Field 9 -- # of I/Os currently in progress
Field 10 -- # of milliseconds spent doing I/Os
Field 11 -- weighted # of milliseconds spent doing I/Os

投稿者 Anne : 18:59 | コメント (0)

swap領域を簡単に増やすには

テスト環境なんかで適当に作った後、SWAPが足りなくてOutOfMemoryの連発なんてときは


dd if=/dev/zero of=swapfile bs=1024 count=1000000 (1Gです)
mkswap -v1 swapfile
swapon swapfile

これでOK

あくまでも一時的な処置です・・

投稿者 Anne : 00:39 | コメント (0)

2008年10月03日

Postgres create table


CREATE TABLE test2 as select * from test order by main_id desc , main2_id desc;

投稿者 Anne : 23:53 | コメント (0)

Pgpool-2

wget http://pgfoundry.org/frs/download.php/1843/pgpool-II-2.1.tar.gz
./configure
make
make install

cp /usr/local/etc/pgpool.conf.sample /usr/local/etc/pgpool.conf
cp /usr/local/etc/pcp.conf.sample /usr/local/etc/pcp.conf

vi /usr/local/etc/pcp.conf
USERNAME:MD5PASS

pgpool-II-2.1.tar.gzを展開したディレクトリの中の/sqlフォルダ内に
/usr/src/pgpool-II-2.1/sql/system_db.sql
があるので、system_dbを作成しておく

こんな感じ
createdb -U postgres -h localhost pgpool
psql -U postgres -h localhost pgpool < system_db.sql


PgpoolAdmin
wget http://pgfoundry.org/frs/download.php/1716/pgpoolAdmin-2.1-beta1.tar.gz
展開されたディレクトリをWEBアクセス可能な場所に移動

http://サーバー/PgpoolAdmin/install/checkDirectory.php

投稿者 Anne : 17:32 | コメント (0)

EXT3 チューニング

LABEL=/hoge /hoge ext3 rw,noatime,data=writeback 1 2
tune2fs -o journal_data_writeback /dev/md2


data=journal
ファイルデータとメタデータの両方を記録することでデータの整合性は一番高いモードですが、オーバーヘッドが非常に大きくなります。

data=ordered(標準)
このモードではメタデータのみが記録されます。ファイルデータを先に書き込むことでデータの内容は保証されます。

data=writeback
データの整合性よりデータへのもっともはやいアクセスを提供するオプションです。ステムクラッシュ時には古いデータのままである可能性があります。整合性を取らなくてもいいような一次的なファイルを保存するだけのファイルシステムであればwritebackモードを使用することも有効な手段と考えられます。


投稿者 Anne : 17:26 | コメント (0)

Postgres テーブルスペース

テーブルスペースの一覧


\db+
List of tablespaces
Name | Owner | Location | Access privileges
------------+----------+----------+-------------------
pg_default | postgres | |
pg_global | postgres | |
(2 rows)

テーブルスペースとは、その名の通りテーブルの場所です。
たとえば


CREATE TABLESPACE disk2 LOCATION '/disk2/pgdata';

のようなコマンドをたたくと

\db+
List of tablespaces
Name | Owner | Location | Access privileges
------------+----------+----------+-------------------
disk2    | postgres | |
pg_default | postgres | |
pg_global | postgres | |
(3 rows)

すでにあるテーブルを移動させたい時は


ALTER TABLE srctabl1 SET TABLESPACE disk1;

この基本的な使い方は、高負荷時のDiskI/Oの分散です。
負荷分散なので、同一Diskの別フォルダに作成しても意味ないので気をつけましょう。


投稿者 Anne : 16:37 | コメント (0)

SSH を パスワード なし で 接続したい

接続元マシンでの作業
ssh-keygen -t rsa を実行すると、自分の秘密鍵・公開鍵が/root/.ssh/に生成させる
いくつか質問がきますが(パスフレーズやファイルの生成場所)何も入力しない。
id_rsa(秘密鍵)
id_rsa.pub(公開鍵)
cat /root/.ssh/id_rsa.pub


接続先マシンでの作業
vi /root/.ssh/authorized_keys
この中に上記で作成された公開鍵の中身を記述しておく

cat ./.ssh/id_rsa.pub | ssh root@des_host名 "cat >> ./.ssh/authorized_keys"
こんな感じのコマンドならば、すべて接続元のマシンで完了するよ。

投稿者 Anne : 14:01 | コメント (0)

2008年10月02日

windows 2000 server 自動ログイン


rundll32.exe %SystemRoot%\system32\netplwiz.dll,UsersRunDll

投稿者 Anne : 10:00 | コメント (0)

 

ハワイ旅行| サトピの子連れグアム旅行記| グアム旅行の情報サイト| ジャマイカ| ハワイ・ハワイ旅行の携帯サイト| 海外レンタル携帯電話| ハワイに行きたいAnneさんのページ| サイパン旅行の情報サイト| ケイマン諸島の情報サイト| 沖縄 沖縄旅行の情報サイト| ガーデニング| エクステリア| リナックス| ザウルス| アフィリエイト| 相互リンク| ブログパーツ| ブログ・ブログ比較| 日本のお城データベース| 技術立国日本| 通信販売| 靴 通販 ショッピング| 腕時計 ショッピング 通販| 無料動画、フラッシュ、API

Copyright (C) 2006-2007 Anne Corporation. All Rights Reserved.