はじめに
まず最初に言っておきたいのが、CentOS6からCentOS7へアップグレードするよりも、
CentOS7を一から構築する方が圧倒的に楽なので、どうしてもアップグレードする必要がある人向けです。
私はそんな稀有な状態でしたので、下記のありがたい記事を参考にアップグレードさせてもらおうと思ったんですが、2019年7月現在ではhttp://dev.centos.org
がリンク切れだった為、
「upgrade toolのインストール」の項目だけ別でインストールする必要がありました。
CentOS6からCentOS7へアップグレードする - Qiita
対応
https://buildlogs.centos.org/
というところから、upgrade toolを確認しましたので、
今回はそちらを利用させていただきました。
# 例
rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64.rpm
rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch.rpm
rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm
rpm -ihv https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm
これでうまくいくかと思いきや、最後のコマンドでエラーが発生
# redhat-upgrade-tool-cli --network 7.0 --instrepo http://mirror.centos.org/centos/7/os/x86_64/
setting up repos...
.....(略)....
Downloading failed: invalid data in .treeinfo: No section: 'checksums'
同エラーが発生した方は下記の記事を参考にオプションを追加して再実行してみてください
CentOS6.9を7.3にアップグレード | Akashic Records
オプションを追加して再実行
# redhat-upgrade-tool-cli --network 7 --cleanup-post --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/ --addrepo=CentOS7=http://mirror.centos.org/centos/7/os/x86_64/
setting up repos...
.....(略)....
Finished. Reboot to start upgrade.
最後に注意点
Finished. Reboot to start upgrade.
とあるんですが、そのままrebootするとSSH接続ができなくなります
※systemdのsshdサービスが自動起動ではない為
私の場合、vagrantだったり、VPSだったりするんで、直接入ってsystemctl start sshd
でしまいですが、
もしデータセンターにあるサーバでバージョンアップする場合は、それなりの覚悟が必要になりますので、お忘れなく。
CentOS6のサポート終了が来年に迫っているんで、少し早いかもしれませんが、参考になれば幸いです。
各OSのリリース日とサポート終了日を表にまとめてみた - Qiita
やはりこれからはクラウド化してChefかなんかでにコード化しておくべきですね。
参考
CentOS6からCentOS7へアップグレードする - Qiita
CentOS6.9を7.3にアップグレード | Akashic Records