そう遠くない未来に職場のサーバのOSの更新を考えています。
現在サーバの一つが Fedora 19 を使用しているのですが、OSの位置付け上、
リリースサイクルがとても短くどのバージョンでもサポート期間が2年未満になってしまい維持コスト的に×です。
そのため、ベースが同じ Fedora 19 である CentOS に移行するのが妥当かと思っています。
(サーバの構成などは、下の補足にまとめました)
ここで気になっているのが、ベースが同じと言うことでいくら親和性が高いといっても、
環境ごと移行することがはたして可能なのかということです。
上手くいくのでしょうか、あるいは何が障害となるのでしょうか?
もし低コストで安全に移行できるのであれば、乗り換え先として検討する予定です。
経験者やヒントをお持ちの方に御回答いただければ幸いです。
宜しくお願いします。
>cnoさま
コメント&ご助言ありがとうございます。
サーバの構成としては、だいたい下記のようなものです。
・ApacheによるウェブサーバでCGI、WSGI等が動作。
・Python(2/3系)、Perl、Rubyなどの環境。
・言語処理/機械学習系のツール(yumでは揃わない&依存性の問題のため、tarballからのインストール多数)。
・LVM(volume group)でのソフトウェアRAID(RAID1)。
・xGB単位の容量のデータも各ユーザで扱えるようにパーティションを編成。
initdが廃止されて、systemdが採用されたんですね。調べてみます。
必要なものはyumなどのパッケージマネージャがなくとも導入できるとのことで、
CentOSであれば環境が近いため、JULYさんが書かれているように大きな問題は発生しづらいのではないでしょうか?
だた、「やってみないとわからない」ということは必ずつきまとうため、
時間が許せばまず仮想環境で検証されてみてはどうでしょう?
とりあえずVirtualBox
http://ja.wikipedia.org/wiki/VirtualBox
など扱いやすい仮想環境上で構築してみて、試行&他のディストリビューションも
必要に応じて試してみるなど。スナップショットの取得・復元が容易なため、
思い切って色々試せるのが利点です。
その後、もし本運用に耐えれそうであれば思い切って本環境もKVMなどで仮想化
してしまうのもよろしいかと思います。(VirtualBoxのディスクイメージvdiから
KVMのディスクイメージqcow2はKVMの付属コマンドqemu-imgで相互変換可能です)
http://docs.openstack.org/ja/image-guide/content/ch_converting.html
サポート期限が長いものについては最近
ArchLinuxをよく耳にします。バージョンの概念がなくローリング・リリースのため、
常にアップデートしていけば最新状態を維持できるとのことです。
(RedHat系ではないため、色々環境の差異はあるかと思いますが)
ご参考になりましたら幸いです。
リリース時のパッケージのバージョンは、下記のページで見る事ができます。
Fedora:
DistroWatch.com: Fedora
CentOS:
DistroWatch.com: CentOS
ちょっと分かりづらいのですが、リリース毎の概要やパッケージ一覧表の上にある「全てのパッケージ」というのを選択して「更新」ボタンを押すと、Python や Ruby のバージョンも確認できます。
気になるであろうパッケージを抽出すると、こんな感じかと思います。
パッケージ名 | Fedora 19 | CentOS 7 |
---|---|---|
httpd | 2.4.4 | 2.4.6 |
Perl | 5.16.3 | 5.16.3 |
Python | 2.7.5 | 2.7.5 |
Ruby | 2.0.0-p195 | 2.0.0-p353 |
少なくとも、大きな問題になるような事は無いと思います。
ただ、強いて言うと、Fedora のリポジトリにあるパッケージが CentOS で存在しない、という可能性はあります。Fedora プロジェクトが運営している EPEL というリポジトリを追加しておくと、何かと役に立つでしょう。
EPEL - FedoraProject
ただ、Ver.7 向けの EPEL は、Ver.6 に比べると、まだ充実していない感じがあります。
Python 3 ですが、RHSC(Redhat Software Collection)をベースにした Software Collections に 3.3 がありました。
Python33 — Software Collections
いずれにしても、Fedora から CentOS へ直接アップグレードするための道は無いので、地道に移し替えていく作業になると思います。
あと、細かいところですが、「Ver.6 まで initd」というのは、正確には、
です。
LVM とかは、今まで通りで大丈夫です。
パッケージのバージョン、支援リポジトリの存在、Python3、それからinitdに関する詳細な情報をありがとうございます。
直接のアップグレードパスはないということで、地道なアップグレードになりそうですね。
必要なものはyumなどのパッケージマネージャがなくとも導入できるとのことで、
CentOSであれば環境が近いため、JULYさんが書かれているように大きな問題は発生しづらいのではないでしょうか?
だた、「やってみないとわからない」ということは必ずつきまとうため、
時間が許せばまず仮想環境で検証されてみてはどうでしょう?
とりあえずVirtualBox
http://ja.wikipedia.org/wiki/VirtualBox
など扱いやすい仮想環境上で構築してみて、試行&他のディストリビューションも
必要に応じて試してみるなど。スナップショットの取得・復元が容易なため、
思い切って色々試せるのが利点です。
その後、もし本運用に耐えれそうであれば思い切って本環境もKVMなどで仮想化
してしまうのもよろしいかと思います。(VirtualBoxのディスクイメージvdiから
KVMのディスクイメージqcow2はKVMの付属コマンドqemu-imgで相互変換可能です)
http://docs.openstack.org/ja/image-guide/content/ch_converting.html
サポート期限が長いものについては最近
ArchLinuxをよく耳にします。バージョンの概念がなくローリング・リリースのため、
常にアップデートしていけば最新状態を維持できるとのことです。
(RedHat系ではないため、色々環境の差異はあるかと思いますが)
ご参考になりましたら幸いです。
ありがとうございます。参考になります。
本環境の仮想化まではちょっと視野に入れていなかったのですが、その後の可搬性も考えるとメリットは大きいかもしれませんね。
VitualBoxの方は必要だと思いました。移行作業が手作業になるということは、正しい方法を事前に把握しておいたほうが安全ですね。
ありがとうございます。参考になります。
2014/11/08 14:14:00本環境の仮想化まではちょっと視野に入れていなかったのですが、その後の可搬性も考えるとメリットは大きいかもしれませんね。
VitualBoxの方は必要だと思いました。移行作業が手作業になるということは、正しい方法を事前に把握しておいたほうが安全ですね。