0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CML2をKVM上にデプロイしたときのメモ

Last updated at Posted at 2024-12-04

個人用のメモ。記事としての体裁は整えてません。

CMLにfree tierが出ていることを教えてもらった。
https://developer.cisco.com/docs/modeling-labs/cml-release-notes/

VIRL時代はベアメタルサーバーにインストールして触っていたが、CML2になってからは全然触ってなかった。
今の自宅サーバはKVMで運用していて、動くかわからないのもあって、購入を踏み切れずにいた。
free tierが出て動作確認ができそうだったので、とりあえずKVM上にデプロイしてみた。

まずはここからダウンロード
https://software.cisco.com/download/home/286193282/type/286326381/release/2.8.0%20Free%20Tier

使うのはこの2つ。

  • cml2_f_2.8.0-6_amd64-32-iso.zip
  • refplat-20241016-freetier-iso.zip

.ovaを使ってデプロイしてみてもいいかなと思ったが、こっちは一応VMWareをメインに想定しているようなので、とりあえずisoからベアメタルと同じような手順で試してみることに。

まずはKVMを動作させているサーバでnested VMが有効になっているのを確認する。

# cat /sys/module/kvm_intel/parameters/nested
Y

僕は普段cockpitを使ってVMを管理しているので、cockpitのGUIからVMをとりあえず作ってみた。

  • CPU: 2 core / 4 thread (1 socket)
  • RAM: 16GB
  • DISK: 64GB

ブート自体はできたが、UEFIブートする必要があるらしい。
BIOSブートだと「UEFIブートじゃないと多分うまくいかないよ」的なメッセージが出た。

一度VM定義を削除し、ovmfをインストールして、QEMUでUEFIファームウェアを使えるようにする。

sudo apt install ovmf

libvirtのXMLを一から作ると大変なのと、UEFIブートを使うVMの設定に馴染みがなかったので、とりあえずvirt-installから入れることにした。
diskは最初にBIOSブートを試したときに作ったものを流用(64GB)。
os-variantはよくわからなかったのでとりあえずunknownにしたが、ブート画面を見るとUbuntuっぽかったのでUbuntu系のどれかにしてもいいかもしれない。

sudo virt-install --name CML2 --ram 16384 --disk path=/mnt/ssd1/disk/CML2.qcow2 --vcpus 4 --os-variant unknown --network bridge=br0 --graphics vnc,listen=0.0.0.0,password=password --video vga --cdrom /mnt/ssd0/cml2_2.8.0-6_amd64-32.iso --boot uefi --noreboot

起動するとディスクへのインストール自体は自動的にやってくれる。

再起動後にCMLのインストールが始まるが、IOSなどのイメージファイルは別途refplat ISOと呼ばれるファイルで配布されており、CMLのインストールの際にこれが必要になる。
refplat ISOはCML2のインストールイメージと同じくCiscoのサイトからダウンロードできる。

CMLのインストールを始める前に、一度VMを落として、refplat ISOをcdromとしてVMにアタッチする。

cockpitの仮想マシンGUIからアタッチしてみたが、なぜか権限で怒られてうまくいかなかった。(パーミッションを777とかにしてみたがダメだった)

error: Failed to start domain 'CML2'
error: internal error: process exited while connecting to monitor: 2024-12-04T07:57:33.787885Z qemu-system-x86_64: -blockdev {"driver":"file","filename":"/mnt/ssd0/refplat-20241016-freetier.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}: Could not open '/mnt/ssd0/refplat-20241016-freetier.iso': Permission denied

ので、virsh editでXMLを編集することにした。
特別なことはなく普通にcdromを使うときと同じ容量で書いてあげればいい。

  <disk type='file' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <source file='/mnt/ssd0/refplat-20241016-freetier.iso'/>
    <target dev='hdb' bus='ide'/>
    <readonly/>
    <address type='drive' controller='0' bus='0' target='0' unit='1'/>
  </disk>

(cockpitからアタッチしたものは、何故かdisk type="volume"になっており、qcow2をアタッチする際のような設定だった。これが良くなかったように思う)

VMを起動して、あとは指示に従ってCMLのインストールを進める。

インストール完了後、CML2が正常に起動した。
image.png

とりあえずIOLと、ASAvを動かしてみる。
IOLはコンテナなので特に懸念はしておらず、実際問題なく動いた。
ASAvはVMで、NestedVMな環境で動くことになるためこっちが不安であった。
とりあえず簡単な疎通確認はできた。
image.png

アプライアンス、機能・設定によっては動かないのもありそうだが、ひとまず全く動かないわけではないことが分かった。

VIRL時代のVM Maestroに比べて、GUIが使いやすくなっていていいね!!!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?