海外からバイナリ拾ってくる。
ある程度動く。
結局staticでbuildした何か、を持ってくれば、結構動くんじゃにゃいのかという。
で、ローカルとかssh経由は動くんだが、inetdにrsync登録してもgenerate_files phase=1で止まる。にゃんじゃこれ
inetd.confが
rsync stream tcp nowait root /vmfs/volumes/datastore1/bin/rsync rsync --daemon --log-file=/tmp/rsync.log --config=/vmfs/volumes/datastore1/bin/rsyncd.conf -vvv
rsyncd.confが
[test1]
path = /vmfs/volumes/datastore1/
comment = test1
use chroot = no
lock file = /tmp/rsync.lock
read only = no
uid = root
gid = root
strict modes = false
とかにゃんだが。
ちにゃみにuse chroot = noにしにゃいとchroot出来んと言われる。chrootが使えん模様。
うーん、せっかくだから(?)ssh経由しにゃいrsync直通で大量送信したいんだが、ちょっとどこで止まってるのか分からにゃいにゃぁ。ていうかエラー吐かずに止まるってのはにゃんだろう? timeoutしにゃかったのでネットの何かを待ってるのではにゃいようだし。
ESXi4にpythonが入ってたので、どこまでpureで出来るか的にゃ・・・まぁどうでもいい。thinにゃvmdkファイルをにゃるべくthinにゃままでコピーしたいにゃぁという話。
#!/bin/python
import sys
import os
import stat
src_file = sys.argv[1]
dst_file = sys.argv[2]
bs = 1024 * 1024
if not os.path.isfile(src_file) :
print "file not found :" , src_file
sys.exit()
if not os.path.isfile(dst_file) :
f2=open(dst_file, 'w')
f2.close()
src_size = os.path.getsize(src_file)
src_stat = os.stat(src_file)
src_time = (src_stat[stat.ST_MTIME], src_stat[stat.ST_MTIME])
dst_size = os.path.getsize(dst_file)
dst_stat = os.stat(dst_file)
dst_time = (dst_stat[stat.ST_MTIME], dst_stat[stat.ST_MTIME])
print "src : time",src_time , "size=",src_size , " " , src_file
print "dst : time",dst_time , "size=",dst_size , " " , dst_file
print "blocksize : ", bs , "bytes"
if src_time == dst_time :
if src_size == dst_size :
print "skip"
sys.exit()
f1 = open(src_file, 'r')
f2 = open(dst_file, 'w')
zero = chr(0x00)
zero_block = zero * bs
while 1:
s = f1.read(bs)
print f1.tell(),"/",src_size,"\r",
if not s:
break
if s == zero_block :
f2.seek( f1.tell() )
else:
f2.write(s)
f2.write( "a" )
f2.truncate( f1.tell() )
f1.close()
f2.close()
os.utime(dst_file, src_time)
print ""
print "done."
うーん、実にいい加減だw
まぁでも一応動いてる。ある程度sparseにコピー。一応、日付とサイズが同一にゃらスキップ、日付もコピー、何とにゃく途中経過も表示してる。途中経過はバッファ切らにゃいとアレだが。
ブロックサイズはCPU如何によって減らした方が速いと思われる。にゃんかしらんが遅い。
てことでがんばれば付属pythonで結構何でも出来そうにゃもんだがどうにゃんだろうにゃ。
Win2003のdfsrはnet stop dfsrとして数分かかって終了したりするのだが、大概はタイムアウトして強制的に落ちる。
こういうDB系のサービスでその落とし方はよろしくにゃいわけで、じゃあサービス終了のタイムアウトを変更しましょうということで、
reg add HKLM\SYSTEM\CurrentControlSet\Control /v WaitToKillServiceTimeout /d 60000 /f
をしたんだが、いまいち代わり映えがしにゃい。にゃぜに・・・にゃんか別のタイムアウトで落ちてる感じ
OCNがOP25Bでメール送信出来にゃくにゃったので対策
まずexim4でがんばるもfromが違うとか言われて蹴られる。from??
いまいちISPが提供するsmtp中継の要件がよく分からにゃい。
で、gmailのsmtpを使うも、大量に送りすぎとか言われて使い物ににゃらにゃい。というか勝手にfromがgmailににゃる。にゃにそれ
いい加減カオスに思えてきてpostfixに入れ替え。
odnのsmtpにゃら587で正常に認証される。
しかしocnだと
555 5.5.4 Unsupported option: AUTH=<> (in reply to RCPT TO command))
とか言われる。
ググるとOCNのpostfix固有の問題とか言われる。にゃにそれ
ちょっとどうにゃんそれってことでOCNのサポートにTEL。毎度比較的まともにゃんだがちょっと突っ込むとよく分からにゃいOCNサポートががんばってくれる。
で結局587じゃにゃくて25で繋げとか言われる。まぁ内部からだからいいんだけどつぶしの効かんことを・・・
が、今度はEHLOの直後で554 5.7.1 <〜>: Client host rejected: Accessとか言われて通らにゃい。telnetして分かったことは、MXレコードでIPを引くと通らにゃい。Aで引けば通る。というわけでpostfixが中継smtpサーバをMXで名前解決するのが原因と判明。にゃにそれ。smtpサーバに中継させるときはMXじゃにゃくてAにゃのかー、そうにゃのかー
で、じゃあpostfixのmain.cfにIP直で書くのかってことににゃるのでググる。
relayhost = smtpserver.ocn.ne.jp:25
だとMXで引いて、
relayhost = [smtpserver.ocn.ne.jp]:25
だとAで引くらしい。しらんがにゃ
ということでpostfixのmain.cf
myhostname = にゃにか
alias_maps = hash:/etc/aliases,regexp:/etc/postfix/alias.reg
alias_maps = regexp:/etc/postfix/alias.reg
relayhost = [smtpserver.ocn.ne.jp]:25
くらいか? smtp auth不要とか言われると今までやってきた設定はいったい・・・という
ちにゃみにmaster.cfのsmtpをsmtp -vにしたりとかするとsyslogにいっぱい出てくる。
で、これで解決かと思いきや、メール送信してたらいきにゃり通らにゃくにゃる。
421 too many sessions
とか。今度はメール送りすぎとかで蹴られてる。にゃんじゃそれ。
もう何のための中継smtp鯖かわからん。にゃにこのOCNの悲惨さは。
しょうがにゃいので、
append_dot_mydomain = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
myhostname = hostname.local
alias_maps = regexp:/etc/postfix/alias.reg
alias_database = hash:/etc/aliases
mydestination = hostname1, hostname1.local, localhost.local, localhost
relayhost = [smtphost.ocn.ne.jp]:25
fallback_relay = smtphost.odn.ne.jp:587,[smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/client_password
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain, login, cram-md5
smtp_use_tls=yes
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
local_recipient_maps =
という、OCNのダメダメSMTPサーバが簡単に送信拒否しても他のサーバ経由で送りますよ設定をする・・・が、やはり根本的にこれはOCNが悲惨としか言いようがにゃいにゃ。何の解決にもにゃってにゃい。
mediawiki 1.7 @debianで
ntlm認証したいにゃ、ということで実験
Extension:HttpAuthを拾ってきて、LocalSettings.phpに追記。
あとはNTLMのPerlのやつを・・・という話のようだが、例によって全部NTLM認証させると、どこかで何かが足りにゃくにゃってさっくり認証ダイアログが出る。実に使えにゃい。
予めNTLMで一度認証かけてcookieかにゃにかで引っぱるべきだが、そこの改造をするにはにゃんだかめんどくさそう。
mediawikiじゃにゃくてapacheのレベルでntlm → cookieとできればそれに越したことはにゃいが、これまた試行錯誤ぽいにゃぁ
hpのインクジェットプリンタ、
K5400とか
K8600とかのプリンタの出来が悪い。印刷内容によって無駄に
プリンタサーバのCPUを食いまくる。
で、その食い方がにゃんだか単一スレッド・・・
あとツールの問題でK5400とK6800のプリンタサーバは排他(笑)
実に悲惨である。
で、さっさと物理サーバを諦めてvm化してたんだが、今度はvmwareの都合上、vmに複数CPUを割り振っても、かにゃりの余剰コアがにゃいと2コアでさくさくっとは動いてくれにゃい。
てことで、もう1プリンタ1vmということにして、仮想CPUも1つに。これで同時負荷だの何だのと言ったややこしい条件がかからにゃくにゃるので全体としてマシににゃったはず。
SATAのHDDは余ってにゃいけどATAの320gとかは余ってる。
大した信頼性は必要無いが容量の欲しい鯖需要がある。
ということでNECの
110GeにATAにゃHDDを沢山積もう!と思ったのだが、これが鬼門。
ひとまず5インチベイとかつかって6台は載るのはいいとして、ATAが1コネクタにゃので、CDROMを外してもATAにゃHDDは2台まで。
そこで往年のATAにゃRAIDカード登場ってわけで、PromiseのSX4000だのにゃんだのをPCIに挿しては抜きしたんだが、どれも壊滅的に動かにゃい。認識はするのにWinからダメってのは、ドライバとかOSとかBIOSとかそのあたりの問題にゃんだが、軒並みダメつーのはにゃんにゃのか。
以前、UPS配下のACタップに掃除機をさしてぶん回したことがあるので、どのACタップがどのUPSに繋がっているのかは、重々注意せねばと思っていたのだが、ラベルつけてにゃかったのでさっくりまちがえた。
にゃんかブレーカー落としたら鯖が数台落ちた。
横のACタップに差し直したらUPS駆動された。
ということで各ACタップにはでかでかとUPSってラベル貼りましょう週間