[LINUX] Machen Sie den Computerserver mit LTSP plattenlos

Einführung

Ich verwalte einen Berechnungsserver für Studenten in einem bestimmten Labor einer bestimmten Universität. Die Wartung hat mit der Zunahme der Computerserver nicht Schritt gehalten, und auch die Software-Updates sind intensiv. Erstens ist die Wurzel allen Übels, dass das Betriebssystem auf jedem Server installiert ist. Reduzieren Sie die Verwaltungskosten mit dem PXE-Start (Preboot eXecution Environment), mit dem das Betriebssystem über das LAN gestartet wird. Verwenden Sie "Linux Terminal Server Project (LTSP)", um den Host zu verwalten.

Was können Sie mit PXE / LTSP tun?

https://ltsp.org/ Grob gesagt, was Sie tun können

Es ist sehr einfach, eine Kopie des konfigurierten Servers zu erstellen.

ist. Das Kopierziel-Betriebssystem muss nicht installiert werden. Es ist nicht erforderlich, zuerst SSH oder HDD einzurichten.

0. Vorbereitung

Dinge vorzubereiten

--LAN Umgebung

Umgebung

Für den PXE-Start sind DHCP-Einstellungen erforderlich. Dieses Mal verwenden wir jedoch eine Funktion namens DHCP-Proxy. Der mit dem Router gelieferte DHCP-Server wird unverändert verwendet, und es gibt keine speziellen Einstellungen.

In meiner Umgebung werden Konten von "NIS" und "NFS" verwaltet. Ich werde erklären, damit es auch ohne diese Managementsysteme verwendet werden kann. Unter dem Gesichtspunkt der Verfügbarkeit empfehlen wir jedoch die Verwendung von NIS oder NFS für die Kontoverwaltung und Datenredundanz.

In diesem Artikel werden wir den Betrieb auf "Ubuntu Server 18.04.3" überprüfen. Hosten Sie eine einigermaßen gute Workstation. Abhängigkeitsprobleme sind problematisch, daher beginne ich mit einer Neuinstallation.

Schließen Sie beim Bereitstellen einer GPU-Umgebung die GPU sowohl an den Host als auch an den Client an. Aufgrund des Komforts des GPU-Treibers kann es erforderlich sein, den sicheren Start des BIOS zu deaktivieren. Es funktioniert möglicherweise ohne GPU auf dem Host, ist jedoch nicht bestätigt.

Internet <--> Router(DHCP) <--(HUB)--> Host
                                |--> Client_1
                         NIS <--|--> Client_2
                         NFS <--|--> Client_n

1. Einführung von LTSP

Installation

Stellen Sie LTSP auf dem Hostcomputer bereit. Folgen Sie der LTSP-Installationsseite (https://ltsp.org/docs/installation/).

$ sudo apt -y purge --auto-remove indicator-application mate-hud snapd
$ sudo apt -y install synaptic
$ sudo add-apt-repository -y ppa:ltsp
$ sudo apt update
$ sudo apt -y install --install-recommends ltsp ltsp-binaries dnsmasq nfs-kernel-server openssh-server squashfs-tools ethtool net-tools epoptes

LTSP-Grundeinstellungen

Es gibt kleine Optionen, aber in den meisten Umgebungen sind die Standardeinstellungen in Ordnung. Weitere Informationen finden Sie auf der LTSP-Installationsseite (https://ltsp.org/docs/installation/) und in der Dokumentation (https://ltsp.org/man/).

$ sudo ltsp dnsmasq
$ sudo install -m 0660 -g sudo /usr/share/ltsp/common/ltsp/ltsp.conf /etc/ltsp/ltsp.conf
$ sudo ltsp image /
$ sudo ltsp ipxe
$ sudo ltsp nfs
$ sudo ltsp initrd

An diesem Punkt können Sie booten. Beginnen wir mit dem Client und prüfen, ob Sie sich anmelden können. Aktivieren Sie den Netzwerkstart (PXE BOOT) in den BIOS-Einstellungen und geben Sie dem LAN in der Startreihenfolge Priorität. Standardmäßig ist / home bereits mit NFS gemountet, sodass dies für Ihre Umgebung möglicherweise ausreichend ist.

2. SSH-Fernzugriffseinstellungen (Option)

Der Computerserver muss über SSH verbunden sein. Aktivieren Sie SSH und legen Sie die statische IP fest. Sie benötigen die MAC-Adresse jedes Servers.

Erstellen Sie einen SSH-Hostschlüssel für den Client

$ sudo mkdir -p /etc/ltsp/etc/ssh
$ sudo ssh-keygen -A -f /etc/ltsp
$ sudo mv /etc/ltsp/etc/ssh/ssh_host_* /etc/ltsp/ #Verschieben, da der Schlüssel nicht dort generiert wird, wo Sie es erwartet haben
$ sudo rm -r /etc/ltsp/etc/

SSH-Einstellungen hinzufügen

$ sudo vim /etc/ltsp/ltsp.conf
[clients]
KEEP_SYSTEM_SERVICES="ssh"
POST_INIT_CP_KEYS="mv /etc/ltsp/ssh_host_* /etc/ssh/"

Statische IP-Einstellungen für jeden Client hinzugefügt

$ sudo vim /etc/ltsp/ltsp.conf
[00:11:22:33:44:55]
HOSTNAME="client1"
KERNEL_PARAMETERS="ip=192.168.0.10:\${srv}:\${gateway}:\${netmask}"

3. GPU-Einstellungen (Option)

Wenn Sie die GPU von Nvidia verwenden, installieren Sie "nvidia-driver" auf Ihrem Host. Installieren Sie auch CUDA. Zu den LTSP-Einstellungen sind keine Ergänzungen erforderlich. Wenn ich das Display jedoch an die GPU anschließe, ragt der Bildschirm heraus. (Untersuchung läuft)

$ wget https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.105_418.39_linux.run
$ sudo sh cuda_10.1.105_418.39_linux.run --silent --driver --toolkit

4. NIS- und NFS-Einstellungen (Option)

Bitte konfigurieren Sie NIS auf dem Host. Konfigurieren Sie NFS nicht auf dem Host. Um NFS auf dem Client zu aktivieren, müssen Sie eine Beschreibung von FSTAB hinzufügen. Dieser Artikel Einstellungsnotiz für CentOS7 (neuer Laborserver) kann hilfreich sein.

$ sudo vim /etc/ltsp/ltsp.conf
[clients]
FSTAB_HOME="file-server:/home /home nfs defaults"

5. Betrieb

Wenn Sie die Hostumgebung oder die LTSP-Einstellungen ändern, müssen Sie Folgendes tun: Starten Sie dann den Client neu und er wird wirksam.

$ sudo ltsp image /
$ sudo ltsp ipxe
$ sudo ltsp nfs
$ sudo ltsp initrd

schließlich

Ich werde hier ein Memorandum schreiben, um es meinem Nachfolger zu übergeben. Wenn Sie Fragen oder Fehler haben, hinterlassen Sie bitte einen Kommentar.

Recommended Posts

Machen Sie den Computerserver mit LTSP plattenlos
Machen Sie PLEN Control Server kompatibel mit ViVi PLEN2
TFTP-Server mit Docker
Bilden Sie Lambda-Schichten mit Lambda
Machen Sie eine Yuma mit Discord.py
So erstellen Sie einen HTTPS-Server mit Go / Gin
Proxyserver mit Docker
Erstellen Sie Folien mit iPython
Lokaler Server mit Python
Machen wir Othello mit wxPython
Machen Sie es mit der Syntax einfach
Erstelle Puyopuyo AI mit Python
Machen Sie eine Lotterie mit Python
Einfacher HTTP-Server mit Python
Serververwaltung mit Jupyter (1) -Import
Machen Sie ein Feuer mit kdeplot
Machen Sie Slack Chatbot mit Errbot