2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Proxmox Automated Installation の Answer included in the ISO With Ventoy

Posted at

作成日:2024/4/28
PVE 8.2.2
PBS 3.2.2

TL;DL

  • Proxmox Automated Installation を利用するための Answer included in the ISO をやってみた。
    • PVE・PBSどちらもやりました。
  • 複数のISOを一つのUSBメモリから利用できるように Ventoy も使います。

概要

PVE 8.2、PBS 3.2 からの新機能、Proxmox Automated Installation を 実際に使用してインストールをやってみます。
方式は以下3つあります。

  • Answer included in the ISO
  • Answer on Separate Partition
  • Answer Fetched via HTTP

今回はAnswer included in the ISO(設定ファイルを組み込んがISOを作成する方式)を実施します。

手順

サマリ

  1. Answer作成用のPVE・PBSを手動インストール
  2. proxmox-auto-install-assistant コマンドのインストール
  3. proxmox-auto-install-assistant device-infoでHW構成を確認
  4. proxmox-auto-install-assistant device-matchでフィルターの確認
  5. Answerの作成
  6. proxmox-auto-install-assistant validate-answerでAnswerの構文確認
  7. proxmox-auto-install-assistant prepare-isoでISOの作成
  8. Ventoyを使って複数ISOをUSBに格納
  9. インストール

Answer作成用のPVE・PBSを手動インストール

Answer作成時にHW構成情報を参照しながら作ることを想定しました。
※手動インストールしたノードと同じHW構成のノードに対して自動インストールをする。

このノードを作業用とします。

proxmox-auto-install-assistant コマンドのインストール

上記記事でも触れていますが、 apt install proxmox-auto-install-assistant でコマンドのインストールを行います。

proxmox-auto-install-assistant device-infoでHW構成を確認

ネットワークは対象NIC(enp1s0とか)を確認。
ディスクはsda,sdb…記載してしまえば確認不要?

proxmox-auto-install-assistant device-matchでフィルターの確認

filter.ID_NET_NAME = "ens18"の場合は、以下のように記載します。

root@pveauto:~# proxmox-auto-install-assistant device-match network ID_NET_NAME=ens18
[
  "ens18"
]

Answerの作成

PVEとPBSでも記述は同じです。
マニュアルに記載の例ではMACアドレスの後方一致でフィルターしてましたが、その場合は各ノードのMACアドレスを確認しないといけないので、修正しました。
また、FQDNとIPアドレスは各ノードごとに修正する想定です。

[global]
keyboard = "jp"
country = "jp"
fqdn = "pve01.testinstall"
mailto = "mail@no.invalid"
timezone = "Asia/Tokyo"
root_password = "123456"

[network]
source = "from-answer"
cidr = "192.168.0.100/24"
dns = "219.110.4.84"
gateway = "192.168.0.1"
filter.ID_NET_NAME = "enp1s0"


[disk-setup]
filesystem = "zfs"
zfs.raid = "raid0"
disk_list = ['sda']

proxmox-auto-install-assistant validate-answerでAnswerの構文確認

ISOに組み込む際にも同様に検証してくれるので、不要だが、一応。
ちなみに、構文チェックのみなので、パラメータが不正ならインストール時にエラーが出ることはあります。
※keyboardをjaでエラーとかでました。

proxmox-auto-install-assistant prepare-isoでISOの作成

作成後のISOはもとにしたISOに上書き保存ではないので、安心です。

root@pve:/tmp/iso# proxmox-auto-install-assistant prepare-iso proxmox-ve_8.2-1.iso --fetch-from iso --answer-file answer_ve.toml
Checking provided answer file...
The file was parsed successfully, no syntax errors found!
Copying source ISO to temporary location...
Preparing ISO...
Moving prepared ISO to target location...
Final ISO is available at "proxmox-ve_8.2-1-auto-from-iso.iso".

Ventoyを使って複数ISOをUSBに格納

以下あたりを参考にVentoyをインストールした一つのUSBに、作成した複数のISOを格納できます。

USBブートすると、画面のように実行するISOを選択可能です。
※写真は過去とったものなので、古いISOです。

240422231041589.JPG

インストール

Install Proxmox (Automated)が一番目に表示されるようになります。
また10秒放置しても自動的にインストールが始まります。
これで、USBデバイスをさして電源起動だけでインストールができます。

image.png

その他

proxmox-auto-install-assistantのオプション

オプション 説明
prepare-iso ISOの作成。
validate-answer Answerの検証。
device-match フィルターの検証。
device-info デバイス情報の表示。
system-info システム情報の表示。
help ヘルプの表示。

実運用上の課題・疑問点

PVE3台+PBS1台ぐらいならISOを作ってUSBでという方法で十分だが、ノードが増えてきたらAnswer Fetched via HTTPが有効かな?
と思っていたんですが、Answerを一つしか指定できないので、各ノードのFQDNは同じで、IPはDHCPまかせという状態になる気がしています。
となると、各ノードのHW・FQDN・IPを対応させたい場合は台数分のISOを作ってインストールするしかないのですかね?

参考

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?