【OCI クラウド移行ガイド】 CentOS7からOracleLinux7.9への移行してみた～OS編～

# OCIクラウド移行ガイドとは
オンプレミスやAWSなど、複数のプラットフォームからOracle Cloud Infrastructureへの移行プロジェクトに取り組んでいるクラウドエンジニア（@araidon,@kazunishi,@yama6）による、OCI移行手順をまとめたシリーズ記事です。
各回、サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします。
まとめ記事は以下になります。

https://qiita.com/yama6/items/b197c0fe3ec75eb02637


# 移行したいサンプルワークロード
日々の業務でよく目にするサービスを中心に、サンプルワークロードとしてまとめてみました。このシリーズでは、主にAWSからの移行を取り上げます。
このワークロードは、ユーザがログインして、Web上で写真を共有するWebサービスをイメージしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/980009b5-3407-aab0-c609-1295e3dbace2.png)

# 移行するサービス：EC2 (CentOS7)
今回、移行対象とするのはEC2上にあるCentOS7です。

CentOS7 の2024年6月30日にサポート切れとなり、後継OSの検討がされている方も多くいらっしゃるかと思います。
AlmaLinux、Rocky Linux、Oracle Linux、Fedora CoreOS、Ubuntu…etcなど選択肢が多くありますが、今回はOracleから移行用スクリプトが用意されているOracleLinuxへの移行を簡易的に実施してみたいと思います。

# 作業対象の前提情報
OS：CentOS Linux release 7.9.2009 (Core)　→　Oracle Linux Server release 7.9
アプリケーション：bitnami-redmine-4.1.1.7

# 作業の流れ
今回は簡易的に以下のような流れで作業をしてみたいと思います。
※本番環境や検証環境などで作業する際は事前にバックアップの取得を強く推奨します。

①既存OSの確認
②OS変更前のアプリケーション(=Redmine)の稼働確認
③CentOS7 →OracleLinux7.9への移行
④変更後のOS確認
⑤OS変更後のアプリケーション(=Redmine)の稼働確認
⑥AWS EC2→Oracle Cloud Computeへ移行

# ①既存OSの確認
前提となる現在のOSを確認します。
```
#cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
```

# ②OS変更前のアプリケーション(=Redmine)の稼働確認
今回はアプリケーションが無事に稼働するかも含めて検証するため、Redmineをインストールしたサーバを用意しました。
ダミーチケットを起票しておき、OS移行後も問題なくチケットが確認できるか、新しくチケット起票できるか等で簡単に稼働確認としようと思います。

:::note warn
実際の移行前には入念なテストケースの検討をお願いします。
:::

今回は"migartion-test"というプロジェクトに"ダミーチケット#1（OS変更前に作成）"を事前に作成しておきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/3f338925-128d-b38f-d325-2098f5363790.png)

# ③CentOS7 →OracleLinux7.9への移行
本記事のメイン部分となります。
作業自体は非常に簡易的でOracleが提供しているスクリプトを実行するだけとなります。

作業前には以下が完了していることが前提条件となっています。
- [x] バックアップの取得
- [x] CentOS yumまたはdnf構成が機能していること、つまり失効したリポジトリがないことを確認
- [x] CentOS以外のすべてのリポジトリを無効にすること。（切り替え後にリポジトリを再度有効にできます）
- [x] /var/cacheに5 GB以上の空き領域があること
- [x] すべての自動更新を無効にすること(例: via yum-cron)

前提条件をクリアした上でスクリプトの取得をします。
```
curl -O https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh
```

以下コマンドにてスクリプトを実行します。
```
sudo bash centos2ol.sh
```

スクリプトが完了すると以下の通り、最後に再起動を推奨されるので再起動を実施しておきます。
```
Oracle recommends rebooting this system.
```

# ④変更後のOS確認
以下コマンドにてOSの確認を実行します。
無事にOracleLinuxになっていれば成功です。

```
# cat /etc/oracle-release
Oracle Linux Server release 7.9
```

# ⑤OS変更後のアプリケーション(=Redmine)の稼働確認
最後に簡単ではありますが、アプリケーションが稼働するかも確認しておきます。

作業前に作成した"ダミーチケット#1（OS変更前に作成）"があることが確認できました。
新しいチケットの起票も問題なく実行できることを確認しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/ce337bdc-ab18-d45e-f65c-c09ece8a7d4d.png)

# ⑥AWS EC2→Oracle Cloud Computeへ移行
AWSからOracle Cloudへの移行方法については別途[こちら](https://qiita.com/kazunishi/items/8d92a29c709e6ebe4d81)にまとめておりますのでご参考にしてください。

# 最後に
今回はCentOS7 からOracleLinuxへのOS移行作業を実施してみました。
OracleLinuxへの移行のために、専用のスクリプトが用意されており、前提条件さえクリアすれば非常に簡単にOS移行できるのは良いと感じました。
もしCentOS7 からの移行先OSを検討している方の一助になれば幸いです。

# 参考
[CentOS 7からOracle Linux 7への切替え](https://docs.oracle.com/ja/learn/switch_centos7_ol7/index.html#introduction)
[CentOS LinuxからOracle Linuxへの切替え](https://docs.oracle.com/ja/solutions/migrate-centos-ora-linux/switch-oracle-linux1.html?_fsi=3epfAZQM#GUID-DDCDDD86-BF2F-43CF-AB95-6D7CB626763C)
[Redmineのインストール](https://coeure.co.jp/blog/infrastructure/microsoft-azure/bitnami-redmine-install-210215)
[Redmineの自動起動設定](https://coeure.co.jp/blog/tools/redmine/bitnami-redmine-status-210216)