OracleLinux KVMで仮想環境を"無料構築"し、VMwareから仮想インスタンスを移行する。

VMWareとvSphere を使って、仮想環境を構築＆管理している企業は多いと思うが、無料のOracle KVMへの移行に関して調べたので、10分で書く。

＜前提＞
OracleLinux８以上が、インストールされている物理マシンが既に手元にあるのを前提とする。尚、物理マシンのCPUやメモリー、HDDの詳細の最低仕様はこちら。

https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/arch/architecture-ap-prereqs.html#ap-prereqs

また、OracleLinuxのダウンロードはこちらから。

https://yum.oracle.com/oracle-linux-isos.html

Boot ISO(1GB強）をDLして、インストールメディアを作成した上で、インストールする必要がある。（Full ISOは13GBとかあるので、DVDメディアには焼けない。BlueRay Diskが必要。）
![0722.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1665829/0b9c95c4-f503-883b-c1db-b2b2cc3811ce.png)

＜手元の環境＞
CPU：Intel i5-6500(4コア）
Memory　：16GB
SSD 256GB（内蔵）＋４００GB（外付け）
DVD(RW) Drive （外付け）
尚、元マシンは、アキバの中古ショップで購入した14千円のWindows１０マシン。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1665829/62d4281a-7b53-059d-fe3c-f2b46d0aeb05.png)

＜Oracle Linux KVMとOLVMの関係＞

https://www.reqtc.com/blog/oracle-kvm-olvm.html

まあ、掻い摘んで話すと、こんな感じ。
KVMが、VMWare基盤（ハイパーバイザー）
OLVMが、vSphere（管理ツール）

＜Oracle Linux　KVM設定方法＞

https://docs.oracle.com/ja/learn/ol-kvm/#prerequisites

上の通りだけど、上記は、クラウド上のOracleLinuxの仮想インスタンスに、KVMを設定する方法だから、オンプレで構築する際は、SSH接続とかFirewall設定とかポートフォワード設定は不要。

つまり、下記だけで良い。

```
# KVMのインストールと起動
# Oracle Linux仮想化モジュールに関連付けられたソフトウェアパッケージをインストール。

sudo dnf module install virt -y

# virt-installおよびvirt-viewerをインストール。
sudo dnf install virt-install virt-viewer -y

#libvirtdデーモンを起動し、各ブート時に自動的に起動されるようにします。次に、ステータスをチェックして稼働中であることを確認。

sudo systemctl enable --now libvirtd.service
sudo systemctl status libvirtd.service

# Oracle LinuxでKVMを管理するためのCockpit Webコンソールの設定
# Libvirtに基づいてVMを管理するためのcckpit- machines拡張をインストール。
sudo dnf install cockpit cockpit-machines –y

#コックピットソケットを起動し、システムブート時に自動起動できるようにする。
sudo systemctl enable --now cockpit.socket
sudo systemctl status cockpit.socket
```


デスクトップでWebブラウザを開き、https://localhost:9090を参照。
Cockpit Webコンソールは、自己署名証明書を使用してHTTPSを有効にして御終い。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1665829/55d9ab24-e934-25a4-4dc8-9fa9e68d1d87.png)

OralceLinuxのユーザーIDとPWでログインすれば、VMインスタンス作成画面に移動。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1665829/9ae3df33-c0f6-f6ff-85d0-ce1f8dd157b1.png)

ここの画面で、仮想インタンスを作成可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1665829/8270f8fc-7453-c89a-f15e-e38e5dddf8f3.png)


＜VMWare上の仮想インスタンスをOracleLinux　KVMへ移行＞

ここに詳しく書いてあります。
https://note.com/wakubo_bokuwa/n/n53330e36f4fb

手順としては、下記。
1.移行する仮想マシンを停止した状態にて、vhdx ファイルを取得。
2.KVM が稼働している環境に vhdx ファイルを転送。
3.以下のコマンドを実行し KVM 用の仮想ハードディスクファイル(qcow2ファイル)に変換。
```
# qemu-img convert -f vhdx -O qcow2 RockyLinux.vhdx RockyLinux.qcow2
```
4.仮想マシンのインポートコマンド（virt-install --import）を使用して、移行した仮想ハードディスクを使用した仮想マシンを作成します。

３と４については、実環境でちょっとテクニックが必要だったので、下記に詳細。
```
[testtest@localhost Downloads]$ sudo qemu-img convert -f vmdk -O qcow2 Ubuntu18_x64.vmdk Ubuntu18_x64.qcow2
// Ubuntu18_x64.vmsd を、Ubuntu18_quow2に変換しろ！と言うコマンド。（ステップ１として、quow2ファイル作成。）
[sudo] password for testtest:
[testtest@localhost Downloads]$ ls
 Ubuntu18_x64-s003.vmdk
 B_BaHtou                                  Ubuntu18_x64-s004.vmdk
 Debian12_x64_s001.vmdk                    Ubuntu18_x64-s005.vmdk
'Debian 12.x 64 ビット-s001.vmdk'          Ubuntu18_x64-s006.vmdk
 google-chrome-stable_current_x86_64.rpm   Ubuntu18_x64.scoreboard
 mksSandbox.log                            Ubuntu18_x64.vmdk
'System Volume Information'                Ubuntu18_x64.vmsd
 Ubuntu18_quow2                            Ubuntu18_x64.vmx
 Ubuntu18_x64.nvram                        Ubuntu18_x64.vmxf
 Ubuntu18_x64.qcow2                        Ubuntu18_x64.vmx.lck
 Ubuntu18_x64-s001.vmdk                    vmware.log
 Ubuntu18_x64-s002.vmdk
[root@localhost Downloads]#
[root@localhost Downloads]#
[root@localhost Downloads]#
//下記で、quow2ファイルを仮想インスタンスにビルドせよと言うコマンド。（ステップ２）
[root@localhost Downloads]# virt-install --import \
> --name Ubuntu18 \
> --ram 2048 \
> --vcpus 2 \
> --disk path=/home/testtest/Downloads/Ubuntu18_x64.qcow2 \
> --network bridge=br0 \
> --os-variant rocky8-unknown \
> --graphics vnc \
> --machine q35 \
> --boot uefi \
> --autoconsole none

Starting install...
ERROR    Cannot get interface MTU on 'br0': No such device
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
virsh --connect qemu:///system start Ubuntu18
otherwise, please restart your installation.
[root@localhost Downloads]# 
[root@localhost Downloads]# 
//エラーが出た。network bridgeを実環境に合わせる。（ステップ２'')
[root@localhost Downloads]# virt-install --import \
> --name Ubuntu18 \
> --ram 2048 \
> --vcpus 2 \
> --disk path=/home/testtest/Downloads/Ubuntu18_x64.qcow2 \
> --network bridge=virbr0 \
> --os-variant ubuntu18.10 \
> --graphics vnc \
> --machine q35 \
> --boot uefi \
> --autoconsole none
 Starting install...
Domain creation completed.
// 完成！！！！
```
ーーーーー

まあ、こんな感じです。
ポイントは、VMWareで膨大な金額を払っていたのが、無料のハイパーバイザーに"簡単に"、移行できる。移行後のトラブルも聞いたことない。