12 月 25

流石というか やはり日本のメーカーさんは安心できる

サーバーにはUPSを併用しています
そのUPSのメーカーは何社かの中からサーバー規模に応じて使い分けています

たまたまオムロン製のUPSを「今は知りませんが以前はAPCのOEMもあったような気がしますがそれは除いて」何社かと自社の小型サーバーに利用しています。

たまたまとは書きましたが仕様が気に入って採用したんですが
それらの電源管理ソフトにはSimpleShutdownとしうのを使っています
これは電源管理に専用のコンピュータを必要としないのとGUI機能を搭載していないサーバーにスタンドアローンで利用できる便利さがあります
一台のUPSで複数のサーバーを管理するにはLAN管理型が便利ですが、そうでない時はこれに限ります。

実はこのSimpleShutdownは使っているバージョンに何か問題でもあるのかメモリーを浪費し続けてやがて食い尽くします
メモリーリークでもしているのでは?
そんな動作をします

cronで定期的にDaemonの再起動をすれば最悪なトラブルは回避出来ますが、電源管理の小さな常駐プログラムが1ヶ月で500MBもメモリーを使うのは正常なはずがありません。

そこで先日のこと、メーカーのサポートにメールしてみました
さっきそれの返事が届き、添付のファイルと入替えて試して欲しいとの事
早速作業をし現在様子をみています

起動後の僅かな経過時間ですが
少なくとも起動時の様子からして以前よりも快調です
しばらく様子をみないと改善されたかどうかの結論は出せませんが
少なくとも私はこのオムロンさんの対応に感謝です。

こういう姿勢が次もまたオムロン製品を使おうと思わせる地道な作業だと感じます。

boss

written by boss

12 月 14

最近まで気付かなかったのがこれの設定

いつもは変更をするとpostgresの権限でreloadすれば反映されるし簡易説明にもそう書かれている
ところがある事については起動しなおしが必要みたい
よーく読んだら、場合によっては再起動が必要とあった
 ふーん なるほどね

ビックリしたのは再起動を必要とする内容を変更する時は手順があるみたい
起動したまま設定を変更しrestartをかけても
面白い事に正常終了すらしないこと
プロセスは異常終了のような状態となり中途半端な状況が発生する

そこで、正しい手順は
設定を変更する前に先にpostmasterを停止させる
これも初心者は気をつけてよ
下手に単純にstopコマンドを送るとデーターが欠落するかもしれないから
メモリー内のバッファーを書込みして終了するようなコマンドで停止をかける事
※最近のバージョンはこんなの必要ないのかもしれないが・・・・  ねんのため

停止をしたところで設定を変更し起動させる

これで設定が反映される

知っている人は知っているが
知らない私は一瞬焦った。

boss

written by boss

10 月 18

毎日定時にデーターの複製を作っています
つまりバックアップのことです。

OSはCentOS5.2を使っていてバックアップ作業には以前にも書いたようにrsyncを使っています
このサーバーには1GBのメモリーを載せていてswapには2GB設定しています
毎日のバックアップでswapの利用量が増大し続けていました
数十MB単位で増え続けます
もちろんメモリーは搭載容量を目一杯使っています
この調子だとメモリーを解放する日が来るとは思えないから精神的に悪いですね

それで、昨日メモリーを増設して2GBにしました
サーバーにとって無駄な容量なんですがrsyncが浪費するから仕方ないということでの対処です。

1日経過して使用メモリーを調べたら早速搭載容量一杯に近い約2GBが使われていました
キャッシュやバッファーのことを考慮すればswapしない限りはOSが上手に有効配分利用するから気にする必要はありません
swapはしていなかったのでこれで良しとするのもいいのかも知れず・・・

因みにバックアップしているファイル数をカウントしてみると たかが72万ファイルです
毎日増え続けるファイルですからこの程度でこの状況だと先が思いやれます

CentOS5.2のrsyncはrsync-2.6.8-3.1で標準のままだとこれより新しいのは提供されていないようでした
ネットで調べるとrsync-3系はメモリーを無駄食いしなで動作も速くなったと書いてありました
rpm版があればそれを使おうと思ったのですが探すのも面倒なのでソースから入れることにしました。

そこでrpm版のrsyncをuninstallしてDLしてきた最新のrsync-3.06.tar.gzをinstallしました
作業は簡単です
先に rpm -e rsync   これでuninstallしてから
tar xzfv rsync-3.06.tar.gz    ソースを解凍
./configure
make
make install
たったこれだけの事です
バイナリーは /usr/local/bin にインストールしたと表示がでたのでcronの設定を変更して完了です。

早速手動にてrsyncをしてみました
おー いい感じですね メモリーの無駄食いは無くなりました
処理も早くなっています
正確に計測はしていませんが時計をみたところ以前のバージョンよりも30%程度早くなったと思います

とりあえず今回の目的は達成したので一件落着です。

rsyncをダウロードするにはここから可能です
http://rsync.samba.org/download.html

boss

written by boss

8 月 22

【さらに省エネ化】
社内用のサーバーは省エネを目指してかなりチャンガラなハード構成にしました
最初は外付けUSB接続RAID機能搭載3.5インチHDD仕様の製品をデーター保存用にしていましたが、更に省エネを目指すためにそれは止めて2.5インチHDDにしました。

2.5インチHDDは信頼性が低いことを想定して次の方法で構成しています
最初にデータ保存用に2.5インチHDDを筐体に内蔵させました、システム用とは別に独立した形です、これをsambaで共有設定しました。
このままではHDDが壊れたときに泣きをみるのでバックアップとしてUSB接続の2.5インチHDDを外付けで利用します。

【事前準備だけで疲れた】
筐体が小さいのとSATAポートが足りないためこれ以上は内蔵できません、そのためUSBで外部接続です。
市販の外付けUSB/HDD製品よりも安く収めるためバルクのHDDとそれを入れるケースを買いました、2.5インチSATA/HDDをUSBに変換し外部記憶装置として利用出来るようにする商品です

私が買った商品は「鎌蔵2」って書いてあります、僅か980円で売ってましたけど外見は綺麗ですが中身は激しくボロいというか粗悪で、とにかくHDDを入れようと思い基板を見たらこれが激しく汚い
仕方なく半田のやり直しと基板の洗浄を先に行いました
イモ半田とブリッジしてそうな下手な作業、そしてフラックスによる基板の汚れ、明らかにこれ以上は無いだろうと言うほどの安物半田で手作業の商品と見受けました。
せっかく買ってきたのに接続した途端に火を吹くのも嫌なのでそれらの余計な作業を行った後に壊れても良いHDDと捨てる前のパソコンに接続して使えることを確認し本番に臨みました。
もっと凄いことにHDDを入れるとケースの長さが僅かに足りない様子で完全に入りきりません。
熱伝導に優れたアルミボディと書かれていますが、実際のところHDDをこのケースに取り付けるのではなく入れているだけなので宙ぶらりんでして、熱伝導云々の次元には達していません
まあこんな程度の商品は他にもごちゃまんとありますから珍しいことではありません。
【定期コピーでバックアップ】
USB接続の外部HDDをまずフォーマットします

接続するとsddに割当されたので
場合によっては画面に表示されないこともあるらしいので fdisk -l ってすると確認できるはずです

fdisk /dev/sdd   ←これで必要な作業をする
 fdiskでプライマリーパーテーション1に設定し500GB全部を割当しました。

続いてフォーマットもしておきます、ここでは意図的にLVM形式での管理はせず普通に済ませました。
mkfs -t ext3 /dev/sdd1

これをマウントするのにディレクトリーを用意をします
mkdir -p /backup
こんな感じで用意したところへ先ほどのsdd1をマウントします
mount /dev/sdd1 /backup

sambaで設定した共有場所は /home2 以下にしているのでこの下を全部 /backup へコピーします
一回目は動作チェックの必要もあるのでコマンドラインから直接作業しました
rsync -a /home2/ /backup/    ←たったこれだけのことです

 rsyncのオプションには-aのみ指定しました、これで必要なモノは足りるはずです。
完全に同期された状態を作りたい方は –delete を追加するといいです
私の場合は削除したあとで元のファイルが欲しくなった時を想定して–deleteは設定しないつもりです。

一回目のバックアップは全てのファイル類を書き込むので時間がかかりますが2回目以降は変更のあったファイルのみ上書き、および新規のファイルは追加されるので短時間で完了します
試しに合計107GBほどある多数のファイルとフォルダーはどれくらいでコピーするのか計って見たら1時間50分
ほどで完了しました。

毎回手打ちも面倒ですから自動でお仕事させましょう、これをcronに設定すればOKです

crontab -e  で開いて以下を追記しました

5 1 * * * rsync -a /home2/ /backup/

毎日夜中の1時5分に開始の設定です。

boss

written by boss

8 月 13

ファイル共有を実現するためにsambaサーバーを使っています
私のはVer3.0.33です、バージョンが違うと設定も少しずつですが違うため、これから同様なことをする人は自分が使うバージョンに合った方法を模索されることをお奨めします
ネットの情報を鵜呑みにしないことです、ご自分が使用するバージョンと異なる場合は期待する結果は得られません。

少なくともsamba3.0.33を快適にお仕事させるには次の記述にご注意ください。

 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
このsocket optionsは確かに昔は当り前のように書いてましたが、これを書くと性能が低下します
socket optionsの記述はしません。
※バッファーサイズを変更しても改善は見込めません
初期値はTCP_NODELAYのみとなっています

それから意外に嵌ったのが
 log level = 1  ※3にするとlogを吐きまくり
このlogを録るという行為が足を引っ張ります
 log level = 0
 syslog = 0
と2つともlogを吐かないようにしておきました。

どうしてもlogを必要とする人は、誰の何についてlogを録りたいのか指定すると少しはマシなようです。

設定の確認には
testparmとタイプすれば良いです、問題点とかお奨めの記述を表示してくれます。
設定した内容がどう反映されているのか現在の状況を知りたければ
testparm -v > test.txt とでもすればtest.txtに情報が書きこまれます。

私が設定した内容を参考に載せておきます
 「sambaの設定をするのにswatは正直言ってお奨め出来ません、手動で設定しましょう。」

[global]
 workgroup = WORKGROUP
 server string = Atom-FS
 netbios name = AG-Server
 hosts allow = 127. 192.168.1.

 dos charset = CP932
 unix charset = EUCJP-MS

 log level = 0
 syslog = 0
 security = user
 passdb backend = tdbsam
 wide links = yes
 follow symlinks = no
 unix password sync = yes
 passwd program = /usr/bin/passwd %u
 passwd chat = * %n\n * %n\n *

 domain master = yes

 guest ok = no
 map to guest = Never

 local master = yes
 os level = 33
 preferred master = yes

; wins support = yes   ←※これを有効にするとtestparmで不要と言われます
 wins server = atom.ag5.jp

 load printers = no
 disable spoolss = yes
  
 force create mode = 0666    ←※これは0664で充分だと思う
 force directory mode = 0777  ←※これは0775で充分だと思う
[share1]
 comment = Share1
 path = /home2/share1
 public = yes
 writable = yes
 printable = no
 force user = agstaff
 force group = agstaff

[devel]
 comment = devel
 path = /home2/devel
 valid users = foo1, foo2
 browseable = no
 writable = yes
 printable = no
 force user = foo1
 force group = foo1

ちょっとだけ補足説明
  force user と force group の使用はご自分の好みでどうぞ

この設定で(実際はもっと多数の共有設定を記述していますが一部省略してます)実働テストしないと伝わらないと思いますので簡易な方法ですが計ってみました

504MBのファイルをGbitで接続されている私のWindowsXPパソコンから省エネ・サーバーへコピーしました、かかった時間は12.2秒です。「ウイルスセキュリティソフトはONのままです」
逆算すると41.3MB/secってことになります、ビットに直すと330Mbitですから、一般的に言われているGbitEthernetの最大値に近付いた事となり性能は出しきっていると判断出来ます。
これ以上の性能を出すには極端に高額な予算を必要とすると思われます。
  ※サーバーと私のパソコンの間は2つのHUBを経由して繋がっています。

boss

written by boss