HWADDRを書かずにethを固定する方法

運用上、サーバーの筐体交換等を想定していると、

  • network-scriptsにHWADDRを記述した場合、交換後インターフェイスが上がってこないので、随時正しいHWADDRに書き換えてやらないといけない

という問題がある。

それは面倒だが、NICが複数枚ある場合は、Linuxの仕様上Kernelがドライバに合うデバイスを見つけた順にethを割り当てていくので、ethが入れ替わったりする場合がある。

その対処方として、

  • HWADDRをethの設定に書いておくことで固定できる

のだが、上記の運用上の問題でそれは難しい。

インターネット上でもほとんどがHWADDRを記述する方法でethの固定を行っている。

そこで、ドライバーの読み込み順序をsysconfig/networtkに記述してやる方法がある。

続きを読む

同じブロック数でフォーマットしてるのにディスク容量が違う現象対処メモ

fdiskやsfdisk等で、sda1と同じディスク容量のパーティションを切りたい時は、fdisk内で同じブロックサイズを指定する。

しかし、実際にパーティションを切った後mke2fsでフォーマットするとディスクサイズが違っていて、tune2fsの結果も違ってたりする。

こういう場合は、ほとんどinodeのサイズが違っている場合が多いので、明示的にinodeサイズを指定してやる。

# mke2fs -i 4096 /dev/sdb1

また、その他下記コマンドでパラメータが違う場合は、適宜mke2fsやtune2fsのオプションを使って合していく。

# tune2fs -l /dev/sdb1

Filesystem featuresが違う場合などは、tune2fsで変更。

# tune2fs -o user_xattr,acl /dev/sdb1

MySQL初期設定メモ

必ず忘れるからメモ。

一度にrootパス変更とかtestデータベース削除とかもろもろ面倒な初期設定を対話形式でやってくれるコマンド。

# mysql_secure_installation

VirtualHost単位で同時接続数制限できるapacheモジュール

 

 

 

 

[Warning]

より効率のよい同時接続数制限モジュールができたので、上記のページを参考にして下さい。

[/Warning]

 

 

 

 

[note]

[/note]

またapacheモジュールを作ってみた。

今回は、IP単位やファイル単位で同時接続数制限を実現するapacheモジュールであるmod_limitipconnを作り替えた。
ほぼ丸々書き換えなので、patchにしても意味なかった。

まずは、mod_limitipconnの下記問題点を改善した。

  • VirtualHostに対応していない
  • シンボリックリンクを含むドキュメントルートに対応していない
    • 二つのVirtualHostのドキュメントルートが同じディレクトリにリンクを張っていた場合、高負荷をかけるCGIが存在した場合、二つのVirtualHostで共通することになるが本当のリアルパスで制限できず、ドメイン毎に制限かけなくてはならない。
    • ドメインエイリアスなどをとった場合に、システム的に契約ドメインのドキュメントルートにドメインエイリアス用のリンクをはる場合などがあるため、契約ドメイン単位で制限をしたい。
  • 不要な機能が多い(OnlyIPLimit、NoIPLimitなどのMIMEタイプの制限)
    • 殆どの場合、Files・FilesMatch・Directory・DirectoryMatchなどで対応できる。

改善による機能としては、

  • VirtualHostに対するIP単位での同時接続数制限
  • VirtualHostに対する同時接続数制限(VirtualHostのMaxClients)
  • 引数にリアルパスを指定することにより、シンボリックリンクを含むドキュメントルートにも対応
  • 不要な機能を削除し、シンプルな設定を実現
  • .htaccess対応
  • error_logに出すと顧客に制限がばれちゃうので、システム管理者が見れるところにログ出力

である。

続きを読む