modest violet

modest violet

開発者としてのあれこれや、日々の雑記など

your future hasn't written yet. no one's has.
by Emmett Lathrop "Doc" Brown

今だから話せる!今なら絶対にしないソフトウェアの仕様(2)

たまにですが、本当に足し算レベルの失敗というのをしてしまう事があります。ベテラン管理者の方と一緒にお仕事をしていた時のお話です。実施したい内容は至極簡単で、各クライアント端末で作業したログを上位サーバに転送するだけ。ただ、制約として海外の劣悪な環境だったので、既にある資源でなんとかしないといけませんでした。他にも制約が有ったので、転送用のPGを作成してそいつが定期的に上位サーバにアップロードする仕組みを作成し導入しました。上位サーバー側にも転送PGが稼働していて、さらに上部の集計サーバーへと転送されていました。


  • クライアント(複数台)→ 上位サーバー(2台)→集計サーバー(1台)

というのが1セットとして複数セット構築されている環境でした。

始まりは突然に

導入が終わって1年以上経過したある日、データが転送されていないという障害連絡が発生しました。その日まで何の問題もなく稼働していたので、関係者全員が半信半疑だったのですが、確かにデータが転送出来ていません。調べていくとクライアント端末から上位サーバーへの転送は成功していました。ということは、集計サーバーへの転送で失敗しているようです。
・・・HDDの空き容量がないだけではないですか。。。
早速、この事実をサーバー構築したベテラン管理者の方へ告げます。
「これこれこういう訳でエラーの原因ですが、集計サーバーの空き容量が無いだけっぽいです」
『そんな馬鹿な!?上位サーバーに転送出来ているんだろう?・・・と言う事は空き容量はまだあるはずだよ。だって3台とも同じ容量なんだから!』
「は?」
『ん?』
「・・・同じ容量???」
『そう。同じ・・・容量。。。あっ!!!

1+1=1だった

そう、なんてこと無い原因でした。500GBと500GBのサーバー2台のデータを集計するならば、1TBの容量がいるのに集計側も500GBしか無かったら足りなくなるのは当然な訳で。普段そんなミスは絶対にしないベテラン管理者さんですが、やはり落ち着いて考える環境にいないと変なポカをしてしまうという教訓にはなりました。