Fedora 11 to 16

概要

takke.jp 等を収容しているサーバの OS アップグレード作業を実施しました。

つまり、

という作業を行いました。

それぞれ下記の所要時間でした。

  • Fedora 11 => 12 2012/01/23 21:30 〜 23:30
  • Fedora 12 => 13 2012/01/23 23:30 〜 01:30
  • Fedora 13 => 14 2012/01/24 01:30 〜 08:30
  • Fedora 14 => 15 2012/01/24 08:30 〜 11:00
  • Fedora 15 => 16 2012/01/24 11:00 〜 12:30

はまりポイント

13 => 14 は preupgrade-cli で、それ以外は yum upgrade で実施しました。

Fedora 13から14へアップグレードする方法 | マイナビニュース

アップグレード自体は 2008/11 に Fedora Core 3 => 9 を、2010/2 に Fedora 9 => 11 を実施済みで慣れたものですが、如何せん太平洋の向こう側にあるサーバなので再起動が返ってこなかったときを思うと心拍数が少し上がっちゃいますね。

特に Fedora 13 => 14 の preupgrade-cli は再起動後にコンソールからカーネル選択&固定IPアドレス設定が必要で、現地作業を依頼しなければいけないなど、かなり大変な思いをしました。サーバ死んだかと思いました…。
なので 14 => 15, 15 => 16 は従来の yum upgrade に戻しました。

今回は Fedora 11 => 12 のタイミングで PHP が 5.2 => 5.3 にバージョンアップしたため、いくつかのサイトが動作しなくなり、依存している Simplate のバージョンアップを行いました。

Fedora 12 => 13 のタイミングでは
Fedora12からFedora13へのアップグレードをyumで行うのは危険 - tototoshi の日記
Fedora12 -> Fedora13 へのアップグレード - Kerosoft : Modus Operandi
にあるように注意が必要とのことで慎重に行いましたが、GUIログインではないので無関係だったようです。

systemd への移行

Fedora 14 => 15 のタイミングで crond が自動起動しなくなりました。
service (SysV) が systemd に置き換わっているためですね。
Fedora 16 まで入った時点で下記コマンドで導入しました。

# systemctl enable crond.service
# systemctl start crond.service

同様に、httpd や mysqld も。

# systemctl enable httpd.service
# systemctl start httpd.service
# systemctl enable mysqld.service
# systemctl start mysqld.service

これからは systemd 系に慣れていかないといかんのですね。

主要パッケージのバージョン

今回の OS アップグレードにより主要なパッケージのバージョンは下記のように変化しました。
いずれも yum upgrade 完了時のバージョンです。

fedora Kernel Apache Perl PHP APC MySQL
11 2.6.30 2.2.15 5.10.0 5.2.13 3.0.19 5.1.47
12 2.6.32 2.2.15 5.10.0 5.3.3 3.1.4 5.1.47
13 2.6.34 2.2.17 5.10.1 5.3.6 3.1.6 5.1.56
14 2.6.35 2.2.17 5.12.4 5.3.8 3.1.9 5.1.60
15 2.6.41 2.2.21 5.12.4 5.3.8 3.1.9 5.5.19
16 3.1.9 2.2.21 5.14.2 5.3.9 3.1.9 5.5.19

いずれにしても今回は preupgrade に振り回されました。いい勉強になりました。。。