2007年08月06日

captchaを使ってみる

最近どうも私のサイトの掲示板がいろいろ迷惑投稿を受けています。

前回「禁句システム」を作ってからはしばらく来なくなりましたが、
また再発しました。

調べてみると、どうやら禁句として設定しておいた単語を使わずに
投稿しているようでした・・・

やはりここは最後の手段として「captcha」に頼るしかない!!

と言う事で早速導入しました。


で・・・
ここでいきなり出してしまいましたが、
「captcha」というものを初めて聞く人に簡単に説明。
実は私も最近知ったのですが、
こう言った迷惑投稿は人間がいちいちブラウザ上から行っているものではなく、
コンピュータでループして行っているらしい。
つまり何らかのいたずらプログラムを組んだ人が、
そのプログラムを実行させて定期的に迷惑投稿をしているということらしい。

そういえばよく見ると同時に同じような投稿がされている時がある。
人間の手によってブラウザから投稿しているのであれば不可能なことなのです。


そこで登場するのがこの「captcha」です。

これは「画像認証」と呼ばれ、下図のように数字や文字の画像をブラウザに貼り付け、
これと同じ数字や文字をテキストに入力し、それが合っていれば承認されて、
コメントが書き込めるといった機能です。

captcha.jpg


つまり人間かコンピューターかを見分けられる最も画期的なやり方です。


人間が画像を見ればそこに何が書いてあるかを読み取ることができますが、
コンピューターは画像と判断することが出来るかも知れませんが、
画像に何が移っているかまでは把握できません。



と言う事でこの「captcha」を導入して一週間経ちますが、
今のところ迷惑投稿はまだ発生していません。

もう少し様子見しますが、ほとんど成功と言えるでしょう!!わーい(嬉しい顔)





posted by ペー at 17:21 | 新潟 ☁ | Comment(2) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2007年06月12日

堪忍袋の緒が切れた・・・

ふ〜〜〜

前に掲示板を作って以来ずーと運用していますが、
来るのはいたずらのコメントばっかりです・・・


少し前まではちょっとしか来ていなかったので、
いたずらコメントが来たら速効削除していましたが、
最近はやたらと頻繁に来るようになり大迷惑しています。むかっ(怒り)


実はコメントがあると私の携帯にメールが行くように
設定しているのですが、
これが頻繁に来ると携帯が鳴りっぱなしで
勘弁してほしくなってきているんですよね。

特に就寝についた時なんかは本当に勘弁して頂きたい・・・バッド(下向き矢印)



ということで
私、堪忍袋の緒が切れてしまいましたので
対策しました。パンチ

その名も
「禁句検索システムーーーー」(ドラえもん風に)


とまー大したものではありません。

予め配列に禁句の言葉を覚えさせておき(これを配列1とする)、
コメントをDBにINSERTする前にもう一つの配列(配列2)に
コメントの一語一語を入れていき、
配列1と配列2をループを使って照合させる。

もし配列1にある禁句と配列2のコメントの言葉が一致するようなことがあれば、
DBにINSERTせずにはじき出すといったプログラムを組みました。


そしたらなんと、
ピタッといたずらコメントがなくなって
昨日は快適な睡眠がとれました。手(チョキ)


その内あちらさんも何かしら対策してるかと思いますが
しばらくは控えてくれるとうれしいです!
posted by ペー at 19:32 | 新潟 ☀ | Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2007年02月22日

破格安値のLinuxセミナー

こんな破格な値段のセミナーは見たことがありません!!


サイオステクノロジー株式会社
2/28にLinuxのセミナーをやるとのこと。

http://www.sios.com/seminar/rhel/linux_handson20070228.html


価格は10万で、
まー普通かなー
なんて思って見ていると・・・

さ、サーバー付きexclamation
し、しかもOS付きexclamation&question



・・・

ち、ちょっと混乱しそうなので、
軽く見積もってみましょう。

先ずサーバですが、メーカー小売希望価格では
45,000円となっております。
http://primeserver.fujitsu.com/primergy/catalog/tx150s5/product.html


そしてOSはAmazon.co.jp価格で
89,250円です。
http://www.amazon.co.jp/Enterprise-Linux-Standard-Intel-AMD64/dp/B000A2EM20/sr=1-1/qid=1170449258/ref=sr_1_1/249-2262583-9173914?ie=UTF8&s=software


単純のその二つを足すと・・・
え〜〜〜


しかもセミナーの資料とか人件費とか考えると
・・・

え〜〜〜

大丈夫か?



これだったらいくら自腹で東京出張といっても
交通費のもとが取れるぐらい安い!

そんなわけで行くか行かまいか迷っていたところ、
即効店員オーバーになっていました・・・


残念・・・


せめてOSはほしかった・・・

posted by ペー at 20:15 | 新潟 ☀ | Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2006年11月17日

WEB+MAIL ログ解析

まさかこんなに実用的なツールにめぐり合えるなんてるんるん

もしかしたら時代遅れな話かもしれませんが、
サーバに「AWStats」たるソフトを導入しました。

佐渡の酒.com」のWEBマスターとしてSEO対策にハマっている私は
最近Apacheのログ解析としてWebalizerだけでは
なんだか物足りなさを感じます。

つい先日までは「Webalizer入れたぞ〜パンチ
なんて盛り上がっていた私ですが、

「もっと詳細なログがあればどんな人がどれくらい自分のサイトに
訪れてきてくれているかがわかるんだけどな〜」

とか、

「ついでにメールのログもグラフ化できたら便利だよな〜」

なんていう欲がどんどん出てきていました。

※ちなみにメールログは「pflogsumm」を使って
定期的にログをまとめて自分宛にメールしていました。



で、適当にググってみたら結構すぐに見つかりました。
そして設定方法も結構載っているのです。

なんだ世間の人はみんなやってるんじゃん
と思いながら早速インストールしてみました。


インストール方法は結構簡単だったのですが、
設定に少しハマってしまいました。

AWStatsは基本的にはperlのスクリプトで
Apacheのログをグラフ化するようですが、
毎回ログ解析時にツールを動かすとサーバに負荷が掛かってしまいます。
(結構多くの人が「AWStatsは重い」と懸念しているようです)

しかし、ログをデータベース化して過去の情報を保持し、
一日一回(深夜あたりに)perlスクリプトでログ情報を更新し、
データベースに保存しておけば、サーバに負荷をかけず、
ログのサマリーをいつでも見れるような形になります。

AWStatsのいいところは、
見た目がかなり格好いいexclamation
(こんな感じです→ApachePostfix

詳細なログが見れるexclamation

WEBとMAILのログが見れるので管理が楽exclamation

といったところでしょう。


次はLinuxのFirewallであるiptablesのログ解析をやろうと思っています!
posted by ペー at 17:10 | 新潟 ☔ | Comment(0) | TrackBack(3) | Linux | このブログの読者になる | 更新情報をチェックする

2006年11月16日

見えない敵、「改行コード」

またまたLinuxでハマってしまいました。

最近アンチウィルス製品を乗り換えて、
新しい製品でスキャンを行っています。

ただ、そのスキャン方法が今まで毎晩
手動でコマンドをたたいて実行していました。

そろそろサーバの設定も落ち着いてきたことだし、
シェルスクリプトを組んでスキャンは自動実行にしよう!と思い、
スクリプトを作るまではよかったですが、

・・・

何をやっても起動してくれなかったのですもうやだ〜(悲しい顔)


実行させるといつも下記のエラーが出ます。

/bin/bash: bad interpreter: No such file or directory


うーーん
サーバのシェルはbashになってるし、
シェルスクリプトの記述はというと、
先頭に「#!/bin/bash」としっかり正しく書いてあります。

そんなこんなで色々ググって見たら、
ひらめき
ありました手(チョキ)

WindowsとLinuxでは改行コードが違う」との事。

いつもWindowsでスクリプトを作成し、
それをそのままSSHでサーバに転送しているため、
結構盲点でした。

Windowsでは標準改行コードはCR+LFですが,
LinuxではLFだったのです。

早速viでシェルスクリプトを開いて
:set ff=unix
:wq
と編集し、実行したところ、
さっくりと実行しました手(チョキ)


見えない敵、「改行コード」
恐るべし・・・
posted by ペー at 17:19 | 新潟 ☔ | Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2006年11月08日

POSTFIX グループメール

POSTFIXでのグループメール作成で少々ハマってしまいました。

お客様からホームページで注文を頂いた際に
管理者宛に指定のメールアドレスに自動メールが来るようになっておりますが、
これを「複数のメールアドレスを指定させたい」と私のASPに相談したところ、
ダメーパンチと言われてしまいました。

楽天では出来るのにちっ(怒った顔)

※例えば携帯のメアドを指定すればリアルタイムで注文が来たのがわかります。


仕方がないので、自分とこのメールサーバにてグループメールを作成し、
そこに複数のメールアドレスを登録するといった手法をとったわけです。

今まで前職でMS Exchangeサーバを使いこなしていたため、
私の中ではOS上でグループオブジェクトを作成し、
そのオブジェクトに対してメールのAliasを設定して
メンバを登録すればいいのかな〜
なんて思っていたらどうやら違っていたようでした。

POSTFIXでは(たぶん他のメールサーバも同じだと思うが・・・)
いちいちグループを作成することはないようです。

やることはとても簡単exclamation

ただ、/etc/aliasesファイルに任意のグループ名を追加し、
その後にメンバ(グループに参加する複数のエールアドレス)を追加する、
そして「newaliases」というaliasesの更新コマンドを実行すれば、
あ〜らよっと(・・・表現古!!)
簡単に出来てしまいました。


こんなことに2日くらいかけて調べた僕って・・・

管理者のくせにまだまだ勉強が足りない僕でございました。



てか早くPOSTFIXの本買わなきゃ!

てかまだ買ってなかったのかい!!

・・・

すいません。
気にしないでください・・・
posted by ペー at 17:29 | 新潟 ☔ | Comment(3) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2006年11月02日

メールサーバ(POSTFIX)構築

昨日やっとメールサーバの構築が終了しました。わーい(嬉しい顔)

※メールサーバはPOSTFIXを使用しています。

POSTFIXは一番設定が簡単なメールサーバといわれておりますが、
なんだかんだでトラブル続きでした・・・

結局昨日はメールが外部に送れないので、
深夜2時頃まで友人(先輩?)のTさんと
あーでもないこーでもないとか言いながら、
メールのやり取りをしていました。

Tさん昨日は夜遅くまでありがとうございました!!


さて問題は2箇所あり、
@ルータのポートが開かない
AMXレコードの登録がヘン
・・・です。

先ず、最初の問題はルータの設定で25番ポートを空けているにもかかわらず、
ポートスキャンをした結果、「CLOSE」と表示されてしまってました。

これは外部からサーバには到達できるがサービスが起動していないため、
接続不可ということで「CLOSE」になるとの事です。
※サーバに到達できない場合は「BLOCK」になる。


POSTFIXのデーモンは正常に動いてるし、
netstat見てもちゃんとListenしてるし、
LINUXサーバのファイアウォール(iptable)も
25番ポートを遮断しているわけでもないし・・・

何じゃこりゃexclamation&questionって感じでした。

ただ、内部からのメールは送受信できます。

こうなったら一から設定を見直そうじゃないか!
ということで、main.cfを見ていたところ、

・・・

早速ありました・・・
初歩的なミス・・・

inet_interfacesの項目箇所で、
inet_interfaces = all
inet_interfaces = localhost
と二つも設定されており、しかもlocalhostが後に設定されているおかげで、
外部からのメールを受け付けなかったのでしょう。

やはり最初で躓いてしまう僕でありました。
ハイ・・・

問題の箇所を修正してPOSTFIXを再起動し、
再度ポートスキャンしたところ、ちゃんと「OPEN」になりました。



さて、次の問題はMXレコードでした。

25番ポートが開いて、いざ外部とのメールを送信しようと
がんばっていましたが、メールが届きません。

そこでTさんに頼んでメールをしてもらうことに・・・

でもやはり届きませんでした。

そこからTさんと色々試しているうちに
インターキューに登録してあるMXレコードが
おかしいことに気づきました。
※DNSはお名前.comのDDNSを利用しています。

普通はnslookupコマンドで
set q=mx
sadonosake.com
で実行すればMXレコードが返ってきますが、
・・・全く返ってきません。

お名前.comへはMXレコードはホスト名を「mail.sadonosake.com」と
登録しているので、試しに
set q=mx
mail.sadonosake.com
を実行してみたところ、
何故か帰ってきます・・・

これではドメイン名が「mail.sadonosake.com」じゃないかーーーーexclamation×2

ということで、昨日はお名前.comに登録しているMXレコードが
怪しいという結論に到り、お名前.comにサポートメールして就寝しました。

で、今朝起きてみたら早速お名前.comから回答がきていました。
(か、回答早すぎっすーー)

で、回答は要するに
「Aレコード、MXレコード共にドメイン名のみでホスト追加を行う」
とのことでした。
これはFAQにも喝采されていて、
前職がヘルプデスクだった僕はとっても恥ずかしかったです・・・

でも、なんかヘンな登録方法だな〜
なんて思いながら朝時間がないにもかかわらず再登録してみると

なんとあっさり出来てしまいました・・・


まー終わり良ければ全て良し!

ということで、
sadonosake.comいよいよメールサーバ開通です!!

posted by ペー at 10:42 | 新潟 ☁ | Comment(3) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2006年11月01日

Windows ServerのPHP対応

どうやら本格的にWindows ServerでPHPが対応になるらしい・・・

MicrosoftとZend,Windows ServerのPHP対応で技術提携,「成果物はコミュニティへ」


・・・てか
おそっ!

Microsoftは今まで何をやっていたのだろうか・・・

一昔前から結構LAMP(Linux+Apache+MySQL+Perl/PHP/Python)スタックが
普及していたのに、
今になってWindowsとIISへ置き換えたWIMPスタックとなるらしい・・・

まーLAMPは全てがオープンソースで無料で構築できるため、
Microsoftは手を出せなかったのでしょう。


でもこれでPHPもどんどん普及し、
高機能なエディタが出てくれれば
プログラムをする方は結構やりやすくなると思います。

なんせHTMLのデザインとPHPのスクリプトを
同時に編集するエディタを見たことがないのでもうやだ〜(悲しい顔)


誰か知ってる人教えてくださーーーい!!
posted by ペー at 12:32 | 新潟 🌁 | Comment(1) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2006年10月17日

やっと環境が整った・・・

ふ〜〜
やっとWEBサーバの環境が整った気がします。

今まで何回か構築経験があるのですが、
いつやっても時間がかかってしまうのが難点です。

Linuxサーバを管理する上での環境作りに以下の設定を終えました。

・NTPでの時刻同期
福岡大学から同期をさせてもらってます。

・プリントサーバの停止
どうやらLinuxはデフォルトでプリントサーバーサービスが
動いているらしいので停止しておきました。

・PHPの設定
今回から文字コードをUTF-8にするように設定しておりましたが、
PHPで文字化けが出てしまい、はまってしまいました。
原因は初期設定の段階でphp-mbstringが入っていなかったようでした。
いつも最初でつまずいてしまうのが僕の弱点であります。ハイ・・・

・Apache不要モジュールの停止
セキュリティーを考慮すると、やはりApacheには最新の注意を払わなければいけません。
Apacheの設定ファイル「httpd.conf」について調べてみると
結構必要でないモジュールがデフォルトであるようなので、
コメントアウトしておきました。

補足ですが、最近WEBDAVが流行っているようなので一度設定しましたが、
なんか無理やり80番ポートをSSL通信しているような気がしてたので、
止めておきました。(もうちょっと様子見します・・・)

・SSL設定
htpasswdを併用して管理者用のページを作成することにしました。

・phpMyAdminの導入
MySQLを管理するためのツールです。
これをSSL通信することによって外部からでもデータベースが管理できます。

・WebAlizerの導入
Apacheのアクセスログを解析するツールです。
これもSSL通信で外部から管理しています。
WebAlizerのログの見方はもう少し勉強する必要がありますが、
ぱっと見、結構誰がどこから見ているかがわかります。
「お!?あの人こんな時間に見てるな〜」
っていうのが予測できて面白いです手(チョキ)

・AVGの導入
フリーのアンチウィルスソフトAVGを導入することにしました。

・SSHの導入

最近ではSSHでリモートから色々いじっているので、
直接サーバ本体をいじることがなくなってしまいました。
Linuxってこういうところがいいですよね!


と、まーこんなところまで終了しています。

次はレンタルショッピングカートの設定ですが、
只今、色々な会社の体験版を使用させてもらっています。
大体めぼしいところは特定できているので、
近々にショッピングカートを導入することが出来ます。


ただ、今一番困っていることは肝心のホームページデザインです。
どうもアートセンスがない僕はホームページのデザインから逃げてしまっています。
(てか全然納得のいくデザインが出来ないです・・・)


これは最大の課題ですね・・・


誰か手伝って〜〜〜〜もうやだ〜(悲しい顔)
posted by ペー at 11:48 | 新潟 | Comment(2) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2006年03月02日

MySQLインストール方法

MySQLのインストール方法

はやりソースからのインストールがいいということで
下記よりMyQSLのソースをダウンロード

今回選択したバージョンは4.1.18です。

http://dev.mysql.com/downloads/mysql/4.1.html
(一番下のSource Downloadsからダウンロードします)

1.グループとユーザーを追加します。
ユーザーホームはMySQLのデータディレクトリ/usr/local/varを指定します。
# groupadd mysql
# adduser -g mysql -d /usr/local/var mysql

2.ダウンロードしたtarファイルを展開します。
# tar xvfz mysql-3.23.28-gamma.tar.gz

3.展開されたディレクトリに移動しconfigureを実行します。
# cd mysql-3.23.28-gamma/
# ./configure --with-charset=ujis -with-extra-charsets=all --with-mysqld-user=mysql

4.makeでインストール
# make
# make install

make install で、/usr/local/ディレクトリ下にプログラムやファイルが以下のようにインストールされます。

ディレクトリ     保存されるファイル
/usr/local/libexec/mysqld MySQLサーバ
/usr/local/bin/      コマンド類
/usr/local/lib/mysql/   ライブラリ
/usr/local/include/mysql/ includeファイル
/usr/local/var/      データベース保存先

5.次にデータベースを初期化し、その後データディレクトリのオーナーを先ほど作成したmysqlユーザーに修正します。
# /usr/local/bin/scripts/mysql_install_db --user=mysql
# chown -R mysql /usr/local/var
# chgrp -R mysql /usr/local/var

6.起動します。
# /usr/local/bin/mysqld_safe --user=mysql &

7.再起動ごとに上記のコマンドが起動するようにします。
# vi /etc/rc.d/rc.local
下記の一行を追加します。
# /usr/local/bin/mysqld_safe --user=mysql &

以上でMySQLのインストールは終了です。

次はMyQSLadminや他のツールを入れる予定です。
posted by ペー at 00:11 | 東京 ☔ | Comment(0) | TrackBack(0) | Linux | このブログの読者になる | 更新情報をチェックする

2006年02月10日

障害時リビルド方法(RAID再構築)

ディスクの障害が発生した場合は主に以下の3点の作業で回復します。

@新しいハードディスク上でパーティションを元の構成に合わせて分割する
Aパーティション・タイプをLinux(0x83)からLinux raid 自動検出(0xfd)に変更する
Bmdadm -aコマンドでデバイスごとに再構築する

以下は検証としてサーバシャットダウン後、DISK(sda)を一本抜いてからbootする。
bootが正常に出来たことを確認したら再度シャットダウンし、DISKを繋げ直してまたboot。
bootする際にDISK(sda)はフォーマットをかける。
(自分の場合、Adaptec RAID Configurationでファーマットを実行)
以降はRAIDの再構築方法です。

1.先ずは/proc/mdstatでステータスを確認する
#cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[1]
1574272 blocks [2/1] [_U]

md2 : active raid1 sda3[1]
76469312 blocks [2/1] [_U]

md0 : active raid1 sda1[1]
104320 blocks [2/1] [_U]

unused devices:

※[_U]と表示されていることを確認します。これはDISKが一本死んでいることを表しています。

2.mdadmを確認します。
#mdadm --misc --detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Mon Feb 6 09:15:08 2006
Raid Level : raid1
Array Size : 104320 (101.88 MiB 106.82 MB)
Device Size : 104320 (101.88 MiB 106.82 MB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Mon Feb 6 01:01:31 2006
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0


Number Major Minor RaidDevice State
0 0 0 -1 removed
1 8 1 1 active sync /dev/sda1
UUID : 0087c162:858fa438:7691c7fb:32263feb
Events : 0.19

※一本目のDISKが「removed」になっていることを確認します。
※これをmd0〜2までを確認します。

3.交換したDISKにパーティションを前のパーティションに合わせて構成します。
# fdisk /dev/sda

このディスクのシリンダ数は 9729 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): p ←パーティション情報を表示

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System ←パーティションが何もないことを確認
コマンド (m でヘルプ): n ←パーティションを作成
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1 ←パーティションの番号(/bootパーティションを作成)
最初 シリンダ (1-9729, default 1): 1 ←パーティションサイズの最初のシリンダ数
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-9729, default 9729): 13 ←パーティションサイズの最後のシリンダ数

コマンド (m でヘルプ): p ←最初のパーティションが作成されたことを確認

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 2
最初 シリンダ (14-9729, default 14): 14
終点 シリンダ または +サイズ または +サイズM または +サイズK (14-9729, default 9729): 209

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 3
最初 シリンダ (210-9729, default 210): 210
終点 シリンダ または +サイズ または +サイズM または +サイズK (210-9729, default 9729): 9729

コマンド (m でヘルプ): p

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux
/dev/sda2 14 209 1574370 83 Linux
/dev/sda3 210 9729 76469400 83 Linux


4.作成したパーティションのタイプをLinux raid 自動検出(0xfd)に変更します
コマンド (m でヘルプ): t ←パーティションタイプを変更
領域番号 (1-4): 1
16進数コード (L コマンドでコードリスト表示): fd ←「fd」=Linux raid 自動検出に変更
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): t
領域番号 (1-4): 2
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 2 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): t
領域番号 (1-4): 3
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 3 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): p

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 1 13 104391 fd Linux raid 自動検出
/dev/sda2 14 209 1574370 fd Linux raid 自動検出
/dev/sda3 210 9729 76469400 fd Linux raid 自動検出

コマンド (m でヘルプ): w ←パーティション情報を保存
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。


5.mdadmでデバイス毎にミラーを再構築する
#mdadm /dev/md0 -a /dev/sda1
#mdadm /dev/md1 -a /dev/sda2
#mdadm /dev/md2 -a /dev/sda3


6.ステータスを確認する
#cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[0] sda2[1]
1574272 blocks [2/2] [UU]

md2 : active raid1 sda3[2] sdb3[1]
76469312 blocks [2/1] [_U]
[>....................] recovery = 0.1% (94528/76469312) finish=1253.3min speed=1014K/sec
md0 : active raid1 sdb1[0] sda1[1]
104320 blocks [2/2] [UU]

unused devices:

※RAIDの構築状況を確認できます。
posted by ペー at 20:30 | 東京 ☀ | Comment(0) | TrackBack(1) | Linux | このブログの読者になる | 更新情報をチェックする

2006年02月08日

Linux ソフトウェアRAID構築方法

やっとHPサーバにてRAIDの設定が出来ました。

最近購入したHPサーバでハードウェアRAIDが設定不可だったので、
妥協してLinuxでのソフトウェアRAIDにしました。
どうやらこのサーバのオンボードRAIDにはLinuxで組めないらしいです。

というわけで以下はその手順です。
(自分のためにも障害が起こった時用に残しておこう!)

■Linuxインストール時にRAID1の設定方法

※ハードウェアRAIDとソフトウェアRAIDの違いは前者がDISKを丸ごと冗長化しますが、
後者はパーティション毎に冗長化します。

1.先ずはLinuxインストール時にRAIDのパーティションを作成します。
GUIモードインストールでディスクパーティションの設定画面まできたら、
「Disk Druidを使用して手動パーティション設定」を選択します。
※「自動パーティション設定」は結構適当にパーティションが組まれるらしい・・・

2.次の画面(ディスクの設定)で「新規」ボタンからパーティションを
作りたいとのころですが、「RAID」ボタンよりRAID用のパーティションを作成します。

3.「RAID」ボタンを押すとRAIDオプション画面が出るので
「ソフトウェアRAIDパーティションを作成」を選択し「OK」

4.パーティション追加画面が出ますので、使用可能なドライブに
「sda」のみにチェックを入れます。容量に「100」と記入し、
追加オプションで「固定容量」、「プライマリパーティションにする」に
それぞれチェックを入れます。

5.同様の操作を繰り返します、ただし今度は使用可能なドライブで、sdbを選択します。
(これでsdaとsdbにて同じ容量のパーティションをつくりました。冗長化は後でします)

6.同様にSWAPパーティションと/パーティション用にB〜Dを繰り返します。
ただし、「プライマリパーティションにする」項目はチェックを外します。
因みに私のパーティション構成は以下です。
/boot 100MB
/swap 1536MB(実メモリサイズの2倍)
/ 残りの容量(最大許容量まで使用にチェック)

7.次に冗長化をするための作業をします。
「RAID」ボタンを押し、RAIDオプション画面を表示させます。

8.RAIDオプション画面より2番目の「RAIDデバイスを作成[default=/dev/md0](D)」を
選択し、「OK」

9.RAIDデバイス作成画面よりマウントポイントを「/boot」、
ファイルシステムタイプは「ex3」のまま、RAIDレベルを「RADI1」、
RAIDメンバーに「sda1」と「sda2」のみを選択し「OK」

10.同様の作業を/swapパーティションと/パーティションにもします。
※/swapパーティションのファイルシステムはswapです。

11.ディスクの設定画面に戻り、RAIDデバイスが表示されているか確認します。

12.インストール終了後は/proc/mdstatとmdadmを確認します。

補足:/proc/mdstatはRAIDボリュームのステータスを確認できます。
例えばリビルド中に確認すると進捗度が表示されます。
どうやらカーネル2.6からmdadmというツールが付属されているらしいです。
これはLinuxソフトウェアRAID md デバイスの管理コマンドで、

このコマンドにオプションをつけるとRAID関連の殆どの操作が可能です。

#cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1] sda2[0]
1574272 blocks [2/2] [UU]

md2 : active raid1 sdb3[1] sda3[0]
76469312 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
104320 blocks [2/2] [UU]

unused devices:


※[UU]はDISKが2本RAIDが組まれていることを示します。←つまりRAID1ですね。
障害時は[U_]とか[_U]と表示されます。


#mdadm --misc --detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Mon Feb 6 09:15:08 2006
Raid Level : raid1
Array Size : 104320 (101.88 MiB 106.82 MB)
Device Size : 104320 (101.88 MiB 106.82 MB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Mon Feb 6 00:37:17 2006
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0


Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
UUID : 0087c162:858fa438:7691c7fb:32263feb
Events : 0.15

※これを/dev/md1と/dev/md2のチェックもしておきます。

出来れば上記2つの結果をリダイレクトしてバックアップをとっておくとよいでしょう!

あ、あとパーティション情報は絶対に控えておいた方が良い!
#fdisk -l /dev/sda > sda_partition_info.txt
#fdisk -l /dev/sdb > sdb_partition_info.txt
posted by ペー at 22:35 | 東京 ☀ | Comment(0) | TrackBack(1) | Linux | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。