akam1oの日記

クラウドを作るお仕事をしています

Proxmox VE に Rocky Linux の VM テンプレートを Cloud Image から作成

概要

Rocky LinuxVM テンプレートを Cloud Image から作成する方法です。

Cloud Image のダウンロード

公式 Repo から必要なイメージをダウンロードしてください。

# wget https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-GenericCloud.latest.x86_64.qcow2

VM テンプレートの作成

ワンライナー

IMG_ID=9000 \
IMG_FILE="Rocky-8-GenericCloud.latest.x86_64.qcow2" \
STORAGE="local-lvm" \
BRIDGE="vmbr0" \
&& qm create $IMG_ID --memory 2048 --net0 virtio,bridge=${BRIDGE} \
&& qm importdisk $IMG_ID ${IMG_FILE} ${STORAGE} \
&& qm set $IMG_ID --scsihw virtio-scsi-pci --scsi0 ${STORAGE}:vm-${IMG_ID}-disk-0 \
&& qm set $IMG_ID --ide2 ${STORAGE}:cloudinit \
&& qm set $IMG_ID --boot c --bootdisk scsi0 \
&& qm set $IMG_ID --serial0 socket --vga serial0 \
&& qm template $IMG_ID

変数について

変数 説明
IMG_ID Proxmox 内でユニークな VM ID
IMG_FILE ダウンロード済みの qcow2 ファイル名
STORAGE インポート先ストレージ
BRIDGE ネットワークブリッジ名

変数定義

IMG_ID=9000
IMG_FILE="Rocky-8-GenericCloud.latest.x86_64.qcow2"
STORAGE="local-lvm"
BRIDGE="vmbr0"

テンプレート用 VM 作成

# qm create $IMG_ID --memory 2048 --net0 virtio,bridge=${BRIDGE}

ダウンロードしたイメージをインポート

# qm importdisk $IMG_ID ${IMG_FILE} ${STORAGE}

scsi で attach

# qm set $IMG_ID --scsihw virtio-scsi-pci --scsi0 ${STORAGE}:vm-${IMG_ID}-disk-0

cloud-init 用の CD ドライブを用意

# qm set $IMG_ID --ide2 ${STORAGE}:cloudinit

attach したディスクを boot disk に設定

# qm set $IMG_ID --boot c --bootdisk scsi0

シリアルコンソールに接続

# qm set $IMG_ID --serial0 socket --vga serial0

テンプレートに変換

# qm template $IMG_ID

テンプレートからのデプロイ

作成したテンプレートから Clone して VM を起動します。

参考