2008/08/10

Linux(Unix) on MCP73

自宅サーバーのリプレースでハマったのでメモ

買ってきたマザーボード P6NGM(MCP73)で試したのは以下のもの

  • FreeBSD 7.0
  • CentOS 5.2
  • Ubuntu 8.04 Server Edition
FreeBSDは、インストールCDの起動途中でハングアップ。インストーラーまで辿り着けなかったので断念。どうやらFreeBSD 8.0-CURRENTではサポートされてるようだけど、まだ7.xにはバックポートされていないらしい。もともとFreeBSDのマシンだったので、使い続けたかったけど仕方がない。

FreeBSD 7.0-RELEASE Hardware Notes
http://www.freebsd.org/releases/7.0R/hardware.html

FreeBSD 8.0-CURRENT Hardware Notes
http://www.freebsd.org/relnotes/CURRENT/hardware/support.html


CentOSは、NICを認識せず断念。CentOSは比較的枯れたカーネルを使ってるので、仕方がない。インストール後に最新カーネルに入れ替えることも考えたけど、カーネルの更新がパッケージ管理から外れると面倒なのでヤメ


Ubuntuのインストールは何も問題なくできた。自宅サーバぐらいだと、やっぱUbuntuが最適解なのかねぇ・・・。

会社で使っているようなDellサーバーだとCentOSで、こういうリポジトリが使えて便利なんだけど・・・

Dell Linux wiki
http://linux.dell.com/wiki/index.php/Products/PowerEdge

2008/03/09

MirandaでGoogleTalk

複数のメッセンジャーソフト(MSN、Yahoo、ICQ etc)を使っているのなら、複数のメッセンジャーを使わずにMirandaで統合管理してしまうのがお勧め

 http://www.miranda-im.org/

(プロトコルがJabberなのである意味当たり前だけど)GoogleTalkもMirandaで使えたのでメモ

1. Mirandaのインストールしたら、OpenSSLも下記のURLからインストールする。
 http://www.slproweb.com/products/Win32OpenSSL.html

2. 後はGoogleのマニュアルにあわせて設定するだけ
 http://www.google.com/support/talk/bin/answer.py?hl=jp&answer=24885

2008/02/21

Over 2TB Storage

案件で2TBを超えるストレージを扱い始めたのでメモ

  • CentOS5(RHEL5)のインストーラーは対応していない
  • grubも未対応?
  • fdiskコマンドでは、パーティションが切れないので、partedを使う
  • パーティションの区切りはGPTでやる
CentOSのx86版、x86_64版のインストーラーが未対応なのでブートディスク自体が2TBを超えるとインストールができない。必ず2TB以下のパーティションを用意すること。ブートディスクとルート(/bootと/)以外のディスク、パーティション、ボリュームのサイズは2TBを超えていても扱える。(ただし、インストーラーで設定ができないので、後から設定)

調べていたら、grub自体も未対応なのでCentOSのインストーラーが対応したとしても無理っぽい?

fdiskコマンドも2TBを超えるディスクには対応していないので無理、その代わりpartedというコマンドを使う。慣れれば簡単なコマンドだけど、ラベルを(GPTに)変更するのが今まで無かったので、要注意
それ以外はそれほど難しくない。

Itanium版なら(EFIだから)こういう制限は少なくて大丈夫らしいけど未検証・・・orz

最近HDDの大容量化&低価格化でRAIDを組んだら簡単に2TBを超えるようになったけど、注意しよう。調子に乗って2TBを超えたRAIDを組もうとすると無駄なリソースや複雑な設定が必要になる。今回はRAIDカード側の設定で2つに分割して回避

この2TB制限を回避するためにPXE bootを試してみたいけど、適当な環境がない・・・orz

MySQLで自動補完

便利なので、~/.my.cnfに設定

[mysql]
auto-rehash


ネタ元
http://mysql.proserve.nl/doc/refman/5.1/ja/mysql-command-options.html

2008/01/19

heartbaetの設定ミス

Linuxでheartbeatの設定をしていて嵌ったので、メモ

/etc/ha.d/haresourcesへテストも兼ねて仮想IPを振ってみた
ただ、どうしてもうまく行かない。

記述ミスを考えて何度直してもうまく行かない

原因は改行コードのミス
デバッグログにしっかり"^M"が出ていた

2008/01/05

JDBCドライバでEOFException

TomcatのエラーログにEOFExceptionが残っていて、原因追求に時間がかかったのでメモ

原因は、わかってしまえば簡単なことだけど、MySQLのコネクションタイムアウト(デフォルト:8時間)でコネクションが切れていただけ

===Commons DBCP===
http://www.limy.org/program/java/commons_dbcp.html

上記を参考にして定期的にコネクションの死活確認をするように設定

MySQLのmy.cnfにコネクションタイムアウト時間(wait_time)を設定して変える方法もあるけど、死んだコネクションが残ってtoo many connectionsとなるほうが怖い

ついでに、コネクション関連ということでこっちのURLも貼り付けておく

===【トラブル大捜査線】失われたコネクションを追え!===
http://www.atmarkit.co.jp/fjava/rensai4/troublehacks07/troublehacks07_1.html

2007/12/24

LVMスナップショットのマウント

LVMスナップショットを利用してDBのバックアップスクリプトを作成中にちょっとつまずいたのでメモ

まず一つ目、"xfs_freeze中にはLVMスナップショットは作成できない"

LVMのスナップショット作成時に、キャッシュ中のデータとかがあるとデータの不整合が発生するので、出来れば確実にディスクに書き込まれた状態を保証したい。そのためにxfs_freezeを使おうかと思ったが、zfs_freezeをしてしまうと、スナップショットが作成できない。(コンソールが帰ってこなくなる)

別のコンソールでxfs_freezeを解除してやればスナップショットは作成できるが、思った動作とは違う。

どうやら、Kernel2.4と2.6ではLVMスナップショットの動作が違うようだ。今回はkernel2.6なので、xfs_freezeを使わずに、DBを止めてバックアップすることにしよう。(別にいい方法があればそっちを検証してみるが・・・)

二つ目は"スナップショットをマウントしようとしたらuuidの重複でマウントできない"

コレは簡単、マウント時のオプションにuuidを無視するnouuidをつけてやるだけ。ついでに、roオプション(読み取り専用)を付けておく。

mount -t xfs -o nouuid,ro {デバイス} {マウントポイント}