第11話 物理的にもリカバリできるようにしておかないとね、あるいは、定番レトルトカレー(辛口)とインド定番ビール

 せっぱ詰まった担当プロジェクトもなく、粛々と今後のプロジェクト準備をしつつ、空き時間で自分の勉強をして腕を磨いていく。


 システムと関係ないところで酷い目にあったりしたけど、その後はエンジニアとして理想的な仕事環境が、しばらく続いていた。


 あたしが教育を担当しているウエノちゃんも、プロジェクトに合わせた開発/試験環境をどんどん構築していた。


 とはいえ、プロジェクトの数だけハードを用意なんてできないからね。社内のサーバ室でラックマウントされた高性能サーバ上に、いくつもの仮想マシンを集積させているわ。


 それでも足りない分は、安価なタワー型のPCサーバも使ったりして、とにかく、置き場所と予算とランニングコストとの闘いね。


 あ、仮想環境っていうのは、ハードウェアにインストールしたオペレーティングシステムをホストにして、その中に別のオペレーティングシステムをいくつもインストールして動かす仕組みのことよ。


 ウエノちゃんは今、そのPCサーバの一つに乗せられた仮想環境上で、次に開発予定のシステム向けの環境構築中。


 性能面は導入前の実サーバを借りるなどして検証が必要になるが、開発環境としては十分な性能が出るだろう。


 ときどき、あたしに質問に来るが、ちょっとヒントを出せば自分で答えに辿り着く見込みある後輩ね。


 この調子で育って、あたしにもっと楽をさせて欲しいモノだわ。


 なんて見守りながら、中々社内で導入の進まない Docker コンテナについての勉強をしていると。


「さ、小枝葉先輩……」


 言葉に詰まりながら、今にも泣きそうな顔をしたウエノちゃんが、あたしの席にやってきた。


「私、とんでもないことを……ど、どうしたら、いいんでしょう?」


 ただごとじゃなさそうだけど、動転しているのか普段とは違って要領を得ない。ま、普段は結構無理して気を張ってるところがあるからね。


 とはいえ、何が起きたか聞かないことには対処のしようもない、と思っていたら。


「開発環境まだ再起動終わらないの?」


「サーバ上で直したソースが最新なのに……」


「試験の続きがあるんで、早くして欲しいんだけど」


 にわかに、開発グループの島がざわつき始める。


 ざわついている面々が今使っている開発環境は……ウエノちゃんが構築していたPCサーバ上にあったわね。


 なんとなく、状況が見えてきた。


「ウエノちゃん、何があったかた説明して?」


 できるだけ優しく尋ねる。こういうときに怒鳴るのは、怒鳴ってる人が気持ちいいだけで、大体関係ない人達も巻き込んでモチベーションを下げる効果しかないわよね。


 それが効を奏したのか、ウエノちゃんは深呼吸を一つしてから、事情を話し始めた。


「構築中のサーバが、突然不安定になったんです。作業しているとコンソールが止まって、接続も切れてしまったんです。少し時間を置くとまた繋がったんですが、やっぱり、不安定で同じことの繰り返しになって。それで、埒が明かないので開発の方に一言断ってから、仮想環境のホストを丸ごと再起動したんですが……」


 そこで、言葉が詰まってしまうウエノちゃん。


 だけどその先は、容易に想像がつく。


「そしたら、ホスト自体が起動してこなくなっちゃった、ってとこかしら?」


「はい……あの、それで、どうしたらいいか、わからなくて相談に来ました」


 ようやく、用件を口にできたみたいね。


 それなら、先輩として動かないとね。


「なら、まずはくだんのサーバの状態を確認しましょう」


「でも、 putty で接続できないんですが」


 "putty"っていうのは、サーバに ssh でリモート接続するためのツールの名前ね。


 彼女はこれまで、ハードウェアと仮想のホストになるオペレーティングシステムがセットアップされた状態からしか、作業してなかったわ。しっかりしてるから、ついつい忘れがちだけど、未だ完全に実践投入はされず、問題が社内で完結する範囲の環境構築で経験を積んでいる身だ。


 だから、ここは助け舟を出すべきね。


「何をいっているの? リモートがダメなら、物理的に見にいけばいいのよ」


「物理的?」


 どうやら、ピンとこないようだ。


 仮想基盤をクラウドにおいてサービスを展開したりってときには社内には物理サーバは全くないようなこともありえるけれど、弊社には先述の通りサーバ室があり何台もの物理サーバが存在する。


「えっと、 ssh 経由で仮想ばかり触ってるとピンとこないかもしれないけど、社内にサーバルームがあるのは知っているでしょ? ウエノちゃんが再起動したサーバもそこにあるから、直接見に行きましょう」


 噛み砕いて言い直すと、ようやくピンときたようだ。


「あ、そ、そうですね……全然、気づきませんでした」


 基本的なことを見落としていたことが恥ずかしいようだけど、


「気にしなくていいわ。失敗から学べることは多いわ。この機会に色々と教えてあげるから」


「はい。宜しくお願いします」


 そうして、ウエノちゃんを連れてサーバルームへとやってくる。


「寒っ」


 この部屋に季節感はない。冷房が効きまくって一定の温度に保っているからね。


 ウエノちゃんは慣れないサーバルームの環境にびっくりしたのか、体を抱くようにして少し震えている。


「状況によっては長居することになるかもしれないから……これを羽織っておきなさい」


 言いながら、あたしはジャケットを羽織らせてあげる。


「え、あ、あの、いいんですか?」


「いいわよ。あたしは慣れてるからね」


「でも、入るなり『寒っ』と言っていましたよ?」


 よく聞いてるわね。そういう洞察力はとっても大事だけど。


「あれはサーバルームに入った瞬間の習慣みたいなモノよ。本当になれてるから大丈夫」


 実際、長時間籠もることも沢山あったしね。


 それで納得したのか、作業用に持ってきたノートパソコンを一旦置いて、羽織らせてあげたジャケットに袖を通して前を合わせて、


「ああ、小枝葉先輩の匂いがする」


 とか言い出した。


「え? 匂うかしら?」


「そんなことはありません。むしろ、かぐわしいです!」


「それも複雑だけど……ま、いいわ。ほら、これがウエノちゃんが触ってたサーバよ」


 喋りながら壁際に移動して、床に無造作に置かれた黒く無骨なケースに入ったタワー型のサーバを示す。


 性能重視で静音性とかは気にしていないので、電源ファンやらの唸りが低く響いてくる。


「音がしてるから……動いてるんですよね?」


「それはどうかしら? 確かめてみるといいわ」


「はい。あ、あれ? やっぱり繋がりません、ね」


 端末を開いてサーバにアクセスするけれど、当然のように繋がらない。


「動いているのに繋がらない……え、ど、どうすればいいんですか?」


 こういうところは、やっぱり経験の浅さが出るわね。


「ここにサーバ本体があるのよ。ネットワーク経由で繋がらないなら、どうすればいい?」


「それは……直接、サーバを操作、する?」


 疑問形だけど、


「正解よ」


 ようやく答えに辿り着いたようだ。


 普段リモートでしか作業してないと、いざ物理サーバを直接操作するっていわれてもイメージできなかったりするからね。


「でも、画面とかキーボードとか、繋がっていませんけど……」


「こういうときのために、奥にいくつかあるから、取ってきなさい」


 あたしの指示に素直に従って、奥へと駆け出そうとする。


「慌てなくていいから」


「は、はい」


 そうして、型落ちした液晶モニタとマウスとキーボードの一揃いを持って来たけど、


「それで、その、どう繋げばいいんでしょうか?」


 マウスとキーボードはUSBなんで、適当なポートに指すところまではできていたけど、ディスプレイケーブルを持って、途方に暮れていた。


 そういえば、入社した直後に、すぐに使える状態で環境を与えていたわね。家にもパソコンは持ってないみたいだし、知らなくても仕方ないか。


「落ち着いて、ケーブルの先のコネクタを見て。背面に形の合う差し込み口があるから、そこに指して」


「背面……あ、これ、ですね」


 サーバに上から覆い被さるようにして、作業する。スカートでそんな格好はしない方がいいんだけど、それどころじゃなさそうね。男子社員いないから、ま、いっか。


「じゃ、電源を入れましょうか」


 あちこちに電源は来ているので、手近なコンセントに繋いでディスプレイの電源を入れる。


 すると、真っ暗な画面の上の方に、ポツンと輝く愛想のない文字列。


Operating System not found.


 想像はしてたけど、見たくない文字列の上位にくるやつね、これ。


 この文字列を見ると、数年前の春、自宅サーバが起動しなくなったときのことを思い出すわね。


 なら、あのときの経験も踏まえて、ウエノちゃんに色々学んでもらえるよう、先輩として頑張らないと。


「オペレーションシステムが見つからないとは、どういうことですか? 私、再起動しただけで、アンインストールとか、 rm -rf / とか、実行したりはしてないですよ?」


 自分のミスでオペレーティングシステムを消してしまった可能性に、思わず先に言い訳が出たみたいね。因みに、 "rm -rf /" は、「オペレーティングシステム上のファイルを全て強制削除」って意味だから、よい子は真似しちゃダメよ?


「そうね。なら、別の可能性を考えるのよ。あくまで、 not found . は『見つからない』って意味で、『存在しない』ってことじゃない。消えたんじゃなければ……」


「ハードディスクから読み出せない、ということですか?」


「正解。その通りよ」


「でも、どうしてハードディスクから読み出せないんですか?」


「さっきから質問ばかりになってるわよ? 素直に疑問を感じて質問できるのはいいことだけど、もう少し考えてみて」


「申し訳ありません……」


 律儀に頭を下げ、それから思案を始める。


 顎に手を当てて難しそうな顔で佇む姿は、結構可愛らしいわね。

 

 と思ってたら、あたしが貸したジャケットの前を合わせてそこに顔を埋めるようにして深呼吸。


 そうして、難しそうな顔がリラックスした表情になったところで、


「あ、そうか。単純に考えれば、故障の可能性が高いですね」


 答えに辿り着いたようだ。


「そうよ。このサーバは年期が入ってるから、寿命だったと考えるのが妥当でしょうね」


 何せ、サーバ向けの CPU が乗ってるだけで RAID も付いてないようなハードウェアなのよね。ディスクが弱点になるのは容易に想像がつくわ。


「でも、ハードウェア故障だと、復旧はやっぱりメーカー修理ですか?」


「普通はそうだけど……部品交換すれば、なんとかなるかもしれないわね」


 一応、予備のディスクはサーバルームにいくつか置いてある。工具なくてもメンテできる筐体みたいだから、何とかなりそうね。


 さすがにこれは、ウエノちゃんにさせるのは厳しいか。


「じゃ、交換するわね」


 ウエノちゃんに見守られながら、ディスプレイやら諸々の接続を外して、電源落としてネジ式のロックを外してケースを開けて、と。


「中って、こうなってるんですね」


 好奇心に駆られて覗き込んでくるウエノちゃんをそのままに、ディスクは専用のマウンタになってるから、サクッとケーブルを抜いてマウンタごと抜いて、ディスクを置き換えてマウン田を元に戻してケーブル差して、っと。


「ちょっと確認するわね」


「え? 蓋を開けたままで大丈夫なんですか?」


「大丈夫かどうか解らないから、蓋を開けたままで確認するのよ。一々蓋を閉めてると、何かあったらまた蓋を開けなきゃいけなくなるでしょ?」


 と、メンテ作業での基本的な心得を説いたりしつつ、起動して BIOS 画面を開けば。


「うん。正常にディスクは認識されたみたいね」


 交換したディスクの情報が表示されてたので、オッケーだろう。


「小枝葉先輩、ハードウェアまで直せるなんて、カッコイイです!」


 拳を握ってポニーテールを揺らしながら力強く。


 素直な尊敬の眼差しはやっぱり面映ゆいわ。


「部品交換だけだから、そんな大袈裟なものじゃないわよ」


「それでも、私にはまったくどうしていいか解りませんでしたら。いったいどうやってこういうの覚えるんですか?」


「ま、自宅サーバでも似たようなことがあったから、かな?」


 深夜に落ちた自宅サーバのことを思い出しながら。


「自宅サーバがあるんですか!? やっぱり、会社でだけでなく、それぐらいしないといけいないんでしょうか?」


「いいえ。やらなきゃいけない、なんてことはないわ。あたしは好きでやってるだけよ。今回の件も、前に同じように自宅サーバのディスクが死んで Operating System not found. って文字を目にしてたから、ピンときただけ」


 あの経験が、しっかり生きたわね。


「なるほど、好きこそものの上手なれ、といいますし、形ではなく、好きになるところから、ということでしょうか?」


「察しがいいわね。そうよ。人間、やらないといけないことからより、やりたくてやってることからの方がずっと沢山のことを学べるようにできているからね。だから、興味を持ったなら調べてみるのもいいと思うわよ」


「はい。そのときはまた、アドバイスお願いします」


「うん、なんでも聞いて」


「では、胸のサイズを教えて下さい」


「なんでもといったけど、そういうのじゃないわ」


「残念です」


 ま、不安はなくなってきたみたいで、よかったわ。


 さて、それじゃ、続きをしましょう。


 ディスクの認識を確認できた本体の電源を切って、ケースを元に戻して再起動。


Operating System not found.


「あれ? またオペレーティングシステムが見つからないって出てますよ!」


 ウエノちゃんが慌ててるけど。


「まっさらなディスクを入れたところなんだから、当たり前でしょ?」


 指摘すると恥ずかしそうに。


「そうですね。失礼しました」


 バカ丁寧に言うのが、ちょっと可愛いわね。


 とはいえ、障害の原因が分かって、取り除いただけで、ここから復旧作業が始まる。


「そうね。いい機会だから、このサーバへのオペレーティングシステムのインストールから復旧作業をやってみるといいわ。手順書やらインストーラのディスクはあるから、大丈夫よ」


「はい、頑張ります」


 ここからは、今までの作業と変わらないでしょうから、一人で頑張ってもらうとしましょうか。


 必要なもののありかだけを教えて、頑張ってもらうことにした。


 そうして、定時も近づいたころ。


「開発環境の復旧、完了しました!」


 明日まで掛かりそうかと思ったけど、すんなり行ったみたいね。


 どうやら、開発の人達が使ってた仮想環境は、あっちでイメージのバックアップがとってあったから、ホストさえ入っちゃえばすぐに復旧できたみたいね。


「ただ、開発の人の一部のデータが消えちゃったみたいです」


 改めて責任を感じたのか、ちょっと気落ちしたようだ。


「ま、最新がサーバ上だけってのがいたから、その人のデータは取り返せないでしょうね。でも、気にしなくていいわよ。ソースはバージョン管理システムのリポジトリ上にあるから、最新といっても限られたファイルだけよ。傷は浅いから。しっかりしなさい」


 励ますと、


「いいえ。あたしの心の傷は深いから、がっかりします」


 大袈裟に肩を落とすけど、その表情は明るい。


 不安に苛まれていた分、復旧作業がどうにか上手くいってホッとした反動でおかしなテンションになっているようね。


 でもま、落ち込んでるよりずっといいか。


「それじゃ、定時も近いし、元々の環境今日はこれで終わりでいいわよ」


「はい、お疲れ様でした」


 定時のチャイムがそこで鳴り響き、あたしは颯爽と退社するのだった。


 そのまま真っ直ぐ帰宅して、お夕飯の準備だけど。


「今日はもうこれでいっか」


 買い置きのレトルトカレー。パッケージは変われど昔からある、定番のものだ。


 レンジで冷凍してあったご飯を深めのお皿に入れて解凍し、箱を加工してレトルトパックもレンジで温めて掛ければできあがり。


「飲物は……これにしようかしら?」


 物珍しさで買ってあったインドビールを取り出す。


「炭酸飲料って感じで、ちょっと趣が違うわね」


 勿論ビールは炭酸飲料なんだけど、ジュース寄りというか。それでいて、麦の風味やコクは感じられて味はビールの範疇。


 地ビールとかいけば、こういうのもあるんでしょうけど、いつも呑んでる定番の日本ビールが『まったり』か『すっきり』かって感じなんで、新鮮な味わいね。


 ともあれ、インドで人気ナンバーワンらしいビールをお供に、レトルトカレーを食す夕飯の時間が始まった。


「ホッとする味ね」


 自分で炊いたカレーとも、店のカレーとも違う。


 これぞレトルトカレーの味。辛口なんだけど対して辛くないところとか、子供から大人までの最大公約数をターゲットにしたバランス感覚が、この安心感を生むんでしょうね。


 そこに、無駄に本格インドビールを合わせるの、楽しいわ。基本的にカレーにビールは合うから、それがインドなら合わないはずないもんね。


 だけど、少々お値段がするから、次はいつものにしようかしらね。


 そうして、ビールとカレーを食して。


 空いた三本の瓶と沢山の缶を袋に詰めて。


 インド的夕食の時間はおしまい。


「ごちそうさまでした」 

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る