😀
Azure の CentOS 8.3 を無料になった Miracle Linux 8.4 にマイグレーションしてみた
背景と目的
CentOS 8 のサポート終了に向けて、既存の CentOS 8.3 を簡単に Miracle Linux へマイグレーション出来るのか試してみました。
前提条件
コマンドの実施環境は、Mac + Azure CLI です。
bash
$ sw_vers
ProductName: macOS
ProductVersion: 12.0.1
BuildVersion: 21A559
$ az version
{
"azure-cli": "2.30.0",
"azure-cli-core": "2.30.0",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
}
実施内容
bash
# 環境変数を設定します
region=japaneast
prefix=mnrcentos
# VM のパスワードを生成します
vmpass=$(openssl rand -base64 16)
echo $vmpass
# リソースグループを作成します
az group create \
--name ${prefix}-rg \
--location $region
# VM イメージを探します
az vm image list \
--offer centos \
--publisher openlogic \
--sku 8_3 \
--all \
--output table
Offer Publisher Sku Urn Version
------- ----------- -------- ---------------------------------------- --------------
CentOS OpenLogic 8_3 OpenLogic:CentOS:8_3:8.3.2020120900 8.3.2020120900
CentOS OpenLogic 8_3 OpenLogic:CentOS:8_3:8.3.2021020400 8.3.2021020400
CentOS OpenLogic 8_3-gen2 OpenLogic:CentOS:8_3-gen2:8.3.2020120901 8.3.2020120901
CentOS OpenLogic 8_3-gen2 OpenLogic:CentOS:8_3-gen2:8.3.2021020401 8.3.2021020401
# VM を作成します
az vm create \
--resource-group ${prefix}-rg \
--name ${prefix}-vm \
--os-disk-name ${prefix}-vmOSDisk \
--image OpenLogic:CentOS:8_3:8.3.2021020400 \
--admin-username azureuser \
--admin-password $vmpass \
--size Standard_A2_v2 \
--nsg-rule NONE \
--storage-sku Standard_LRS
# NSG に自身のパブリック IP から SSH 接続出来るようにします
az network nsg rule create \
--resource-group ${prefix}-rg \
--name Allow-SSH \
--nsg-name $(az network nsg list \
--resource-group ${prefix}-rg \
--query "[].name" \
--out tsv) \
--priority 100 \
--source-address-prefixes $(curl -s inet-ip.info) \
--destination-port-ranges 22 \
--access Allow \
--protocol Tcp
# VM に SSH 接続します
ssh azureuser@$(az vm show \
--resource-group ${prefix}-rg \
--name ${prefix}-vm \
--show-detail \
--query publicIps \
--output tsv)
実施結果
Miracle Linux へのマイグレーションは、とても簡単でした。
bash
# Miracle Linux のマイグレーションツールをダウンロードします
$ wget https://repo.dist.miraclelinux.net/miraclelinux/migration-tool/migrate2ml.sh
# Miracle Linux のマイグレーションツールを実行します
$ sudo bash ./migrate2ml.sh --core
migrate2ml.sh VERSION: 1.0.1
centos-release: CentOS Linux release 8.3.2011
Disabled CentOS repo files.
Copied MIRACLE LINUX repo files.
Clean dnf cache.
0 files removed
Imported MIRACLE LINUX GPG key.
Start download pkgs
MIRACLE LINUX - AppStream 32 MB/s | 23 MB 00:00
MIRACLE LINUX - BaseOS 36 MB/s | 18 MB 00:00
Last metadata expiration check: 0:00:10 ago on Tue Dec 7 11:45:35 2021.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
miraclelinux-release x86_64 8.4-0.1.el8.ML.3 ML8-BaseOS 28 k
redhat-release x86_64 8.4-0.1.el8.ML.1 ML8-BaseOS 14 k
Installing dependencies:
asianux-release x86_64 8.0-10.el8 ML8-BaseOS 7.6 k
Transaction Summary
================================================================================
Install 3 Packages
Total download size: 49 k
Installed size: 42 k
DNF will only download packages for the transaction.
Downloading Packages:
(1/3): redhat-release-8.4-0.1.el8.ML.1.x86_64.r 133 kB/s | 14 kB 00:00
(2/3): asianux-release-8.0-10.el8.x86_64.rpm 56 kB/s | 7.6 kB 00:00
(3/3): miraclelinux-release-8.4-0.1.el8.ML.3.x8 91 kB/s | 28 kB 00:00
--------------------------------------------------------------------------------
Total 127 kB/s | 49 kB 00:00
Complete!
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Last metadata expiration check: 0:00:20 ago on Tue Dec 7 11:45:35 2021.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
miraclelinux-release x86_64 8.4-0.1.el8.ML.3 ML8-BaseOS 28 k
redhat-release x86_64 8.4-0.1.el8.ML.1 ML8-BaseOS 14 k
Installing dependencies:
asianux-release x86_64 8.0-10.el8 ML8-BaseOS 7.6 k
Transaction Summary
================================================================================
Install 3 Packages
Total size: 49 k
Installed size: 42 k
Downloading Packages:
[SKIPPED] asianux-release-8.0-10.el8.x86_64.rpm: Already downloaded
[SKIPPED] miraclelinux-release-8.4-0.1.el8.ML.3.x86_64.rpm: Already downloaded
[SKIPPED] redhat-release-8.4-0.1.el8.ML.1.x86_64.rpm: Already downloaded
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : asianux-release-8.0-10.el8.x86_64 1/3
Installing : miraclelinux-release-8.4-0.1.el8.ML.3.x86_64 2/3
Installing : redhat-release-8.4-0.1.el8.ML.1.x86_64 3/3
Running scriptlet: redhat-release-8.4-0.1.el8.ML.1.x86_64 3/3
Verifying : asianux-release-8.0-10.el8.x86_64 1/3
Verifying : miraclelinux-release-8.4-0.1.el8.ML.3.x86_64 2/3
Verifying : redhat-release-8.4-0.1.el8.ML.1.x86_64 3/3
Installed:
asianux-release-8.0-10.el8.x86_64
miraclelinux-release-8.4-0.1.el8.ML.3.x86_64
redhat-release-8.4-0.1.el8.ML.1.x86_64
Complete!
Replaced os-release pkgs.
Replace brand pkgs.
Uninstalled specific packages.
Last metadata expiration check: 0:00:29 ago on Tue Dec 7 11:45:35 2021.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Upgrading:
grub2-common noarch 1:2.02-99.el8.ML.2 ML8-BaseOS 889 k
grub2-efi-x64 x86_64 1:2.02-99.el8.ML.2 ML8-BaseOS 474 k
grub2-pc x86_64 1:2.02-99.el8.ML.2 ML8-BaseOS 40 k
grub2-pc-modules noarch 1:2.02-99.el8.ML.2 ML8-BaseOS 913 k
grub2-tools x86_64 1:2.02-99.el8.ML.2 ML8-BaseOS 2.0 M
grub2-tools-extra x86_64 1:2.02-99.el8.ML.2 ML8-BaseOS 1.1 M
grub2-tools-minimal x86_64 1:2.02-99.el8.ML.2 ML8-BaseOS 208 k
Installing dependencies:
grub2-tools-efi x86_64 1:2.02-99.el8.ML.2 ML8-BaseOS 473 k
Transaction Summary
================================================================================
Install 1 Package
Upgrade 7 Packages
Total download size: 6.0 M
Downloading Packages:
(1/8): grub2-common-2.02-99.el8.ML.2.noarch.rpm 6.7 MB/s | 889 kB 00:00
(2/8): grub2-efi-x64-2.02-99.el8.ML.2.x86_64.rp 2.9 MB/s | 474 kB 00:00
(3/8): grub2-pc-2.02-99.el8.ML.2.x86_64.rpm 1.0 MB/s | 40 kB 00:00
(4/8): grub2-tools-efi-2.02-99.el8.ML.2.x86_64. 2.4 MB/s | 473 kB 00:00
(5/8): grub2-pc-modules-2.02-99.el8.ML.2.noarch 13 MB/s | 913 kB 00:00
(6/8): grub2-tools-2.02-99.el8.ML.2.x86_64.rpm 21 MB/s | 2.0 MB 00:00
(7/8): grub2-tools-minimal-2.02-99.el8.ML.2.x86 4.2 MB/s | 208 kB 00:00
(8/8): grub2-tools-extra-2.02-99.el8.ML.2.x86_6 11 MB/s | 1.1 MB 00:00
--------------------------------------------------------------------------------
Total 16 MB/s | 6.0 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: grub2-common-1:2.02-99.el8.ML.2.noarch 1/1
(中略)
tpm2-tools-4.1.1-2.el8.x86_64 tpm2-tss-2.3.2-3.el8.x86_64 tracer-common-0.7.5-2.el8.noarch
trousers-0.3.15-1.el8.x86_64 trousers-lib-0.3.15-1.el8.x86_64 udisks2-2.9.0-6.el8.x86_64
udisks2-iscsi-2.9.0-6.el8.x86_64 udisks2-lvm2-2.9.0-6.el8.x86_64 unbound-libs-1.7.3-15.el8.x86_64
userspace-rcu-0.10.1-4.el8.x86_64 volume_key-libs-0.3.11-5.el8.x86_64 xkeyboard-config-2.28-1.el8.noarch
完了しました!
# 再起動します
$ sudo reboot
# もう一度 VM に SSH 接続してから OS 情報を確認します
$ cat /etc/os-release
NAME="MIRACLE LINUX"
VERSION="8.4 (Peony)"
ID="miraclelinux"
ID_LIKE="rhel fedora"
PLATFORM_ID="platform:el8"
VERSION_ID="8"
PRETTY_NAME="MIRACLE LINUX 8.4 (Peony)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:cybertrust_japan:miracle_linux:8"
HOME_URL="https://www.cybertrust.co.jp/miracle-linux/"
DOCUMENTATION_URL="https://www.miraclelinux.com/support/miraclelinux8"
BUG_REPORT_URL="https://bugzilla.asianux.com/"
MIRACLELINUX_SUPPORT_PRODUCT="MIRACLE LINUX"
MIRACLELINUX_SUPPORT_PRODUCT_VERSION="8"
# waagent も動いてくれています
$ ps aux | grep waagent
root 935 0.2 0.6 335744 22984 ? Ss 12:09 0:00 /usr/bin/python3.6 -u /usr/sbin/waagent -daemon
azureus+ 1407 0.0 0.0 221924 1020 pts/0 S+ 12:11 0:00 grep --color=auto waagent
参考
bash
# リソースグループを削除します
az group delete \
--name ${prefix}-rg
Discussion