Foreman: Ubuntu 24.04 LTS PXE-telepítés beüzemelése

Ebben a cikkben lépésről lépésre bemutatom, hogyan lehet egy Foreman szervert TFTP/PXE alapú Ubuntu 24.04 LTS telepítésre előkészíteni. A leírás általános érvényű, bármilyen környezetben alkalmazható.

1. Előfeltételek

A Foreman telepítéshez szükséges komponensek:

  • Foreman szerver (ez az útmutató 3.9+ verzióra vonatkozik)
  • Smart Proxy szerver TFTP és PXE támogatással
  • DHCP szerver (vagy integrált a Smart Proxy-ban)
  • Ubuntu 24.04 LTS ISO fájl
  • Megfelelő alhálózat és VM hoszt

2. Infrastruktúra beállítása

2.1 Smart Proxy ellenőrzése

Foreman → Infrastructure → Smart Proxies menüpontban nézzük meg, hogy a TFTP és DHCP proxyink elérhetőek-e:

Proxy szerverFeatures
pxe-proxy.example.comTFTP, DHCP, Foreman, Puppet

2.2 Domain-ek

Foreman → Infrastructure → Domains menüpontban hozzuk létre a domain-eket:

Domain névDNS szerver
example.com10.10.10.1

2.3 Alhálózatok

Foreman → Infrastructure → Subnets menüpontban adjuk meg az alhálózatokat:

AlhálózatKapuőrDNSDHCP proxyTFTP proxy
10.10.10.0/2410.10.10.110.10.10.1pxe-proxy.example.compxe-proxy.example.com
DC -Test VM subnet beállításai a Foreman-ben

2.4 Telepítési médiák

Foreman → Content → Installation Media menüpontban adjunk hozzá egy új Installation Medium-ot:

NévPathOS család
Ubuntu 24.04 LTShttp://pxe-proxy.example.com/pub/installation_media/ubuntu/24.04-x86_64/Debian

Megjegyzés: Az ISO-t egy alkalmas helyre kell helyezni. Egy tanár kiszerzett módszer az ISO 7z-vel vagy xorriso-val történő kicsomagolása, majd a tartalom a /var/lib/foreman/public/pub/installation_media/ubuntu/24.04-x86_64/ könyvtárba másolása. Az Apache konfigurációban a ProxyPass /pub ! direktívával biztosítjuk, hogy a /pub alatt lévő fájlokat az Apache közvetlenül szolgálja ki, nem a Foreman proxy.

Ubuntu 24.04 installation medium a Foreman-ben

3. Operációs rendszer definiálása

3.1 Operációs rendszer hozzáadása

Foreman → Administer → Operating Systems menüpontban adjunk hozzá egy új operációs rendszert:

ParaméterÉrték
NévUbuntu 24.04.1 LTS
Release namenoble
FamilyDebian
Root Password HashSHA256 vagy PBKDF2 hasítás
Errata URLüresen hagyható

3.2 Alapértelmezett sablonok beállítása

Az OS hozzáadása után a Templates fülön állítsuk be az alapértelmezett sablonokat. A Debian/Ubuntu családnál jellemzően a Preseed-et használjuk.

Sablon típusaTelepítési módszerPreseed
ProvisionPXEPreseed default autoinstall
PXELinuxLegacy BIOSPreseed default PXELinux Autoinstall
PXEGrub2UEFIPreseed default PXEGrub2 Autoinstall
FinishPreseed default finish
user_dataCloud-initPreseed Autoinstall cloud-init user data
Operációs rendszerhez rendelt alapértelmezett sablonok a Templates fülön

3.3 Partíciós táblák

Foreman → Administer → Partition tables menüpontban válasszunk ki és jelöljünk be egy alkalmas partíciós táblát (pl. „Preseed default autoinstall”), amelyet az OS-hez társítunk.

Partíciós táblaOS család
Preseed default autoinstallDebian

4. Egyedi sablonok létrehozása

Az Ubuntu 24.04 LTS Preseed telepítéséhez néhány testreszabás szükséges. Az alábbiakban bemutatom az XORP infrastruktúrában használt egyedi sablonokat és azok módosításait:

4.1 user_data sablon testreszabása

Az Ubuntu 24.04 cloud-init telepítéshez szükséges egy preseed/late_command parancs, amely az /etc/cloud/cloud.cfg.d/-ben elhelyezi a cloud-init konfigurációt. Az alábbi módosítások szükségesek:

#cloud-config
apt:
  sources:
    ubuntu-repo:
      source: "deb http://hu.archive.ubuntu.com/ubuntu noble main universe multiverse"
keyboard:
  # Megjegyzés: Subiquity bug (LP#1621378) - a "keyboard: null" nem működik
  # Megoldás: Localectl parancs a late-command-ban
late-commands:
  - "{{ installer_assumes_loopback }} /target/usr/bin/localectl set-keymap hu"
identity:
  hostname: "{{ host.name }}"
  username: ubuntu
  password: "$6$..."  # SHA512 hash
Preseed Autoinstall cloud-init user data XORP sablon a Foreman-ben

4.2 Finish sablon testreszabása

A finish sablon (Preseed default finish) az installation után lefutó parancsokat tartalmazza. Az XORP egyedi sablonban a snapd csomagot távolítjuk el:

#!/bin/sh
# Preseed default finish XORP
apt-get purge snapd -y
# Additional cleanup if needed
Preseed default finish XORP sablon a Foreman-ben

4.3 Partíciós tábla testreszabása

Az „Preseed default autoinstall XORP” partíciós tábla az alábbiakkal módosul:

...
  - size: largest
    filesystem: ext4
    type: partition
    mount: /
Preseed default autoinstall XORP partíciós tábla

Összehasonlítás az alapértelmezettsel:

Preseed default autoinstall partíciós tábla (alap)

4.4 PXEGrub2 sablon

A PXEGrub2 sablon (UEFI boot) az XORP-ban az alapértelmezettnek megfelelően van klónozva és egyedi névvel ellátva. Lényeges módosítást nem igényel, csupán az UUID-t kell biztosítani a PXE boot inicializálásához.

Preseed default PXEGrub2 Autoinstall XORP sablon

5. Hosztcsoportok és egyéb beállítások

5.1 Hosztcsoport létrehozása

Foreman → Configure → Host Groups menüpontban hozzuk létre az új hosztcsoportot:

HosztcsoportOSSmart ProxyPuppet Master
MainUbuntu 24.04.1 LTSpxe-proxy.example.compuppet.example.com
Main hosztcsoport beállításai a Foreman-ben

6. Host létrehozása és telepítése

6.1 Új host hozzáadása

Foreman → Hosts → All Hosts → Create Host menüpontban adjunk hozzá egy új host-ot:

MezőÉrték
Host nametestvm
Domainexample.com
Host GroupMain
Environmentproduction
Subnet10.10.10.0/24
IP address10.10.10.100
MAC address02:aa:d4:a1:a3:43
Build✓ (bejelölni)

6.2 Host mentése és telepítés indítása

Miután mentettük a host-ot, a „Reboot” vagy „Power On” opcióval elindítható a telepítés. A Foreman a PXE boot-ot meghagyta, és az alhálózat DHCP proxy-jában a szükséges konfigurációt létrehozta.

testvm hoszt részletes nézete a Foreman-ben

7. Valós infrastruktúra példa: XORP

Az XORP infrastruktúrában az alábbi értékek vannak használatban:

ParaméterÉrték
Foreman szerverxorp-foreman.xorp.hu
Smart Proxy (PXE/TFTP)xorp-foreman.xorp.hu
DHCP proxyxorp-foreman.xorp.hu
Domainxorp.hu
Alhálózat10.0.7.0/24 (DC -Test VM)
Telepítési médiahttp://xorp-foreman.xorp.hu/pub/installation_media/ubuntu/24.04-x86_64/
OSUbuntu 24.04.1 LTS
HosztcsoportXorp-Main
Sablon csomagXORP-os módosítások
Teszt hosttestvm.xorp.hu (10.0.7.192, MAC: 02:aa:d4:a1:a3:43)

testvm host adatai:

  • Hostname: testvm.xorp.hu
  • IP cím: 10.0.7.192
  • MAC cím: 02:aa:d4:a1:a3:43
  • Hosztcsoport: Xorp-Main
  • OS: Ubuntu 24.04.1 LTS
  • Boot módszer: PXE Grub2 (UEFI)
  • Preseed sablon: Preseed default autoinstall XORP

8. Hibaelhárítás

8.1 PXE boot nem indul

  • Ellenőrzend a DHCP proxy beállítása az alhálózatban
  • Nézze meg a Smart Proxy TFTP logját: /var/log/foreman-proxy/tftp.log
  • Ellenőrizze az alhálózat DHCP beállítása

8.2 Subiquity keyboard bug (LP#1621378)

Ha a telepítés „toggle: null” hibával leáll, az a Subiquity keyboard konfigurációs probléma. A megoldás: a user_data sablon cloud-init konfigurációjában távolítsuk el a „keyboard:” sort, és helyette a late-command-ban futtatjuk a localectl parancsot.

8.3 ISO extrakció

Az ISO fájlt az alábbiak szerint lehet kicsomagolni (NEM mount, hanem kicsomagolás):

7z x ubuntu-24.04.1-live-server-amd64.iso -o/var/lib/foreman/public/pub/installation_media/ubuntu/24.04-x86_64/

# vagy

xorriso -osirrox on -indev ubuntu-24.04.1-live-server-amd64.iso -extract / /var/lib/foreman/public/pub/installation_media/ubuntu/24.04-x86_64/

9. Zárszó

A Foreman TFTP/PXE alapú Ubuntu 24.04 LTS telepítésének beüzemelése egy jól strukturált folyamat, amely megkönnyíti a nagyobb infrastruktúrák automatizált szervezetbe helyezését. Az XORP-ban használt egyedi sablonok és beállítások jó kezdőpont lehet saját infrastruktúra beállításához.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük