はじめに
この記事は、Proxmox VE 8.2での新機能: Automated Installation を行った際の記録です。
検証したところ、5分程度でインストールが完了しました。
共著
これまで
Proxmoxのインストールに使用する、ベアメタルISOインストーラは、自動化には対応していませんでした。自動化したい場合、Debianをセットアップし、Proxmoxのコンポーネントをインストールするなど、手間がかかる方法しかありませんでした。
新機能
今回のリリースに含まれる Automated Installation は、ISOインストーラに私たちがインストールの際に入力する設定をanswer.toml
として内包することで、GUIやCLIでの設定画面をスキップし、自動的にインストールされるというもののようです。
Answerを渡す方法は主に3つあります。
- ISOインストーラに
answer.toml
を直接内包する - 特定の名前
proxmox-ais
orPROXMOX-AIS
が付けられたパーティションから読み込む - http経由で取得する
いずれの場合でも後述のproxmox-auto-install-assistant
ツールを用いてインストーラに手を加える必要があり、それぞれで引数に渡す値が異なります。
使い方
proxmox-auto-install-assistant
は、Proxmoxの無償版リポジトリにあります。
既にProxmoxがインストールされているマシンがある場合はそちらを使って作成することができますが、今回はPCのみで作成したいので、Dockerにて作成を行います。Windowsの方はwslを使用した方が手軽で良いかもしれません。
proxmox-ve_8.2-1.iso
は公式サイトから最新のISOインストーラーをダウンロードして配置してください。
今回は一番手軽なISOインストーラにanswer.toml
を内包する方法を試してみます。
環境
$ tree
.
├── Dockerfile
├── answer.toml
└── proxmox-ve_8.2-1.iso
[global]
keyboard = "jp" # en-us
country = "jp"
fqdn = "pve01.example"
mailto = "mail@example"
timezone = "Asia/Tokyo"
root_password = "proxmox"
# root_ssh_keys = [
# "ssh-ed25519 AAAA..."
# ]
[network]
source = "from-answer" # or "from-dhcp"
cidr = "192.0.2.1/24"
dns = "192.0.2.254"
gateway = "192.0.2.254"
# NICが複数ある場合、どのNICかを選択するためフィルタをかける必要がある
filter.ID_NET_NAME_MAC = "*e43d1afa379a"
# filter.ID_NET_NAME = "enp0s25"
[disk-setup]
filesystem = "ext4"
lvm.swapsize = 0
lvm.maxvz = 0
disk_list = ['sda']
FROM --platform=linux/amd64 debian:bookworm-slim
# apt リポジトリの更新と必要なパッケージのインストール
RUN apt update && apt install -y \
wget \
xorriso
# Proxmox VE 自動インストールアシスタントのダウンロードとインストール
RUN wget http://download.proxmox.com/debian/pve/dists/bookworm/pve-no-subscription/binary-amd64/proxmox-auto-install-assistant_8.2.5_amd64.deb \
-O proxmox-auto-install-assistant.deb && \
dpkg -i proxmox-auto-install-assistant.deb
# /proxmox ディレクトリに移動
WORKDIR /proxmox
CMD bash
イメージの作成
$ docker build -t proxmox-auto-docker .
$ docker run --rm -it -v ./:/proxmox proxmox-auto-docker
$ proxmox-auto-install-assistant prepare-iso proxmox-ve_8.2-1.iso \
--fetch-from iso --answer-file answer.toml --output pve-auto_8.2.1.iso
インストールメディアの作成
作成されたpve-auto_8.2.1.iso
をUSBメモリ等に書き込んでインストールメディアを作成します。
起動
インストールメディアをインストール対象のサーバに接続して、ブート順位を変更するなどして"インストールメディアから"起動します。
すると、そこからは何も触らずにインストール&再起動が行われます。
参考文献