とむむの日々

埼玉県某市に住む「とむむ」の日記です。2008年3月から、関心のあることを書き連ねる日常の記録です。

自宅サーバの近況報告 その2

移行断念


どうも、とむむです。

前回の「自宅サーバの近況報告 その1」に引き続き、その2をお送りしたい。


Ubuntu Server 10.04(LTS) => 12.04(LTS) バージョンアップの受難


現在は、MILLINUX上で、Ubuntu Server 10.04(LTS)を動かしているという話を前回のエントリーでも書かせてもらったが、特に久々のLTSがリリースされた12.04へのバージョンアップを検討してなかった訳ではない。

Ubuntuの日本語公式サイトに「リリース時期とサポート期間」が書かれたページがある。

ここをよく読んでいれば、焦ることもなかったのだが、当初はデスクトップ版のサポート期間と同じだと思い込んでいたので、2013年5月頃にはサポートを打ち切られると思っていた。なので、ここ1年位の間に12.04へバージョンアップしておかないとなぁ。とやんわり思っていた。

まぁ、10.04 => 12.04のバージョンアップは容易だろうと思い込んでいた節もあったが、MILLINUXが2台あることもあって、以下の手順でバージョンアップを試みた。

1. MILLINUX(本番)とMILLINUX(予備)をそれぞれUSB版のKnoppixで起動。

2. NW設定及び本番側のみSSH設定を行い、予備側からNW経由でddコマンドを発行。

3. 中身のコピー完了後、本番側、予備側共にUSB版のknoppixが入っているUSBメモリを抜いて、再起動。
本番側はこれで復旧。4.移行は予備側のみの作業になる。

4. 予備側のネットワーク設定がeth2,eth3で起動しているので、以下の手順でeth0,eth1に戻す。

/etc/udev/rules.d/70-persistent-net.rules 以下に、interfaceの設定が書かれている。
古いeth0,1を削除し、現在のeth2,eth3をeth0,eth1に書き換える。

5. /etc/network/interfacesを開いて、予備側のIPアドレスを変更。
NWが繋がると悪影響が出そうなサービス(dhcpdなど)の自動起動をキャンセルし、再起動。

6. 予備側のUbuntu Serverをdo-release-upgradeで、12.04へアップグレードを行う。

とまぁ、こんなところなのだが、5.までは順調に終わったのだが、6.のところで問題が発生した。。

12.04へアップグレード後、MySQLが正常に動作しないのだ…。ググってみると、似たような問題にぶち当っている人が他にもいるようなのだが、インストール済のMySQLを完全に削除して、クリーンインストールを試してみたりしても、全く改善しなかった。。

12.04はリリースされてから1年以上も経過している訳だし、誰もがブツかる問題であれば、もっとオオゴトになっているんじゃないかと思って、更に調べてみても意外と情報が少ない。。MySQLのバージョンが上がる等で、些細なトラブルをブログに書いている人もいるようだが、どうもそういった人達の環境は、32bit版のUbuntu Serverではなく、64bit版のUbuntu Serverが多い。

確たる根拠がある訳ではないが、もしかすると…これは32bit版のUbuntu Serverをアップグレードした際にしか発生しないレアな問題の可能性も少なくない…と思い始めてきた。MySQLのバージョンだけを5.6に上げることも少し考えたが、Ubuntu標準のバージョンを使い続けることでセキュリティのパッチ等も提供されるメリットや他のミドルウェアとの依存関係やサーバにしているPCの性能等を考えると、MySQLのバージョンだけを上げるメリットが正直あまりない。

どうしたものかと思い悩んでいるときに、ふと「リリース時期とサポート期間」のページを思い出した。

Ubuntu Serverのサポート期間

なーんだ、Server版は2015年4月まではサポートしてくれるんじゃん。ということなので、焦らず、MILLINUXの寿命が尽きるまでは使い続けてもいいかなと思い始めた。(笑)

一方で、Linux Kernel 3.8以降でi386プロセッサのサポートが打ち切られたりと、32bit CPUを取り巻く環境は少しずつ厳しさを増しているようだ。

MILLINUXに搭載されているCPUは、VIA EDEN C3(Nehemiah) 1GHzのようなので、細かい型番で言うと、C5XLに該当すると思われる。
wikipediaの情報によると、CMOV命令を追加しi686完全互換化となっているし、実際にuname -mのコマンドを叩くと、i686と返ってくるので、間違いないだろう。

そんな訳で、MILLINUXのCPUのサポートが打ち切られるのは、Linux kernelでIntel x86系の32bit CPUのサポートを全て止める時になるので、Atomなど一部の32bit CPUを採用した製品が売られている間はしばらく大丈夫かなと思っている。

一方で、ディストリビューションとして2つのアーキテクチャをサポートし続けることや各々の互換性を担保していくという意味では話は変わってくると思っている。例えば、有名なところで行くと、MacOS Xは、1つ前のバージョンである10.7(Lion)から32bit CPUのサポートを打ち切った。なので、現行の10.8(Mountain Lion)もそうだが、初期のIntel Macのような32bit CPUのMacは動作しなくなっている。(CPUを換装して、OSを騙す方法はあるようだが…w)

そういったことも含めて考えると、Kernelのサポート以前にUbuntu自体が32bit版のリリースをどこかのタイミングで止めてしまう可能性もゼロではないと思っている。そうなった場合でも、Linux Kernelが32bit CPUのサポートを止めない限り、32bit版をリリースしていく! と宣言するようなディストリビューションも登場するんじゃないかとやんわりと期待している。

とむむ的には、MILLINUXが完全にダメになるまでは、32bitのServer OSと共に歩みたいと思っている。Ubuntu Server 10.04のサポートが終了する2015年4月までには次の方針を考えねばと思っている状況だ。

今回、OpenPNE 2.12.xx からOpenPNE 3.8.xxへのバージョンアップの話も合わせてお届けする予定だったのだが、思いの外長くなってしまったので、次回に持ち越したいと思う。その3も楽しみにお待ち頂きたい!