Update README

* Fix links and typos
This commit is contained in:
Tobias Stein 2022-05-01 22:41:46 +02:00
parent f9f023f3bc
commit 0df15e5da1
1 changed files with 38 additions and 36 deletions

View File

@ -1,13 +1,13 @@
# HW4F Netboot Installer
Server die automatische Installation über das Netzwerks von Ubuntu 20.04
im Rahmen des Projekts https://hardwareforfuture.de(**Hardware for Future**)
des https://dezentrale.space(dezentrale e.V).
im Rahmen des Projekts [https://hardwareforfuture.de](**Hardware for Future**)
des [https://dezentrale.space/](dezentrale e.V).
Für den Betrieb wird einmalig eine Internetverbindung benötigt.
Der Server wird über Ansible aufgesetzt.
Hierfür werden verschiedene Komponenten installiert,
u.a. FAI (Fully Automatic Installtion).
u.a. FAI (Fully Automatic Installation).
Mit dem Server wird ein Netz aufgespannt,
welches für den Anschluß des zu installierenden Rechner verwendet wird.
Wenn die Rechner mit dem Netzwerk verbunden sind,
@ -15,10 +15,10 @@ können sie über einen Netzwerkboot (F-Testen beim Start des Rechners) über PX
PXE lädt die erforderliche Dateien vom Server
und der FAI-Installer installiert dann Ubuntu auf den Rechner.
Es wird ein Nutzer *demo* angelegt.
Das Passwort ist *fai*.
Dieser Nutzer kann Administrationsrechte erlang
und es sollte nach der Anmeldung das Passwort dringenst geändert werden.
Es wird ein Nutzer `demo` angelegt.
Das Passwort ist `fai`.
Dieser Nutzer kann Administrationsrechte erlangen.
Das Passwort muss im Anschluss geändert werden.
## Voraussetzungen
@ -32,11 +32,11 @@ Zu installierende Clients:
* CPU mit x86-64 Unterstützung
* 512 MB RAM empfohlen
* mehr als 20 GB Festsplatte oder SSD
* PXE-fähig oder USB-Stick mit bootfähigen iPXE oder iPXE-CD zum Booten des Rechern
* PXE-fähig oder USB-Stick mit bootfähigen iPXE oder iPXE-CD zum Booten der Rechner
## Verwendung
Zunächst ansible für die automatische Installation
Zunächst Ansible für die automatische Installation
und Konfiguration aller Komponeten herunterladen:
```console
@ -44,7 +44,7 @@ apt install python3-pip
pip3 install ansible
```
Danach ein Playbook (z.B. *fai.yml*) anlegen
Danach ein Playbook (z.B. `fai.yml`) anlegen
und die grundlegende Parameter festlegen:
```yml
@ -77,7 +77,7 @@ ansible-playbook -i inventory/dezentrale.yml -K --check --diff -v fai.yml
### Virtuale Testinstanz
Für eine testweise Installation kann
https://www.vagrantup.com/(Vagrant) verwendet werden.
[https://www.vagrantup.com/](Vagrant) verwendet werden.
Es richtet anhand der *Vagrantfile* eine virtuelle Maschine ein
und provisioniert sie mittels Ansible.
Vagrant unterstützt verschiedene Provider für Virtualisierungslösungen
@ -116,23 +116,24 @@ und es mit dem zweiten Netzwerkport des FAI-Servers zu verbinden.
Über Ansible-Variablen kann die Installation noch weiter angepasst werden.
|**Variable** |**Bedeutung** |**Standard** |
|--- |--- |--- |
|dhcp_interface |NIC des Installtionnetzes. Muss gesetzt sein | |
|wan_interface |NIC zum Internet |eth0 |
|server_name |Server-Name |hw4f-fai |
|domain_name |Domain-Name des Netzes |local |
|server_ip |IP des Servers |`192.168.33.1` |
|server_netbits |Bits der Netzmaske |24 |
|server_netmask |Netzmaske |255.255.255.0 |
|apt_cacher_offline_mode |true, um nur den vorhanden Packet-Cache als Repository zu nutzen |false |
|debian_release |Debian Release, was für FAI genutzt werden soll. |buster |
|pxe_preselected_entry |Vorausgewählte iPXE-Eintag |`__exit` (von lokale Datenträger starten)|
|pxe_menu_timeout |Timeout für iPXE-Menu in Milisekunden |5000 |
|ipxe_additional_entries |Zusätzliche Einträge für iPXE-Menu |keine |
|use_apt_cache_for_server |Apt Cache für den Server selbst verwenden |false |
|fai_hw4f_profile_username |Desktop Benutzername |`user` |
|fai_hw4f_profile_password |Passwort der Benutzers |`fai` |
|**Variable** |**Bedeutung** |**Standard** |
|--- |--- |---------------------------------------- |
|dhcp_interface |NIC des Installtionnetzes (muss gesetzt sein) | |
|wan_interface |NIC zum Internet |`eth0` |
|server_name |Server-Name |hw4f-fai |
|domain_name |Domain-Name des Netzes |local |
|server_ip |IP des Servers |`192.168.33.1` |
|server_netbits |Bits der Netzmaske |`24 ` |
|server_netmask |Netzmaske |`255.255.255.0` |
|apt_cacher_offline_mode |true, um nur den vorhanden Packet-Cache als Repository zu nutzen|false |
|debian_release |Debian Release, was für FAI genutzt werden soll. |buster |
|pxe_preselected_entry |Vorausgewählte iPXE-Eintag |`__exit` (von lokale Datenträger starten)|
|pxe_menu_timeout |Timeout für iPXE-Menu in Milisekunden |5000 |
|ipxe_additional_entries |Zusätzliche Einträge für iPXE-Menu |keine |
|use_apt_cache_for_server |Apt Cache für den Server selbst verwenden |`false` |
|fai_hw4f_profile_username |Desktop Benutzername |`user` |
|fai_hw4f_profile_password |Passwort der Benutzers |`fai` |
Beispielsweise kann der Server mit obigen Playbook aufgesetzt werden,
eine Rechner mit Ubuntu installiert werden und
@ -158,7 +159,8 @@ ansible-playbook fai.yml
#### Zusätzliche Menü-Einträge im iPXE-Menü
Das vordefinierte Playbook für playbook-vagrant.yml(Vagrant) erhält bereits einen zusätzlichen Eintrag für Memtest.
Das vordefinierte Playbook für `playbook-vagrant.yml` (Vagrant)
enthält bereits einen zusätzlichen Eintrag für Memtest.
```
ipxe_additional_entries:
@ -175,7 +177,7 @@ ipxe_additional_entries:
# - initrd0.img
# - initrd1.img
# - ...
# multiboot:
# multiboot:
# - module0.img
# - module1.img
# - ...
@ -194,10 +196,10 @@ Es sind folgende Felder für jeden Boot-Eintrag möglich:
|**Feld** |**Beschreibung** |**iPXE-Argument** |
|--- |--- |--- |
|files |Dateien für den Eintrag | |
|kernel |Zu ladenden Kernel |`kernel` |
|kernel |Zu ladenden Kernel |`kernel` |
|args |Argumente des Kernel |an Kernel angehängt |
|initrd |InitRD-Images |`initrd` |
|multiboot |Images für Multiboot-Kernel |`multiboot` |
|initrd |InitRD-Images |`initrd` |
|multiboot |Images für Multiboot-Kernel |`multiboot` |
Der vorausgewählt Eintrag kann über `pxe_preselected_entry` mit dem Label ausgewählt werden.
Um FAI auszuwählen muss `__fai` gesetzt werden.
@ -219,6 +221,6 @@ Um FAI auszuwählen muss `__fai` gesetzt werden.
## Verweise
* https://fai-project.org(FAI Project)
* https://ipxe.org(iPXE)
* https://www.ansible.com(Ansible)
* [https://fai-project.org](FAI Project)
* [https://ipxe.org](iPXE)
* [https://www.ansible.com](Ansible)