ふたつの川うるおう日記
2007-02-01 (Thu)
_ [大学][Java][Client][Admin] Eclipse 3.2.1 + Windows Vista
後輩が去年のMSDNでVistaがリリースされてからVistaを検証しています。身近な問題としてEclipseが1〜2時間ぐらいすると落ちるそうです。検索してみたところSWTのバグっぽい。
僕自身はまだノーパソ1台でしか使ってません。ノーパソなので基本単なるWindows XPが入っているデスクトップへのリモートデスクトップクライアントでしか使っておらず、Vistaとしては全然使ってません(;´ー`)。
とりあえず慣れれば問題ないだろうけど、Windows XPに慣れ親しんでるとちょっと使いにくい。一番使うエクスプローラのUIも判りやすく(!?)なったことにより、逆に使いにくくなっています。若い人とかプログラム書く人なんかは良いと思うけど、仕事で事務処理などでしか使わない人とかは最初文句言いまくると思います。そして、Office 2007にしてそのUIに最初泣くと思います(笑。
Office 2007で気になるのは綺麗な図表でもファイルサイズが小さくなる新フォーマット .???x (.doc -> .docx , .xls -> .xlsx など)がOffice 2003以下と互換性がないこと。そして、これまた後輩情報によると、数式エディタで書いたオブジェクトがある互換モードで保存できないこと。
これは教授達かなり困っちゃいそう。貸し出し準備が出来次第、配って慣れて貰わないとやばそう。
Samba PDCドメインへの参加は今のところ問題なし。
_ [Client][Admin] Remote Desktop Client 6.0 for Windows XP x86
窓の杜 - 【NEWS】MS、XPの「リモートデスクトップ」をVista相当に強化するアップデーターを公開からリンクされているRemote Desktop Client 6.0が良い感じです。記事中からだと接続先がWindows Vistaでないと /span オプションによる複数モニタ表示に対応してなさそうですが、接続先がWindows XPであってもちゃんとデュアルモニタ表示になりました。オプションも何個か増えてたり、アイコンも変わってちょっと洗練された感じです。
USBメモリーキーなどで持ち歩く場合は下記のファイルをコピーすればOKです。.mui ってのがVista世代のバイナリにはいろいろあるようで。
- %SystemRoot%\system32\mstsc.exe
- %SystemRoot%\system32\mstscax.dll
- %SystemRoot%\system32\en-us\mstsc.exe.mui
- %SystemRoot%\system32\en-us\mstscax.dll.mui
2007-02-02 (Fri)
_ [大学] 修士論文発表会
今日は先日の学部の卒業論文に続いて、修士論文の発表会。修士過程は人数が少ないですが内容は面白いです。今回は後輩と同級生のセッションを見ました。もう一人の後輩は時間が重なってて残念ながら見れなかった。
計4人分のセッションを見たんですが、1個目のashigeruさんのは相変わらずレベルが高くて聞いてて申し訳なってきた(;´ー`)。内容は継続を利用したエージェントシステム。稼働中のJava VM状態ごと移して処理途中から処理復帰とかもう僕には意味わからんって感じ。実装してるコードをたまに研究室で覗いてたけど何万行書いてんだって規模でした。質問したいこともあったけど、教授方が熱心に質問しててタイムオーバーだったので終わった後にこっそり聞きました。
2つ目、3つ目はへー面白そうーって感じで聞いて、最後4つ目のDBのデータの安全性を向上させる新しい手法の提案。練習を朝に1回見せて貰っておぉこれは良いね良いねと質問しまくってたんだけど、本番で教授からの質問にちょっと教授が期待していることと違うことを答えてたから、おもわず口を挟んでしまった・・・。しかも調子に乗ってその後の質問にも答えちゃった(;´Д`)スマンカッタ。内容がすごく身近ですぐにでも使えそうな話題だったのでちょっと興奮してしまいました。。。とりあえず汎用的に使えるフレームワークにして実際使えるようにしたのを作って欲しいなっと思いました。
そんなこんなで超盛り上がった修士論文発表会でした。
来年から院生が僕のいる部屋は、僕だけになってしまい超寂しいです。学部4年の後輩も皆就職しちゃう。1月後半にそれに改めて気づいて軽く鬱り夜中数時間なかなか寝れない日がありました((((゜Д゜;)))。まぁ翌日にはすっかり元気になったけどね。
卒業してからも皆さんどうぞよろしくお願いしますm(_ _)m。
2007-02-03 (Sat)
2007-02-04 (Sun)
_ [Server][Admin] サーバプロセスの再起動
普段あんまり気にしないでがんがんサーバソフトウェアのアップデートと再起動しまくるんだけど、あんま良くないのかな。個人的には再起動中で止まるの1秒〜3秒ぐらいだし気にしない気にしないって感じでやってます。といいつつ、1秒〜3秒で復旧しない困った子がTomcat・・・。Tomcat自身の起動とwarファイルのデプロイは30秒ぐらい平気で掛かってしまうので、warの入れ替えや設定変更などちょっと時間かかりそうな場合は、こないだのmod_rewriteを使ったメンテナンス表示でメンテページに行く設定をApacheを再起動して反映してから、Tomcat自体のメンテをするようにしています。mod_proxyの設定は.htaccessに書けないのでここでのApacheの再起動はしょうがない(停止期間1秒位だし)。
2007-02-09 (Fri)
_ [大学] 入試期間中
今週来週は入試期間中です。入校証を持っている博士課程以外の学生は入れません。家にいても微妙だったので大学に来てみたら、今日は自分とこの学部の入試日だった。志願者数見てみたら去年よりは少し増えてるけど、数年前に比べるとまだまだ激減してる。
2007-02-13 (Tue)
_ [Seasar][Admin][Server] FSFSでのInvalid diff streamによるリポジトリ破損の修復方法: fsfsverify
FSFSでのInvalid diff streamによるリポジトリ破損が起きた場合、fsfsverifyで修復できるようです。
- 実行例
fsfsverify -f $SVN_HOME/db/revs/該当リビジョン fsfsverify -f svn/db/revs/107
- 実行結果
NodeRev Id: 6i.0.r107/29279042 type: file text: DELTA 107 0 29274142 29283754 d0fb8f1ca0d60679b51efb233300707b prop: PLAIN 107 29278976 53 0 113136892f2137aa0116093a524ade0b cpath: /www/updates/3.2/plugins/org.seasar.dolteng.eclipse_0.17.0.jar copyroot: 0 / starting length: 29274138 offset: 6 ./fsfsverify.py:90: FutureWarning: x<<y losing bits or changing sign will return a long in Python 2.4 and up i = (i << 7) + (byte & 0x7F) total: 11057579 remaining: 18216559 Error at 11057589, start of actual svndiff at 6 Error decoding instruction! Found problem in NodeRev 6i.0.r107/29279042 (29279042) text: DELTA 107 0 29274142 29283754 d0fb8f1ca0d60679b51efb233300707b At offset 11057589 Copy 18219045 bytes from offset 11057589 Write 18219045 bytes at offset 11055110 Fixed? :-) Re-run fsfsverify without the -f option
この後さらに -f オプションなしで実行。
fsfsverify svn/db/revs/107
リビジョン情報だけでエラー表示がなければOK。
2007-02-17 (Sat)
_ [Linux][Server][Admin] Xen + 3ware 9650SE-2LP + 64bit
Xen 3.0.4_1の64bit環境で3ware 9650SE-2LPが使いたかったのでコンパイルしてみたら動いた。
- xen-3.0.4_1-install-x86_64
- 3w-9xxx-linux-src-2.6-supp_distros-suse10-fc5-9.4.0.1.tgz
- 試したカード: 3ware 9650SE-2LP
XenはSAN環境と複数物理台数構成にすると激しい威力を発揮するんだなと思い始めてきた。今後メモリが馬鹿安&大容量化して潤沢になるともっと使われるんだろうね。
2007-02-22 (Thu)
_ [Server][Admin][大学] LVS + keepalived + VRRP + DSR
ずっとやろうと思ってやってなかったのを3月に大学で必要になりそうなので、VMware上の仮想4台で組んでみた。WEB上に↓のような良い記事があるので1日で全部出来ましたヽ(´ー`)ノ。
CentOS4.4でLVSやるためのKernelモジュールは標準RPMに入ってて、ipvsadmもCSGFSリポジトリに入ってるので導入するまでの手順も楽々でした。keepalivedもdagリポジトリに新しいのがあったのでとりあえずそれで済ませました。
Xen 3.0.4のKernel(linux-2.6.16.33-xen)にもこのモジュールが入っているのでkeepalivedだけコンパイルして入れればXen上でもOKです。Klabとかはてなでは、LVS(Director、ロードバランサ)はHDDレスにしてPXEBootかIPMIの仮想マウントかなんかでネットワークブートしてメモリ上で運用してるみたいだけど、ロードバランサのマシン自体の負荷やメモリの使用状況はあんま高くないようなので、Xenの上で動かしてリアルサーバとハードを同居して運用するのもアリかも。VRRPをやるフル構成にしても最低必要台数4台が2台になる!ライブマイグレーションもおいしいし。
今サービスがXenの上で動いてなくて、マシンがあるならHDDレス + ネットワークブートで安全に行くのが良いと思います。
ロードバランサのスケジューリングアルゴリズムは、大学でのファイルサーバ(NFS(GFS)+CIFS(GFS))を想定すると接続元IPをハッシュして接続先を固定するsh(Source Hashing Scheduling)が良さそう。
次はGFSかLustreやろう。本当はノードにあるデータを複数台でレプリケーションしてくれて、ソフトウェア的にRAID5構成にしてくれるCleversafeが楽しそうだけどまだalpha・・・。Global File SystemじゃなくてGoogle File SystemのGFSが欲しい(常に3ノードにコピーが存在するらしい)。
2007-02-23 (Fri)
2007-02-25 (Sun)
_ [Server][Admin] LVS + keepalived + VRRP + DSR環境を構築する際のRed Hat Enterprise Linux/CentOSでのネットワーク周りの便利な設定方法
KlabのDSAS開発者さんのパソコン1台ではじめるロードバランサ体験は基本的にDebianをターゲットにされているため、Red Hat Enterprise Linux/CentOSで構築する場合固有の便利な設定方法が書かれていないのでそれを紹介したいと思います。既にDSAS開発者さんの手順で環境を作ったことがある人向けです。ここで紹介する方法で設定をしておけば、OS再起動後やネットワーク再起動も自動的に停止前と同じ状態になります。肝は/etc/rc.localを使わないこと。
- 上位ルータでの静的ルーティング設定
- 上位ルータがハードのスイッチではない + Red Hat Enterprise Linux/CentOSで、eth1を経由して10.10.31.0/24のサブネットに接続している場合。
- Red Hat Enterprise Linux/CentOSの場合、/etc/sysconfig/network-scripts/route-DEVICE名のファイルに静的ルーティングを書いておくと、/etc/init.d/network start時に記載した静的ルーティングが自動設定されます。手動や/etc/rc.localでroute addしてから/etc/init.d/network restartすると、それらの静的ルーティング設定は消えてしまうのでこの設定ファイルに書いておくのが安全です。
- route add -host 10.10.31.100 gw 10.10.31.10 の代わりの例。
cat << 'HERE_EOF' > /etc/sysconfig/network-scripts/route-eth1 GATEWAY0=10.10.31.11 NETMASK0=255.255.255.255 ADDRESS0=10.10.31.100 HERE_EOF
- lv1,lv2,w101,w102のためのファイアウォール設定
- Red Hat Enterprise Linux/CentOSの場合、ファイアウォールの設定は /etc/sysconfig/iptables に記載するのが推奨されています。ここに書いておいたルールは /etc/init.d/iptables start/save時に読み書きされます。
- lv1,lv2用/etc/sysconfig/iptables
## mangle *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -d 10.10.31.100/32 -j MARK --set-mark 1 COMMIT ## filter *filter ... 省略 ...
- w101,w102用/etc/sysconfig/iptables
## nat *nat :PREROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -d 10.10.31.100/32 -j REDIRECT COMMIT ## filter *filter ... 省略 ...
filterルールは環境によって異なるので省略しますが、ちゃんと設定した方が良いです。OSインストール時にわざわざファイアウォールを無効にしているサーバが結構あるので危なくてしょうがない・・・。また、ネットで検索すると良く出てくる独自スクリプトを組むのも後から別の人が読むには判りにくいので、公式に提供されている手段で書いておいた方が良いです。あと、chainでネットワーク定義して書きましょう。
- lv1,lv2のための送信元IPアドレスの偽造を許す設定
- eth1が対象。
echo >> /etc/sysctl.conf cat << 'HERE_EOF' >> /etc/sysctl.conf # echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter net.ipv4.conf.eth1.rp_filter = 0 HERE_EOF
有効にする。
sysctl -p
- lv1,lv2のためのポリシールーティング設定
- Red Hat Enterprise Linux/CentOSの場合、/sbin/ifup-localという実行ファイルを用意しておくと、/etc/init.d/network start時にこの実行ファイルを実行してくれます。network-scriptsではポリシールーティング設定に対応した書式が提供されていないため、この実行ファイルから設定するようにしておきます。手動や/etc/rc.localでip rule addやip table addしてから/etc/init.d/network restartすると、静的ポリシールーティング設定は消えてしまうのでこの設定ファイルに書いておくのが安全です。
cat << 'HERE_EOF' > /etc/sysconfig/network-scripts/ifup-local
#!/bin/sh
#
# 適当な説明文
DEVICE="$1"
case "$DEVICE" in
lo)
# for LVS + VRRP + DSR
ip rule add prio 100 fwmark 1 table 100
ip route add local 0/0 dev lo table 100
;;
esac
HERE_EOF
実行権限を付与して、/sbin/ifup-localにシンボリックリンクを作成します。
chmod 700 /etc/sysconfig/network-scripts/ifup-local ln -s /etc/sysconfig/network-scripts/ifup-local /sbin/ifup-local
いきなし/sbin/ifup-localに実行ファイルを作らずに/etc/sysconfig/network-scripts/ifup-localに作る理由は、個人的に/usr, /bin, /sbin以下はバイナリファイル置き場で、バックアップ不要領域であり、通常バックアップを取らないためです。バックアップ対象だと思う領域は主に次の領域です。
- /etc 以下
- /home 以下
- /var 以下
というわけで、LVS + keepalived + VRRP + DSR環境を構築する際のRed Hat Enterprise Linux/CentOSでのネットワーク周りの便利な設定方法の紹介でした。
2007-02-27 (Tue)
_ [Linux][Server][Admin] PuTTY 0.59がなんかおかしいかも
2つおかしなことがある。
- CentOS 4.4のRPMのOpenSSHなサーバが相手だと次のエラーが出て繋がらない。
- 現時点の回避方法: PuTTY 0.58を使う
Disconnected: No supported authentication methods available
自前でOpenSSH 4.5p1を入れてる場合は出ない。
- OpenSSL 0.9.8e + OpenSSH 4.5p1なサーバが相手だと次のエラーが出て繋がらない。
- 現時点の回避方法: PuTTY 0.58を使う or PuTTY 0.59の設定で[接続] -> [SSH]の暗号化選択のポリシーでデフォルトAESが一番上にあるのを、3DESかBlowfishのどちらかを一番上にする。
Incoming packet was garbled on decryption
_ [Linux][Server] 日本LDAPユーザ会
ってのが出来たらしい。メンバー見ると日本Sambaユーザー会がベースになってる感じなのかな。オープンソースカンファレンス2007 Tokyo/Springで設立セミナーってのをやるらしいので見に行くかも。
一応LDAP関係のプロジェクトとしてS2DirectoryとSMBLDAP Addonsやってるしね。




_ shot [おめでとうございまーす^^ 25って若!!!]
_ suga [おめでとうございます。]
_ yone098 [25おめでとうございます!!!!!!!!!!!!!!!!!!!!!!!!!]
_ manhole [えっ、25 ???]
_ koichik [遅ればせながら,おめでとうございます!!\(^o^)/]
_ jfut [皆様ありがとうございますー(゜ー゜)。25でも大学にいるともう年寄りです(笑。]
_ カルビ [おくれたけどおめ!きたきたー]
_ jfut [ありがとうございますーー!]