CML2 Free TierをProxmoxに構築してみた

1.はじめに

CML2のライセンスが切れた! 私は毎年、Cyber MondayのセールでCMLを購入しています。
昨年は11/27、一昨年は11/29といった感じで11月末の恒例行事でした。
今年は若干ズレて12/3の深夜です。ちょっと間が空いてしまいます。 今買うの得策ではない!だが、検証はしたい!

運の良いことに最近無償版のCMLが提供されました。これを使えば良いということで早速試してみます。
https://learningnetwork.cisco.com/s/question/0D56e0000E3OcmbCQC/cml-28-free-tier

2.実行環境

箱:CPU-1sockets,20cores, MEM-64GB
Proxmox VE 8.1.3
CML Release 2.8.0 Free Tier

3.準備

CiscoからCMLのソフトウェアをダウンロードします。
https://software.cisco.com/download/home/286193282/type/286326381/release/2.8.0%20Free%20Tier
※ 要Ciscoアカウントによるログイン
① cml2_f_2.8.0-6_amd64-32-iso.zip
→ CML2.8.0 Free-Tierのイメージ
② refplat-20241016-freetier-iso.zip
→ ノードイメージ
※ ZIPは解凍します。

4.CML登録

  1. 先ほどダウンロードしたファイルをProxmoxにアップロードします。
    [local(host)] > [ISO Images] > [Upload] > Select File > Upload

    アップロード完了後のポップアップ画面は閉じます。

    ファイルをアップロード完了した状態はこのようになります。

    ① cml2_f_2.8.0-6_amd64-32-iso
    ② refplat-20241016-freetier-iso

  2. ノード作成
    [Node] -> [Create VM]

3.ホスト名登録
CML2.8.0.FREEとしました

4.OS設定
先ほどダウンロードしたcml2_2.8.0-6_amd64-32.isoを登録します。

5.System設定
BIOS はOVMF(UEFI)とし、EFI Storageはlocal-lvmを選択します。

6.Disks設定
Disk Sizeを設定します。今回はお試しなので100GBとしています。

7.CPU設定
Socket,Coresも必要な分を割り当てます。また、Typeはhostにします。

8.Memory設定
必要な容量をMemoryに設定します。
64GB割り当てたいので、1024×64=65536

9.Network設定
Bridge(vmbr0)、Model(VirtIO (paravirtualized)を設定します。

10.設定確認 設定内容が問題ないか確認し、[Finish]で完了します。


CD/DVDが足りないのに気付きました!

11.ノードイメージ用のISOを追加するの失念しておりました。追加します。

初期セットアップの準備が出来ました!

5.CML初期セットアップ

ノードを起動すればセットアップが走ります。
VM ID(hostname)> Console > Start Now

インストールシェルの実行を見守ります。放置していれば、初期セットアップ画面で止まるはずです。

キター!

ココまで来ればもう出来たも同然です!

規約に同意します。

続行します。

Brief Help も続行します。

クラスタリングとか今はどうでもいい!無視します!続行です。

ホスト名を入力して続行します。
Default ホスト名はDefault cml-controllerです。 cml2.8.0freeと名付けました。

怒られました。チッ(・д・)

改めてホスト名は、cml-freeと名付けました。

罠があります。キーボードに気を付けて!
パスワードに記号を使う場合は要注意です! 私のセットアップは日本語キーボードを使っていましたが、USキーボードでセットアップが進んでいました。

sysadmin(CMLのメンテナンスで使うユーザ)のパスワードを入力します。

admin(通常使うユーザ)のパスワードを入力します。

CMLのネットワークを設定します。DefaultはDHCPですが、私は固定IPを使いたいので変更します。

IPv4を設定します。ご自身の利用環境に合わせてください。
例)IP 192.168.2.21, 255.255.255.0, GW 192.168.2.1, DNS 8.8.8.8

間違いがないか最後の確認です。

用が済んだらノードイメージのISOは削除してね!(ry

ステータスバーあると安心しますね。終わるのを待ちます。

お急ぎの方はカウントダウンが終わる前に< OK >押下します。
CMLを利用するためのURLも表示されます。

CMLのセットアップが完了しました。

6.CMLログイン

ブラウザからログインします。

https:// CML初期セットアップで指定したIPアドレス/

ログイン成功!

必須では無いようですが、登録しておくとお得な情報を連絡してくれると思います。

7.ノードイメージ追加

Release 2.8.0 Free Tier で提供されるイメージはこれです。

これでも十分検証はできるのですが、私はIOS-XRを使いたいのでイメージを追加します。
追加するイメージは頑張って入手してください。
手前味噌で恐縮ですが、これを見ながら実施すれば追加できるはずです。
chimay-wh.hatenablog.com

と思ったのですが、その前に一手間必要なようです。

Release 2.8.0 Free Tier には、赤枠のIOS XRv 9000はありません。
キャプチャ取り忘れてしまいました。

追加の一手間とは、NODE DEFINITIONSを追加することです。

スライドバーを見れば分かると思いますが、手入力で定義するのは出来なくはなさそうだけど、面倒なのは目に見えています。時間は有限なので、ググって楽をしましょう。

ググれば、iosxrv9000の定義ファイルは手に入ります。
内容は以下のようなものです。

【iosxrv9000.yaml】▼ググれば見つかります

id: iosxrv9000
configuration:
  generator:
    driver: iosxrv9000
  provisioning:
    volume_name: config
    media_type: iso
    files:
      - name: iosxr_config.txt
        editable: true
        content: |-
          hostname inserthostname-here
          username cisco
          group root-lr
          group cisco-support
          password cisco
          !
          username admin
          group root-lr
          group cisco-support
          password cisco
          !
          username lab
          group root-lr
          group cisco-support
          password cisco
          !
          end
device:
  interfaces:
    has_loopback_zero: true
    min_count: 3
    default_count: 4
    loopback:
      - Loopback0
    management:
      - MgmtEth0/RP0/CPU0/0
    physical:
      - MgmtEth0/RP0/CPU0/0
      - donotuse1
      - donotuse2
      - GigabitEthernet0/0/0/0
      - GigabitEthernet0/0/0/1
      - GigabitEthernet0/0/0/2
      - GigabitEthernet0/0/0/3
      - GigabitEthernet0/0/0/4
      - GigabitEthernet0/0/0/5
      - GigabitEthernet0/0/0/6
      - GigabitEthernet0/0/0/7
      - GigabitEthernet0/0/0/8
      - GigabitEthernet0/0/0/9
      - GigabitEthernet0/0/0/10
      - GigabitEthernet0/0/0/11
      - GigabitEthernet0/0/0/12
      - GigabitEthernet0/0/0/13
      - GigabitEthernet0/0/0/14
      - GigabitEthernet0/0/0/15
      - GigabitEthernet0/0/0/16
      - GigabitEthernet0/0/0/17
      - GigabitEthernet0/0/0/18
      - GigabitEthernet0/0/0/19
      - GigabitEthernet0/0/0/20
      - GigabitEthernet0/0/0/21
      - GigabitEthernet0/0/0/22
      - GigabitEthernet0/0/0/23
      - GigabitEthernet0/0/0/24
      - GigabitEthernet0/0/0/25
      - GigabitEthernet0/0/0/26
      - GigabitEthernet0/0/0/27
      - GigabitEthernet0/0/0/28
      - GigabitEthernet0/0/0/29
      - GigabitEthernet0/0/0/30
    serial_ports: 4
inherited:
  image:
    ram: true
    cpus: true
    cpu_limit: true
    data_volume: false
    boot_disk_size: false
  node:
    ram: true
    cpus: true
    cpu_limit: true
    data_volume: false
    boot_disk_size: false
general:
  description: Cisco IOS XRv 9000 Router platform
  nature: router
  read_only: true
schema_version: 0.0.1
sim:
  linux_native:
    cpus: 4
    disk_driver: virtio
    driver: iosxrv9000
    libvirt_domain_driver: kvm
    nic_driver: virtio
    ram: 20480
    cpu_limit: 100
boot:
  timeout: 3600
  completed:
    - '--- Administrative User Dialog ---'
    - '%MGBL-CVAC-4-CONFIG_DONE'
pyats:
  os: iosxr
  series: iosxrv9k
  config_extract_command: show running-config
ui:
  description: |-
    Cisco IOS XRv 9000 Router platform

    It is recommended to use 20 GB and 4 vCPUs.
    At a very minimum, 10 GB of DRAM and 2 vCPUs are required.

    ##### Note
    The first data interface is the **4th interface**:
    - The first interface is management,
    - second and third are marked as 'do not use' and should not be connected to anything
    - The next interfaces are actual data interfaces.

    [CCO Link](https://www.cisco.com/c/en/us/support/routers/ios-xrv-9000-router/tsd-products-support-series-home.html)
  group: Cisco
  icon: router
  label: IOS XRv 9000
  label_prefix: xr9kv-
  visible: true

iosxrv9000.yamlが手に入っている前提で進めます。
CMLの画面右上にある TOOLS > Node and Image Definitions をクリックします。

右上のIMPORTをクリックします。

Node Definition をクリックして、iosxrv9000.yamlを選択します。

サクッと追加されるので、GO TO NODE DEFINITIONをクリックします。

ここまでを先に実施しておかないと、イメージを追加する時にNode DefinitionからIOS XRv 9000を選べないと思うので積みます。追加がうまくいけばこうなるはずです。

あとは、IOS XRv 9000のイメージを追加すればOKです。

8.検証

IOS XRv 9000のイメージ追加もできたので、SRv6の検証をしました。
検証内容は後日公開します。鋭意作成中であります。

9.おわりに

CML Release 2.8.0 Free Tier は5ノード制限がありますが、お試しで使ってから、もっとノード増やしたいと思ったら有償ライセンスを買えば良いと思います。

ただ買うなら安くしたいですよね。一年間使えるとは言え、税抜きで$199.00は安くはないですから!

Cyber Mondayのセール活用すれば更にお安く手に入りますよ!
https://blogs.cisco.com/learning/learning-deals-2024

日本時間ですと、12月3日の午前1時から午前5時で通常の40% offで購入できます。
$199.00 ー- Cyber Monday 40% off ーー> $119.40

最後までお読みいただき、ありがとうございました。