ProxmoxでOVAファイルから構築してみる

# はじめに
ProxmoxのGUIからVMを作成する場合は、ISOファイルから構築していました。でも、どうしてもISOファイルではなく、OVAファイルからVMを構築したくなってしまいました。
ちょっと手間ですが構築できたので手順を記載したいと思います。今回構築したのはCisco Modeling Labs (CML)です。

また、海外の[Youtube](https://www.youtube.com/watch?v=4lYulcTd5yc)がとっても参考になりました！


# 実行環境
* CML2.7.0
* Proxmox　8.1.2

# 事前準備
CMLを構築するにあたりCisco [Software Download](https://software.cisco.com/download/home)からCMLのソフトウェアをダウンロードします。やり方については[こちら](https://developer.cisco.com/docs/modeling-labs/2-7/#!downloading-files-for-cml-installation)を参照してください。

* Cisco Modeling Labs 2.7.0 server. 
cml2_2.7.0-4_amd64-20.ova

※CMLのノードを動作させる場合は以下の２つのISOファイルが必要となります。こちらはCMLの初期構築後に使います。
* Cisco Modeling Labs reference platform ISO file
* Cisco Modeling Labs supplemental reference platform ISO file
refplat-20240322-supplemental-iso.zip  


# Proxmoxに構築開始！
[前回](https://qiita.com/kannishi/items/080c85e22ebecb43e9a4)ISOファイルからCMLを構築した際は、ProxmoxのGUIからファイルをアップしていました。
今回はShellでつくります。私はProxmoxにSSHして構築しました。
ファイルを格納する先`/var/lib/vz`を確認し、フォルダ配下に`upload`フォルダを作成します。
フォルダを作成した結果はこのようになっています。
```
root@prox171:~# cd /var/lib/vz
root@prox171:/var/lib/vz# ls -l
total 16
drwxr-xr-x 2 root root 4096 Nov 10 09:26 dump
drwxr-xr-x 2 root root 4096 Dec 14  2023 images
drwxr-xr-x 4 root root 4096 Jan  6  2010 template
drwxr-xr-x 2 root root 4096 Nov 13 12:33 upload
```

この`upload`フォルダに先ほどダウンロードした`cml2_2.7.0-4_amd64-20.ova`を格納します。やり方はお任せします。
私はそりゃ！と気合でいれました。（え？）

```
root@prox171:/var/lib/vz/upload# ls -l
total 949984
-rw-r--r-- 1 root root 972779520 Apr 11 21:49 cm12_2.7.0-4_amd64-20.ova 
```

続いて、OVAファイルを展開します。
```
root@prox171:/var/lib/vz/upload# tar -xvf cm12_2.7.0-4_amd64-20.ova
cm12_2.7.0-4_amd64-20_SHA256.ovf
cm12_2.7.0-4_amd64-20_SHA256.mf cm12_2.7.0-4_amd64-20_SHA256.cert cm12_2.7.0-4_amd64-20_SHA256-disk1.vmdk cm12 2.7.0-4_amd64-20_SHA256-file1.nvram
```
先ほど展開したファイルのうち、OVFファイルを使っていきます。
そして、ここでVMが作れちゃいますので、いくつか注意点を列挙します。
`qm importovf xxx aaa.ovf yyyy --format raw`
* xxx:Proxmoxにある他のVirtual Machine と重ならない番号にしましょう
* yyy:ProxmoxでVMを構築した際のファイルの格納先です
* --format raw：Proxmox上のVMはraw形式となるため、この時点で変換します

以上の点を注意して、投入しました。
```
root@prox171:/var/lib/vz/upload# qm importovf 201 cml2_2.7.0-4_amd64-20_SHA256.ovf local-lvm --format raw
Logical volume "vm-201-disk-0" created. transferred 0.0 B of 32.0 GiB (0.00%)
transferred 327.7 MiB of 32.0 GiB (1.00%) 
transferred 655.4 MiB of 32.0 GiB (2.00%) 
transferred 983.0 MiB of 32.0 GiB (3.00%) 
transferred 1.3 GiB of 32.0 GIB (4.00%) 
transferred 1.6 GiB of 32.0 GiB (5.00%) 
transferred 1.9 GiB of 32.0 GiB (6.00%) 
transferred 2.2 GiB of 32.0 GiB (7.00%) 
transferred 2.6 GiB of 32.0 GiB (8.00%) 
transferred 2.9 GiB of 32.0 GiB (9.00%) 

･･･
```
100%になるとVMが作成できていますので、ProxmoxのGUIで確認します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3629197/1261907d-ec50-a5a4-57cc-36b11829ab0f.png" width="40%">
参考ですが、作成したマシンの格納先です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3629197/dcad4c54-0e07-ad9b-f86f-fa973cd6ea49.png" width="90%">

あとはVMを起動する前に、CML用にマシンのチューニングをいくつかおこなえば完成です。
手を加えたのは以下5点（のはず）です。
1. Memoryの値チューニング
2. CPU変更※今回ちょっと少な目＆CMLはhostにしておかないと起動しない
3. Hard Disk
4. CD/DVD Driveにノード用のISOファイルを設定
5. Network設定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3629197/8f63df80-c76a-6a28-a6d4-40c23f6244dc.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3629197/175da1dd-4029-fac1-35a5-c66a133c655c.png)
です！

あとは、前回のCML構築と同様にマシンを起動させていけばOKです。
CMLの構築については[前回](https://qiita.com/kannishi/items/080c85e22ebecb43e9a4)の資料を参照くださいませ。
https://qiita.com/kannishi/items/080c85e22ebecb43e9a4


# さいごに
今回は、CMLで試してみました。その中で、個人的な所感ですがISO→rawに変換して動作させるよりも、OVF(OVA)をrawにしたVMのほうがスムーズに動作していると感じます。

また作成にあたり、冒頭にも記載した[Youtube](https://www.youtube.com/watch?v=4lYulcTd5yc)を参考にすると作りやすく、色々と補足もありました。
ESXiで構築したマシンそのものを変換させて、Proxmoxに移植しようとしている方もいますので、そのような場合にも使えるかもしれませんね。
どなたかの参考になれば幸いです。