2018年1月からさくらインターネットでVPS(仮想専用サーバ)を借りてLinuxの勉強をしたりWordpressでブログを書いている投資混浴エンジニアの すずめ8(@suzume8_vc) です。
俺が借りているサーバのOSは2021年1月時点でCentOS7.9(2009)となります。
CentOS7は2024年6月30日にサポート終了を迎えるため、次にリリースされたCentOS8に向けて準備を行ってます。
詳しくはCentOS8リリースに向けての準備(Road to 2024.06)で記事を書いてますのでお読みください:
CentOSのクローンOSであるRedHat Enterprise Linuxでは2019年5月にRHEL8がリリースされました。
2020年11月時点ではRHEL8.3がリリースされております。
メーカーサイトでドキュメントも用意されており、リリースノートだけで288ページもあるためかなり読みごたえがあります。
仕事でLinuxを使う機会が多いので、新機能を中心に時間があるときに色々と確認をしてます。
その中で、CentOS7からCentOS8へのアップグレードに向けて自分なりに調べたことを色々と書いていきたいと思います。
CentOS8のサポート終了について
日本時間の2020年12月9日に衝撃のニュースが飛び込んできました!
これまで2029年までサポートを行うはずだったCentOS8が2021年12月31日でサポート終了となります。
これまで2024年6月末にサポート終了するCentOS7からCentOS8へのアップグレードを模索してましたが、まさかの展開となりました。
CentOS Stream8への移行を推奨するとのことですが、RedHat Enterprise Linux(RHEL)のベータ版のような位置づけとなり、これまでのフリーな安定板OSから大きく変わってしまいます。
今後の対応を模索中ですが、しばらくはCentOS7で運用するつもりです。
まだ検討段階ですが、Oracle Linuxへのアップグレードについて調べた記事もあります。
CentOS8へのアップグレードについて
2021年1月時点で、CentOS7以前からCentOS8へ「公式に」アップグレードする方法はありません!
-
RHEL7からRHEL8へのアップグレードで使用できるleappというツールはBugID:0016116の影響でCentOSでは使用できません。
-
CentOS6からCentOS7の時に使用できたアップグレードツール(Preupgrade Assistant)はCentOS7でレポジトリが用意されてないため使用できません。
-
非公開な手順は例えばこちらのサイトに書いてますが、作者も実稼働サーバに適用しないでください、と書いてますし、俺自身も実際に試してないためもしうまくいかなくても保証できません!
leappはRHEL(RedHat Enterprise Linux)で使える便利なマイグレートツールなのですが、残念ながらCentOSではサポートまたはパッケージ化する予定もないとのことです。
また、leappのことが詳しいサイト に記載している方法もyum install -y leappのところでleapp-repositoryの要求バージョンが高すぎて(0.9.0以上が必要だけど0.3.1しか利用可能じゃないよ)エラーとなります。
githubにleapp-repository 0.9.0のソースコードがありますが、これをRPMパッケージにしてインストールすれば先に進めると思いますが、現状厳しいですね…。
※ yum-plugins-copr はミラーサイトにあるので、wgetコマンドなどで入手してrpm -ivh コマンドでインストール可能です。
# yum copr enable -y @leapp/leapp-devel
# yum install -y leapp
※ 2020年11月時点ではここでエラーとなります。
leapp-repository 0.9.0以上のRPMパッケージが作成できれば先に進めると思います。
CentOS6以前からCentOS7へのアップグレードについて
俺自身、2021年1月時点ではRedHat Enterprise Linux(RHEL)ならびにCentOSのアップデートは行っておらず、今回初めての取り組みとなります。
そこで2021年1月時点の最新バージョンであるCentOS7.9(2009)へのアップグレードについて調べていきたいと思います。
「CentOS6 CentOS7 アップグレード」でググっただけでもいろいろな情報が出てきます。
気になったのは以下2点です。
- CentOS6系のバージョンが高すぎたためにバージョンダウンした
- アップグレードの起動時にsshdが停止するためコンソールログインが必要
俺が2021年1月時点で使っているCentOS7ですが、正確にはCentOS Linux release 7.9(2009) (Core)となります。
RHEL8のメーカーマニュアルにもRHEL7.6がインストールされていること、と書かれてます。
CentOS6系のバージョンが高すぎたためにバージョンダウンした
これまでやったことない作業ですし、色々と調べて万全の準備を整えてから作業に臨みたいのですが、どこかのタイミングで思いきることも大事ではと思えるようになりました。
アップグレードの起動時にsshdが停止するためコンソールログインが必要
VPS(仮想専用サーバ:CentOS7)でOS再起動をしました、の記事にも書いている通り、OSを再起動する際、本来はVPSの管理画面よりログインしてVPSコントロールパネルより操作する必要があります。
そうしないとOS再起動時に何らかのエラーが出てOSが起動できなくなった場合、ネットワーク経由では何もできず、ssh経由では操作できなくなります。
最初のころはVPSコントロールパネルからOS再起動をしていたのですが、段々面倒になって最近ではもっぱらssh経由で再起動を行っております。
OSのアップグレードの際は新旧のOSで大きく設定が変わることが多く、起動時に時間がかかることが多いです。
kernelのアップグレードでは早ければ数分で起動してきますが、長ければ数十分かかる可能性ががあります。
ここは面倒がらずにVPSコントロールパネルより操作しようと考えております。
CentOS8へのアップグレードを行わない可能性もあります
色々調べていくと想像以上にハードルが高いことが分かりました。
人生でやりたいことリストの中にも「借りているサーバのOSをCentOS8へアップデートしたい!」を入れてますのでアップデートを完了したら一つやりたいことが達成できますが、一方で安全策としてアップグレードしないことも検討しても良いのではと考えております。
具体的には、CentOS8の環境を別に用意して、これまで使っている環境を移行させても良いのではと考えております。
俺が借りているさくらインターネットのVPSではお金を払えば追加で簡単にサーバを借りることができます。
以前読んだ「ネコでもわかるシリーズ」で勉強し直して新規環境を構築し、Wordpressなどをバックアップして新しい環境へ移行し、DNSなどを新しい環境へ引き直しても良いのではと考えるようになりました。
CentOS8がリリースして、色々と情報が出てきたら改めて色々と調べて最終的な判断をしたいと思います。
まとめ
- CentOS7からCentOS8へのアップグレードについて調べてみました!
- 2019年5月に一足早くリリースしたRHEL8のドキュメントから色々調べてみました!
- 2021年1月時点でCentOS7から8への公式なアップグレード方法はありません!
- CentOS6以前からCentOS7へのアップグレードも色々大変そうです!
- CentOS8へアップグレードせず、新規環境へ移行しても良いかもしれません!
- CentOS8のサポートが2021年12月末で終了することになりました!