大学の時の友達と忘年会。

一通りブームの去ったジンギスカン。。ブームの前からのお店、うまかったです。


ジンギスカン@岩本町

そういや、「『ロケット打ち上げ』の『打ち上げ』は『打ち上げ』って言うの?」って聞くの忘れた。


カラオケで歌える歌がなくて、嵐の歌などを ipod につっこみました…。

ファイルのないディレクトリを削除する。


☆ピノ



※写真と本文は関係ありません。


tmpwatch でフォルダは削除されないので…。

[root@backup_samba_server ~]# find /home/samba/.trach/ -type d -empty -delete

怖いけどできる。(空ディレクトリしかないディレクトリは全部削除される)


/home/samba/.trach/ と指定すると、このフォルダになにもないとフォルダ自身が削除される。><
ので、/home/samba/.trach/* としたほうがいいと思う。

Logを取りたいので最終的にはこんな感じに。
# find /home/samba/.trach/* -type d -empty -print -delete > log.log


参考にさせていただきました。
[linux][bsd] 空ディレクトリだけを削除する


find → exec rmdir だとちょっと安心。空ディレクトリのツリー構造は消えないけど。

$ find . -type d -empty -exec rmdir {} \;

rdiff-backup でエラー。

rdiff-backup を導入してしばらく、サーバがハングアップ後『バックアップのエラー』メールが届くようになりました。

rdiff-backup フォルダの backup.log を見てみると

UpdateError “ファイル名” File changed from regular file before signature

とエラーが…。

調べると 公式ページの Wiki に情報が。

Go into the “rdiff-backup-data” directory and find the most recent “file_statistics” and “mirror_metadata” gzipped files.

最新の “file_statistics” と “mirror_metadata” を解凍して該当部分を削除して圧縮するといいとのこと。

解凍してファイルを確認すると確かに文字化け( 便 → 偏 へ文字化けてる)の情報が記録されてる…。

修正して再圧縮。深夜には直ってるはず。。


さっきのを最後まで読むと ruby スクリプトがあるらしい。ので修正後に試したみた。


[root@samba_server rdiff-backup-data]# ruby ./fixRdiffBackupData.rb .
dir=. time=2009-12-08T03:00:03+09:00
ERROR LOG
  read 1, ignored 1
FILE STAT
  read 753013, ignored 0
MIRROR META
  read 7319092, ignored 0


日本語通るかあやしいけど LOG にエラーがあるのは見て取れる。FILE STAT, MIRROR META の方は修正してるので何も検出されない?
今度また失敗したら試そう。

起動時のファイルシステムのチェック(fsck)間隔を変更するには

客先のファイルサーバの停電の再起動で時間がかかったりかからなかったりするので、どうなってるのか調べた結果を書いておく。

 ちなみに、FedoraのインストーラでフォーマットしたHDDの場合は、「Maximum mount count」と「Check interval」の値がそれぞれ「-1」と「0」に設定されており、ファイルシステムの自動チェックは行われない。

[root@landisk root]# cat /etc/vine-release
Vine Linux 4.2 (Lynch Bages)


[root@landisk root]# tune2fs /dev/sda7 -l
tune2fs 1.38 (30-Jun-2005)
Filesystem volume name:   /home
Last mounted on:          
Filesystem UUID:          c8a20838-8dfb-40d7-af9d-9e6dcdc92bda
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              29048832
Block count:              58078983
Reserved block count:     2903949
Free blocks:              54564334
Free inodes:              28999574
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1024
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         16384
Inode blocks per group:   512
Filesystem created:       Wed Apr 30 12:34:40 2008
Last mount time:          Mon Aug 31 11:10:43 2009
Last write time:          Mon Aug 31 11:10:43 2009
Mount count:              8
Maximum mount count:      -1
Last checked:             Wed Apr 30 12:34:40 2008
Check interval:           0 ()
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:       128
Journal inode:            8
Default directory hash:   tea
Directory Hash Seed:      d973d6b4-5d31-4ffe-b1bc-63cac0cfecb9
Journal backup:           inode blocks


Vine 4.2 もチェックされないなぁ。

Nagios の NSCA 監視側設定。


狛犬(かごのなか)



※写真と本文は関係ありません。


忘れるので書いておこう。
今回は遠隔サーバ(監視するサーバ)の設定です。

※Nagios 本体は tar から コンパイルして /usr/local/nagios にインストール済み。サーバ単体で localhost の監視を出来るのを確認する。


Nagios Addons から NSCA をダウンロード。

解凍

tar zxvf nsca-2.7.2.tar.gz
cd nsca-2.7.2

コンパイル

./configure
make all

インストール

cp src/send_nsca /usr/local/nagios/bin/
chown nagios.nagios /usr/local/nagios/bin/send_nsca
chmod 755 $_
cp sample-config/send_nsca.cfg /usr/local/nagios/etc/
chown nagios.nagios /usr/local/nagios/etc/send_nsca.cfg
chmod 640 $_


nagios 設定

# vi /usr/local/nagios/etc/nagios.cfg

enable_notifications=0
# このサーバからの警告発信を無効にする。
obsess_over_services=1
# 各サービスのチェック後コマンドを実行するオプション。使うコマンドは『ocsp_command』で設定。
ocsp_command=submit_check_result
# 実行するコマンド。『submit_check_result』 というコマンドを『/usr/local/nagios/etc/objects/commands.cfg』 に記載する。


vi /usr/local/nagios/etc/send_nsca.cfg
監視する側と設定を合わせる。
password=heoeoeoeoeojsasldfaas
encryption_method=3


『submit_check_result』 を作成する。
vi /usr/local/nagios/libexec/submit_check_result


#!/bin/sh
# NSCA サーバの IP アドレスを指定。
central_server="192.168.1.1"
# Arguments:
#  $1 = host_name (Short name of host that the service is
#       associated with)
#  $2 = svc_description (Description of the service)
#  $3 = state_string (A string representing the status of
#       the given service - "OK", "WARNING", "CRITICAL"
#       or "UNKNOWN")
#  $4 = plugin_output (A text string that should be used
#       as the plugin output for the service checks)
#
# Convert the state string to the corresponding return code
return_code=-1
case "$3" in
    OK)
        return_code=0
        ;;
    WARNING)
        return_code=1
        ;;
    CRITICAL)
        return_code=2
        ;;
    UNKNOWN)
        return_code=-1
        ;;
    [0-2])
        return_code=$3
        ;;
esac
# pipe the service check info into the send_nsca program, which
# in turn transmits the data to the nsca daemon on the central
# monitoring server
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/local/nagios/bin/send_nsca $central_server -c /usr/local/nagios/etc/send_nsca.cfg


# chmod +x /usr/local/nagios/libexec/submit_check_result

『/usr/local/nagios/etc/objects/commands.cfg』に ocsp_command コマンド追加。

###############
# for nsca client
define command{
command_name submit_check_result
command_line /usr/local/nagios/libexec/submit_check_result $HOSTNAME$ ‘$SERVICEDESC$’ $SERVICESTATEID$ ‘$SERVICEOUTPUT$’
}
###############


引っかかったところ。

mcrypt-devel インストールしてないのでエラー。
→こんなエラー


[root@chiba_sv src]# /usr/local/nagios/bin/send_nsca -H example.com   -c /usr/local/nagios/etc/send_nsca.cfg
Invalid encryption method (3) in config file '/usr/local/nagios/etc/send_nsca.cfg' - Line 64
Client was not compiled with mcrypt library, so encryption is unavailable.
Error: Config file '/usr/local/nagios/etc/send_nsca.cfg' contained errors...


php5-apache2 インストールしてない。( Vine 5.0 )

→ 左のメニューがリンク切れ、表示が変。

ホスト名 localhost から変更しなかったので、監視元サーバに認識されない。
→『/usr/local/nagios/etc/objects/localhost.cfg』のhost_name を監視元サーバと合わせないと、識別されないのでいつまでたっても監視元サーバに認識されない。


参考にさせていただいたサイト。(ありがとうございます!)
雑記録 – Nagios NSCAによる遠隔サーバの内部リソース監視

天気よかったですねー。


ペンギン@新宿


あまり目的もなく…。ふらふらと…。
秋葉原( ヨドバシ → ブックオフ ) → 新宿( 中古カメラ屋 → 天下一品 → ユザワヤ → 古着屋 → 無印良品 )

天下一品のラーメン 5 年ぶりくらいに食べた気がする…。
買ったの本一冊だけ。。

tune2fs

起動時の fsck のチェックをしないようにする。


# tune2fs -l /dev/hdb1
…
Mount count:              1
Maximum mount count:      20
…


設定。


# tune2fs -c 0 /dev/hdb1
tune2fs 1.35 (28-Feb-2004)
Setting maximal mount count to -1
# tune2fs -l /dev/hdb1
…
Mount count:              1
Maximum mount count:      -1
…


-c max-mount-counts
e2fsck(8) がファイルシステムのチェックを行うマウント回数を設定する。 max-mount-counts が 0 または -1 の場合、 e2fsck(8) とカーネルはファイルシステムのマウント回数を考慮しない。

ジャーナリングファイルシステムを使っている場合、 ファイルシステムを強制的にチェックするマウント回数を ファイルシステムごとにちょっとずつ変えておけば、 すべてのファイルがいっぺんにまとめてチェックされるのを 避けることができる。

マウント回数に依存したチェックを完全に停止してしまうなら、 その影響を慎重に考えておくべきである。 ディスクドライブ・ケーブル・メモリの故障やカーネルのバグによって、 マークされたりエラーが出ることもなく、 ファイルシステムが破壊されることもあり得る。 ファイルシステムにジャーナリング機能を使っていると、 ファイルシステムに壊れたというマークが付けられることは 絶対にないので、 通常ジャーナリングファイルシステムはチェックされない。 この場合でも、カーネルがファイルシステムエラーを検知すれば、 次のブート時に fsck が実行されるが、 この時点ではデータ喪失を防ぐにはもう遅すぎるかもしれない。

時間に依存したチェックを行う -i オプションも参照すること。

-i interval-between-checks[d|m|w]
ファイルシステムをチェックする最大の時間間隔を設定する。 数値のみ、もしくは末尾に d を付けると「日」と解釈され、 m, w はそれぞれ「月」「週」と解釈される。 0 を指定すると、時間依存のチェックはしなくなる。

e2fsck(8) によるファイルシステムの完全なチェックを定期的に行わせるため、 -c (マウント回数依存のチェック)、または -i (時間依存のチェック) を指定しておくことを強く推奨する。 これらが指定されていない場合、 ディスク・ケーブル・メモリの故障やカーネルのバグによって ファイルシステムが破壊されても、 データの損失や破壊が起こるまでは知ることができない。

再起動時のオプションでもfsckする/しないを選択出来る。
$ shutdown -f -h now    # シャットダウン(次回起動時にfsckしない)
$ shutdown -F -r now    # 再起動(次回起動時に強制的にfsckしする)


-f Skip fsck on reboot.
-F Force fsck on reboot.

grub オプションで『fastboot』を追加する。

2TB 以上のRaid ストレージを使うには。

引っかかったところを書いておこう。
H/W は HP のML310G4 + Raid コントローラ SmartArray E200 – v1.66。
CentOS 5.4 64bit

結果的にはインストーラが 2 TB 以上を認識しない状態だったので、ACU(Array Configuration Utility)から小さい容量の LUN を設定。

こんな感じで 1.5TB HDD 4 台の Raid(1+0) = 約 3 TB を設定。

RaidBios からRaid 設定

CentOS のインストーラは起動するけどエラー。

GPT partition table 云々言われる。

/dev/cciss/c0d0 contains GPT signatures, Indicating that It has a GPT table. However, It does not have a valid fake msdos partition table, as It should. Perhaps It was corrupted — possibly by a program that doesn’t understand GPT partition tables. Or perhaps you deleted the GPT table , and are now using an msdos partition table. Is this a GPT partition table?

何度か聞かれるけど『はい』と答えると。

エラー。


エラー。


途中『はい』のところで『いいえ』というとディスクが認識しない。ぬぬぬ。


探すと、HP に情報が…。

http://h50146.www5.hp.com/products/software/oe/Linux/mainstream/support/doc/option/array/over_2tb.html

SmartStart CD から ACU(Array Configuration Utility) を起動して 10GB の LUN を設定後インストール。大丈夫かなぁ。


2009/10/30 追記インストールまで成功!!

qmail + vpopmail の maildirsize ファイル。


電車の中。



※写真と本文は関係ありません。


qmail + vpopmail で管理してるメールサーバは cur ディレクトリ内のメールを削除しても maildirsize が再作成されない。→ vuseronfo の結果には反映されない。→ vusermod -q で quota 情報を設定し直す。


2017/07/12追記 再作成する他の方法を見つけた。
該当するユーザの maildirsizeファイルを削除して、vuserinfo -Q コマンドを使う。

$ cd /home/vpopmail/domains/domain.com/user/Maildir
$ rm maildirsize
$ vuserinfo -Q user@domain.com

Qmail + Vpopmail – Rebuild maildirsize file