たまきんは、正月に何をしていたか?

rural_sy00f
新年最初の更新です。が、まだ明けましておめでとうは言いません(汗)。
とりあえず年末年始の動きをざさっと。
マスターアップが一件近いので、基本的に仕事してました。スクリプト、プロット、他。親が帰省したので、ちょうど良いというか、一人で静かになれたので。でも考える時間が多くて、振り返ると進みが悪い。プロットの作成はひたすら資料集めとアイデア出しなので、思うように行かない。
他にも仕事用のサーバ周りをいくつか。というわけで今日はサーバの話です。たぶん長いです(ぁ

Hyper-V の仮想ネットワークとNAT

今 amatsukami.jp サーバは VPN を貼るのに仮想サーバを使っているんだけど、その理由は Hyper-V で構築した仮想ネットワークでは NAT をしていけないようで、仮想ネットワークに NAT を設定すると極端に転送速度が遅くなる(この辺とか、この辺とか、この辺とか、この辺)。なので、VPN を仮想サーバ上に構築し、そこで NAT を実現している。
でも考えてみれば、amatsukami.jp サーバには NIC が 2 枚刺さっている(Intel の NIC ともともとマザボについていたカニの NIC)。しかもカニの方を殺している。そこで、カニの NIC を復活させ、そこに仮想ネットワークを構築し、Intel の NIC をファイル転送用&外向きにした。仮想マシンでは主にメールや LDAP のやりとりが主なので、まーカニでいいでしょうと。
で、NAT とか VPN とかの設定をしようかなーと思ったんだけど、とりあえず NIC を二個使う設定をしたところで満足してやめてしまった(マテ

Redmine のデータベース移行

amatsukami.jp で運営している Redmine が不安定だというのは以前日記に書いた。結局それは解消されておらず、一日に一回 Redmine を再起動することで回避しているのだが、そもそもこの回避方法が気に入らない。結局原因は何なんだ? と言った所で、さすがにこれは他の人も困っているはずだろうと色々ネットをあさって調べて見たら(この調べるのに時間がかかる。しかもほとんど英語だし)、どうも最近は起きないらしい。それはつまりどういうこと? 最新の Redmine を入れれば起きないってこと?
というわけで、実は去年末から新しい仮想サーバを立ち上げ、そこに Redmine 2.2.0 を入れて試験運用してみていたのだ。で、とりあえず数日たっても落ちずに動き続けていることを確認。そこで古い Redmine からデータベースを移行して動かしてみた。

それからまた数日問題なく動いている。おぉ、これは成功かもしれん。いや、ただ単にバージョン・アップしただけだけどね!

さらにまた数日、データベースを移行しても動き続けていたので、本格的に事務所のサーバに Redmine を構築することにする。実は 20 時間ほどで飛んでしまうという現象のおかげで、勤め先のサーバには Redmine をセットアップしていなかったのである(この飛ぶ現象が解決できたら、入れようと考えていた)。
というわけで、勤め先のサーバに仮想マシンを立ち上げ、そこに Redmine をセットアップ。そしてデータベースを移行。これまた数日様子を見る。
そして数日後、無事、事務所の Redmine も動き続けていた。これが 1/1 の AM8:00 であった。
苦節 2 週間くらいであろうか。去年の 12 月の下旬頃からあれやこれやと実験を繰り返し、ようやく事務所サーバでの Redmine 運用にこぎ着けた。あー、めんどくさかった。もっとちゃんと英語が出来れば、たぶんもっと根本的な解決出来た(バージョン・アップせずに原因をつぶせた)と思うんだけど……結局バージョン・アップという形でなんとか解決できたようだ。

サーバの完全移行

実は Redmine は amatsukami.jp サーバに残っていた最後のサービスであった。
どういうことかというと、ボクの勤め先のサーバ機能は、最初 amatsukami.jp サーバを利用していたんだけど、去年の 10 月にサーバを用意してもらって、それから 1 ヶ月ほどかけて amatsukami.jp サーバから新しいサーバに移していた。でもこの Redmine だけは解決できず、ずっと amatsukami.jp サーバで運用していたんだけど、この 1/1 の朝 8 時を持って、amatsukami.jp サーバのすべての機能が、新サーバへと移行した。長かった~~~。ようやっと新サーバですべてが完結できるようになった。
amatsukami.jp サーバは今後、ボク個人の同人とかのサーバとして利用される予定である……っていうか、同人ソフト作る時間をください……orz

サーバが大変なことに!

rural_sy00e
Microsoft の定例パッチが降ってきた。あれだよね、なんかこれって神託みたいな感覚だよな(笑)。振り回されたりするし。で、amatsukami.jp サーバは物理サーバを含めると 4 台のサーバで構成されている。これら 4 台にパッチを当てるわけだが、当てる順番はトラブルを起こしても良い(あまり重要ではない)サーバから順に当てられる。
で、パッチ当てそのものはすべて正常に終了したのよ。案の定再起動を要求され、再起動してみたあとが、大変なことに。
まず、メール・サーバに接続できなくなった。そして、リモート・デスクトップも不通に……。慌てて Hyper-V マネージャから接続し直すも、イマイチ原因が分からない。イベント ログを見てみると、「時間がなんかずれてるんじゃボケ! 」って書いてあった。

しまった!!

amatsukami.jp サーバは PDC(Primary Domain Controller)に相当するマシンが Hyper-V 上に構築されているんだけど、そいつがプロバイダが提供する NTP サーバから時刻を取得し、他のサーバはこの PDC から時間を得ている。11/25 にプロバイダを変更したのだが、参照先の NTP は古いプロバイダのままだった。通常、プロバイダの NTP というのは自社で提供するネットワーク内からしかアクセス出来ないようになっている。
そのため、サーバはずっと同期を取れないままになっており、少しずつ amatsukami.jp の全サーバの時計が狂っていたのである。で、メールを受信したとき、もしくは中継したとき、サーバの時間を使うわけだが、サーバの時間が狂っていると未来からメールが来たりして、いろいろと問題が起こる(爆)。
ちょいと勉強不足なのだが、昨今のメール・サーバというのはどうもサーバの時間も見るのだが、外部にも参照しに行っているのか、それともメールのヘッダを見て、時間をチェックしているのか、サーバの時間が GMT とずれているといろいろとエラーを通知してくるのである。
そんなわけで、PDC の NTP サーバを設定し直し、同期が取れることも確認。そしてその後、他の三台も PDC と同期をとらせ、無事解決した。

しかし原因を究明するのに少し手間取ってしまい、せっかく 3 時には寝られると思ったのに、寝たのは 5 時だった……orz
曲は Pillows 。なんとなく今回のトラブルを表してみました(謎)。