自社WebサーバーをCentOSからRocky Linuxに移行しました。
2021年9月、当「稲葉サーバーデザインWebサイト」のWebサーバーを、CentOS 7からRocky Linux 8に移行しました。
※うちは会社ではないので、厳密には「自社」ではないのですが、便宜上の表現として「自社」としています。
CentOS から Rocky Linux への切り替え手順については、マイグレーションツールを実行するだけで特に難しくはなく、既にネット上に多くの情報があるので、詳しくは記載しません。
ここでは、Rocky Linux の選定理由と、マイグレーションツールを使用した CentOS 8 から Rocky Linux 8 への切り替え時に発生した現象やわかったことなどを記載します。
Rocky Linuxの選定理由
CentOS 8は、2021年12月でサポートが終了するため、サーバーの運用を継続する場合は、移行先のOSディストリビューションを検討する必要があります。
CentOSの移行先となるRHELクローンのOSディストリビューションとしては、以下が考えられます。
- CentOS Stream
- Oracle Linux
- Alma Linux
- Rocky Linux
安定して運営され、CentOS 8の当初のサポート期間だった2029年5月までアップデートリリースが継続される、というのが、移行先OSディストリビューション選定の重要なポイントとなります。
まず、CentOS Stream 8は2024年5月でサポート終了で使用できる期間が短い、Oracle Linuxはコミュニティ主導ではない、ということで、選択肢から外しました。
※Oracle DatabaseなどのOracle社製品を使用するなら、Oracle Linuxは有力な選択肢となりますね。
残るは、Alma Linux と Rocky Linux となり、正直、どちらも似たようなものですが、Rocky Linuxを採用した理由としては以下となります。
- コミュニティ主導である。それに比べて、Alma Linux は CloudLinux社の影響が強い(というイメージ)。
- スポンサーが、AWS, Microsoft, Google, fastly など幅広い。
なお、Rocky Linux 8は、正式にはサポート期間を発表していません。
Rocky Linuxのダウンロードページに、
Current planned end-of-life: 31st May 2029
と記載されており、今後の正式発表を期待したいです。
CentOS 8が突然打ち切りとなったように、将来的に何が起こるかは予想できず、
「やっぱり Alma Linux にしとけばよかった~」
ということになるかもしれません。
そのときはそのときで、あきらめて、また別のOSに移行するしかありませんね。
移行の流れ
移行にあたっては、まずは、CentOS 7から、新しく起動したインスタンスのCentOS 8環境にデータを移行し、それから同一インスタンス内でマイグレーションツールを使用して、Rocky Linux 8に切り替えました。
※CentOS 7 から Rocky Linux 8 にデータ移行してもよかったのですが、CentOS 8 から Rocky Linux 8 へのマイグレーションツールを使ってみたかったので、いったん CentOS 8 への移行を挟みました。
サーバーインスタンスは、もともとのCentOS 7も、新しく起動したCentOS 8/Rocky Linux 8も、IDCFクラウドの仮想マシンS1(1vCPU, メモリ1GB)です。
おもな使用ソフトウェアは、以下のとおりです。
- CentOS 7: Nginx, PHP 7.4(Remiリポジトリ), MySQL 5.7(MySQL公式リポジトリ), WordPress
- CentOS 8: Rocky Linux 8: Nginx, PHP 7.4(Remiリポジトリ), MySQL 8.0(MySQL公式リポジトリ), WordPress
CentOS 8からRocky Linux 8への切り替えについて
CentOS 8 から Rocky Linux 8 への切り替えは、Rocky Linux公式のドキュメントに従い、マイグレーションツールを使用して実施しました。
(参考)
・How to Migrate to Rocky Linux from CentOS, Alma Linux, RHEL, or Oracle Linux
https://docs.rockylinux.org/guides/migrate2rocky/
マイグレーションツール (migrate2rocky.sh) 実行時に発生した現象やわかったことは以下となります。
ツール実行ログは、標準出力と /var/log/migrate2rocky.log に記録される。
実行後は、ログをひととおり確認しましょう。
CentOSリポジトリの全ソフトウェアパッケージが、Rocky Linuxのソフトウェアパッケージで再インストールされる。
CentOSとRocky Linuxに含まれるソフトウェアのバージョンが微妙に異なるものがあるため、ソフトウェアによっては、アップグレードするものも、ダウングレードするものもあります。
今回のサーバーではこんな感じでした。
Upgrade 71 Packages Downgrade 11 Packages
Rocky Linuxへのソフトウェアパッケージへの置き換えの前に、dnf -y update で、CentOS の全ソフトウェアパッケージがアップデートされる。
EPELやRemiなど、サードパーティのリポジトリを追加して、リポジトリ設定 (/etc/yum.repos.d/xxx.repo) で enable=0 となっているリポジトリのソフトウェアは自動アップデートされません。
そのままでも影響ありませんが、気になる場合は、別途手動アップデートするとよいでしょう。
マイグレーションツールの実行に38分かかった。
想定よりも時間がかかった印象があります。
サーバーのスペックや、もともと CentOS にインストールされていたソフトウェア数によって変動すると思われます。
マイグレーションツールの実行時も、WordPress Webサイトは閲覧できる。
これは CentOS の通常のソフトウェアアップデートと同様ですね。
WordPress管理画面の操作など、MySQL DBへのアクセスも問題ありませんでした。
ただし、大量のソフトウェアパッケージの再インストールでCPU負荷が上がった(CPU Load Averageが4ぐらい)ため、Webページ表示のレスポンスタイムはかなり遅くなりました。
サーバーのCPU数がもっと多ければ、影響は少なかったかもしれません。
マイグレーションツール実行後、OSを再起動すると、Rocky Linuxに切り替わる。
Rocky Linuxへの切り替え後、WordPress Webサイトの動作は変わりなく、全く問題ありませんでした。
まとめ
自社Webサーバーの CentOS から Rocky Linux への移行にあたり、Rocky Linux の選定理由と、マイグレーションツールを使用した CentOS 8 から Rocky Linux 8 への切り替え時に発生した現象やわかったことなどをまとめました。
Alma Linux や Rocky Linux は、AWSなど多くのIaaSクラウドサービスで無料で配布されていますし、CentOS他のRHELクローンからのマイグレーションツールも用意されています。
現在 CentOS 8 を利用していて、12月のサポート終了に向けて困っている場合は、
- Alma Linux / Rocky Linuxの検証サーバーを用意する。
- CentOS サーバーを複製して、マイグレーションツールでAlma Linux / Rocky Linux へ移行して検証する。
など、比較的容易に検証環境を用意できるので、いろいろ試してみるとよいでしょう。
(関連記事)
・CentOS 8のサポート期間短縮について
https://inaba-serverdesign.jp/blog/20210202/centos8-support-cut-short.html
・CentOSからAlmaLinuxに移行してみた。
https://inaba-serverdesign.jp/blog/20210913/migration-from-centos-to-almalinux.html