by 唐草 [2023/08/25]
これまでにたくさんのサーバに触れてきた。空っぽのマシンのOSと必要なソフトをインストールしてカラクサラボみたいなサーバを作ったこともある。逆にぼくとは設計思想の異なる人がセットアップしたサーバに難儀したこともある。
人の個性が幅広いことを十人十色というのと同じようにサーバも十台十色だ。それには設置者の癖や思想だけでなく、ハードの特性やOSのバージョンなど多様な要素が絡んでいる。
だから、どんなに準備を入念にしていようともサーバセットアップが予定通り進んだことなんてほとんど無い。
ある時は、OSのインストーラーがハードをうまく検出できずインストールすらできなかった。別の時は「ハードウェアRAIDコントローラーが入っているから」との説明に従って作業を進めたのにまったく異なる結果になった。改めて確認したら「ソフトウェアRAIDに対応したハード構成になっているだけだった」というのが真実だった伝言ゲームのみたいなトラブルもあった。
様々なトラブルを経験しているので、大抵のことでは驚かない。代替案を複数用意して現場に臨んでいるからだ。
今回取り組んだ作業は、3台のサーバが連携する厄介な内容だった。そのため仮想マシンを多用して限りなく本番環境に近い状況を再現していた。古いアーカイブを漁って、実環境と同じバージョンのソフトを揃えるところまでやっていた。
少なくともぼくが用意した仮想環境では完璧に動作した。念には念を入れ2種類の方法を準備していた。
それでも、本番ではうまくいかなかった。どちらの方法でも本来数値が入るべき通信が空になるという怪現象が起きてしまった。
こうなっても多くの場合は乗り切れる。表示されるエラーを検索すれば、同じようなトラブルに出会った世界中の誰かの備忘録やフォーラムでのやり取りが見つかる。ハッキリ言ってぼくのエンジニアとしてのスキルは、その手の情報を見つけることだと言って良い。
でも、今回はお手上げ。
nullが返ってくるという似た報告はあったが、空が返ってくるというものは見つからなかった。謎すぎる。そして作業は延長戦に突入。