この話はフィクションです.事実が知りたければ,手を動かせばいいと思う.
某所のサーバが2週間以上も停止しているのです.理由は簡単で,Macminiだから救援するにも救援できなかった.普通のサーバなら,HDDを交換するなり,マザーを交換するなり,電源を交換するなり,なんなりとやりようがあるのだが,Macminiはマザー交換も電源交換も簡単にできるものではない.というわけで,データサルベージだけして,入院させたわけです.結局は直らず(直さず)に帰ってきたわけですが.常識的に考えて,フェールセーフできるようなバックアップとまではいかなくても,すぐに復旧できるような素材は必要だと思うのだが,そんなものは全くないので,トラブルが起きたら,トラブル直撃間違いなし.
で.サーバが止まっているのは事実なわけですが,「修理に出した」「直ったら教えてくれ」とやり取りしているのに,「まだなおらんか」「まだか」「いつだ」と問われるわけです.要するに,直ったにもかかわらず報告しないような悪意を持った存在だと思われているようです.信頼と信用がないのはセキュリティ研究室の悪いところですね.誰もが信じられない.机の上のものに触るなといっても,何ら変わらないしね.不正なソフトウェアを使うなといっても,何ら変わらないしね.ここはもうダメだと思った.あ.フィクションですよ?リアリティに溢れてますが.
というわけで,自分の精神衛生を守るために,HPのProLiant G5を買ってみた.個人的には,HPのサーバ製品には信頼があると思っている.現に,過去5年間で3台使ってるけど,どれもがトラブルフリー(ハード的な意味で)です.もうね.サーバいじりなんて,情報系なんだから,誰もが当たり前のようにできて欲しいと思うわけですよ.誰も勉強する気ないみたいだし.いや,する時間がないんだと思うけど.もちろん,フィクションです.
さて,MacminiにはUbuntuの8.10が入っていました.復旧が目的なら同じ8.10を入れて丸っと上書きという手もありますが,それじゃぁ面白くないので,最新の9.04 amd64を入れてみました.今回のサーバの方針.サーバを設置したい箇所には情報コンセントがないのだが,ケーブルを取り回すことは美観を損なうから許可されないので,ハッキリ言ってやりたくない(というか現にダメだった)のだが,無線LANで飛ばすことにする.回線は根元にブロードバンドルータ(笑)を入れて,ポートフォワードでhttpとhttpsとsshのみ引き込む作戦.頑張れブロードバンドルータ(笑).バッファローのルータだから,信用が全く足りません.YAMAHAじゃないとダメだよね.
で.インストールします.今回はUNetbootinというUSBメモリからインストールできるようにするツールを使いました.いやー.これ,めちゃめちゃ便利ですわ.速いUSBメモリを使えば,読込みも速いし,五月蠅いDVDドライブともおさらば!サックサックで,Liveブートから40分くらいで初期ブート完了です.
まずはネットワークが繋がらないので,有線を繋ぎながら,コンソールで作業です.やるべきは,無線LANの有効化とSSHの設定です.トラブルにあいたくないので,情報を参考に,Ubuntuでの動作実績があるPlanex GW-USMicroNを採用しました.でだ.ハッキリと言わせてもらうと,参考情報の通りにやればドライバをインストールできて,無線LANが使えた.そこまでは良かった.だが,wpa_supplicantを使って自動接続設定を作ったところ,何故かドライバを読み込まなくなった.読み込まないってのは嘘で,起動後にinsmodしてやると動き出す.modprobeしても,/etc/moduleに書いてもダメ.意味不.ここで1時間は無駄にした.ここで無線LANは諦めて,有線で組むことにする.
基本的に,ここからは8.10のやり方をトレースするのみ.
- Ubuntu8.10でサーバ構築 - 4403 is written
- Ubuntu8.10でサーバ構築2 - 4403 is written
- Ubuntu8.10でサーバ構築3 - 4403 is written
- Ubuntu8.10でサーバ構築4 - 4403 is written
- Ubuntu8.10でサーバ構築5 - 4403 is written
- Ubuntu8.10でサーバ構築9 - 4403 is written
トラブったこともいくつか.1番でかいのはBIND9.構成が特殊なので,内向きと外向きで同名ホストでも別のIPアドレスを返すという変態的な動作をさせている.これもあれも,自由に生IPを使えないからであって,自由に使えないこと自体は運用上は正しいと思うんだけど,そもそも情報コンセントの位置がアレだから,どんな高安全性運用してもムダ.焼け石に水.閑話休題.BIND9がいうことを聞いてくれない.自分以外のマシンからの問い合わせに全く答えないのだ.可能性はいくつかある.
- named.confの設定が悪い
- iptablesの設定が悪い
- 問い合わせているクライアントが悪い
- オレが全部悪い
4を選択するのが潔くて楽なのだが,問題の解決にならない.まず3.オレマシンは今日から7になってるので,今ひとつ挙動を掴みきれていないので,Vista君から試したのだが,結果は同じ.次に,どうせルータの内側にいるからという馬鹿げた理由で,iptablesを切ってみる.でもダメ.残るはnamed.confの設定の悪さだが,そんなはずはない.なぜなら,今までは動いていた設定ファイルをそのまま持ってきたんだ.動かないわけはない!原因は別にあるな.と,いろいろと悩むこと数時間.本当に数時間使った.ムダ.全く以てムダ.結果.resolvconfを削除したら,直りました.いみわからん.前の環境でもresolvconf使ってたんだが・・・.特に困らないから,削除の方向で.追試は面倒だ.
後々分かったことだが,9.04では/etc/network/interfaceで設定をしないらしい.GUIからやれって.なんだか,便利なような便利じゃないような?
ちなみに,ルータの内側だからiptablesをフル開放にしてみたんだが,どうにもルータの内側でも信用ならない.敵は内側にいるような気がする.なので,今回はiptablesのラッパであるufwを使ってみた.テラ簡単でワロスワロス.説明するまでもない使い勝手の良さ.難しいことをしないなら,ufwで十分ですね.
まとめ:
Ubuntu9.04でサーバを立てました.トータルでは7時間程度かかっていますが,結構はまったので,そこを除くと4,5時間程度でしょうか.ノウハウを最大限に利用しているとはいえ,本職じゃないのにこの程度で準備が整うのはかなり速いんじゃないかなーって思うんですがね.Windowsのインストールじゃないんだから,入れたらポンじゃないんだし.設定を確認したり,動作を見たり,色々としないといけないし,入れたらポンじゃないんだし.サーバを立てたことがない人(セキュリティに配慮しない人は除く)にはわからんのですよ.日頃から素サーバ立てをして訓練しているわけでも,砂場で遊んでいるわけでもないので,片手間にしては昼飯1回分と耳なり悪化程度で終わらせられるわけですから,快適な部類かと思います.情報系なのに,サーバ立てて遊べない,というか研究以外に学ぶことができないなんて,不幸の塊にしか見えません.あ.フィクションです.