2016年5月22日日曜日

アン死亡(Ansible)は二度死ぬ

家庭内LANで稼働していたRaspberryPiサーバが音信不通になった。
別に盗まれたわけでもなく、電源が消えたわけでもない。日に一度送って寄こす稼働報告メールがある日から届かなくなったのだ。
調べてみると、他の機器からのネット接続は受け付けられず、直接ディスプレイとキーボードを繋いでも無反応だ。

電源抜いて起動しなおしても……というか起動しなくなった。
リカバリ機能自体は生きていて、さあリカバリするディスクを選んでくださいとなるのだが、ディスクの候補が出てこない。
何が起こったか分かった。ディスク代わりに使っているSDカードの障害だ。おそらく寿命(書込可能回数)を使いきってしまったのだろう。

このサーバの役割は赤外線リモコン機器の制御と、外で借りているVPS(仮想サーバ)の稼働監視。そして我が家の室温や湿度といった情報の記録だ。年間365日24時間データを書き続ける仕事をさせていたのだから、当然の結果と言える。

復旧に必要な作業は…


  1. 代わりのSDカードを入手する。ともかく、これがないとRaspberryPiは起動しない。
  2. メインで使うHDDを用意する。SDカードだけでは同じ問題が再発するから。
  3. 一旦、SDカードに専用OS(Raspbian)をインストールして、起動確認。
  4. インストールしたOSをHDDにコピーする。
  5. SDカードでの起動後に、その後をHDDにスイッチするように、SDカードの情報を書き換える。
  6. OS以外のソフトウェア、各種設定を元のとおりに再現する。


一番面倒な作業は6だ。そもそも元のRaspberryPiに何を入れていたか思い出さなければならない。1〜5は割と皆が同じようにやる作業なので参考になる情報があるが、6は過去の自分がやったことなので、記録がないと始まらない。半年前の自分は他人というヤツ。

実のところ記録はあった。しかも、それ自体が自動実行可能な記録だ。
Ansibleのplaylistの形で構築作業の記録をしていたのである。

Ansibleスゴい。自分じゃすっかり忘れてた細かい作業まで、ロボットのように進めてくれる。
自分はといえば、そのロボットが作業しているところを横目で見ることもなく、録画したアニメの視聴に没頭していた。
この記事ではAnsibleの働きぶりを書くつもりでいたのだけど、むしろスムーズすぎて書くことがなかった。

実を言えば、コマンド一つでまったく手を出さずに済んだわけではなかった。Ansible自体のバージョンアップに追随するための書き換えとか。
ただ、今やるべきこと、過去やったことはすでにそこ書いてある。あるべき手順をイチからひねり出すことなく、古い記述を書き換え、空欄を埋めるだけの比較的頭を使わない作業だけで、進められるというのは脳にかかる負担が段違いだ。

一番面倒なはずの作業6があっさり終わった。

欲が出て、今はVPSの構築のほうの自動化に取り組んでいるのだけれど、これはまた別の話。



Ansibleを覚え始めのころ参考にしていた本。
紹介され始めた時期、ネットの情報は(当たり前だけど)「やってみた」程度のあっさりしていたものばかりだったので、包括的な知識を欲していた身にはありがたい存在だった。
今ではAnsibleのバージョンが上がっているので、そのまま使うというわけにはいかないかもしれない。根っこの部分が分かれば、あとはなんとでも……という人には有用。

0 件のコメント:

コメントを投稿