Dieser Artikel ist eine Fortsetzung von Teil 1. Raspberry PI Hier geht es darum, ein alternatives System mit PiServer zu erstellen, einer Software, die sicher mit vielen Menschen in Kontakt kommt, die Versuch und Irrtum haben, ein plattenloser Client zu werden. Wenn Sie das Problem haben, dass Ihr Raspeltorte von PiServer nicht erkannt wird, lesen Sie bitte Teil 1.
Offizielle Ankündigung ist hier (Englisch). Wenn Sie einen PC mit Raspberry PI Desktop verwenden, können Sie Raspberry 3B oder höher plattenlos machen.
Da der Raspeltorte ursprünglich zu Bildungszwecken hergestellt wurde, verwendeten die Schüler im Klassenzimmer eine große Anzahl von scheibenlosen Raspeltorten. Es scheint, dass der Lehrer in einer Umgebung erstellt wurde, in der derselbe Bildschirm auf einem PC angezeigt wird.
Als ich die im GitHub Piserver Repository veröffentlichte Quelle überprüfte, fand ich die C ++ - Quelle der Verwaltungs-GUI und verschiedene Bash-Skripte. Der GUI-Teil konnte auf der x86_64-Version von ArchLinux kompiliert und ausgeführt werden, sodass sich herausstellte, dass Raspberry PI Desktop nicht verwendet werden musste. Sobald das im PiServer-Repository veröffentlichte Bash-Skript portiert wurde, können alle verbleibenden Funktionen mit nur dnsmasq + OpenLDAP + qemu-user-static realisiert werden.
Erst neulich kündigte der offizielle Raspberry [Make Raspberry PI OS 64bit] an (https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370) und verwaltete die 64-Bit-Distribution. Wenn Sie PiServer nicht können, müssen Sie aufgeben. Denken wir also über eine Methode zum Aufbau eines alternativen Systems nach.
(Referenz: https://japan.zdnet.com/article/20089685/)
Um das obige Verfahren zu realisieren, ist es daher erforderlich, mindestens die folgende Umgebung vorzubereiten, und ein Server mit diesen drei Funktionen wird manchmal als "PXE-Server" bezeichnet.
Ursprünglich werden plattenlose Clients normalerweise für Anwendungen verwendet, in denen viele Benutzer dieselbe Umgebung verwenden, z. B. Studententerminals in Bildungseinrichtungen und Business-Terminals für die Dateneingabe.
Da der letztendliche Zweck dieses Artikels darin besteht, eine persönliche verteilte Verarbeitungsumgebung zu erstellen, werden die Inhalte der folgenden drei Server nicht beschrieben. DNS ist übrigens erforderlich, wenn die Anzahl der Clients 100 überschreitet. Wenn die Anzahl der Clients jedoch weniger als 10 beträgt, ist die Namensauflösung durch die Datei / etc / hosts ausreichend, und diese Datei kann auf dem NFS-Server freigegeben werden. Du brauchst es nicht. Übrigens benötigen Sie in einer verteilten Umgebung, die nur Sie verwenden, keinen Authentifizierungsserver, und Sie benötigen ihn nicht, da Sie die Datei / etc / passwd freigeben können.
Das Erstellen eines DHCP-, TFTP- oder DNS-Servers mit individueller Software wie dhcpd, atftpd oder bind ist umständlich und zeitaufwändig. Daher wird eine Software namens dnsmasq eingeführt, die auch in PiServer verwendet wird. Ursprünglich begann diese Software mit der Entwicklung als DNS-Cache-Server, aber es ist keine Übertreibung zu sagen, dass es sich um eine Software handelt, die auf den Aufbau eines PXE-Servers spezialisiert ist, da sie die Funktionen des TFTP-Servers und des DHCP-Servers integriert hat, bevor ich es wusste. Machen wir das. Natürlich werde ich diese Software verwenden. Verwenden Sie jedoch nicht DNS, da dies der ursprüngliche Zweck ist.
Von nun an wird der x86_64-Computer, auf dem dnsmasq ausgeführt wird, als "PXE-Server" bezeichnet.
In PiServer wurden alle Funktionen gepackt, um "komplett mit einem PC" zu verkaufen. Aus Sicherheitsgründen ist es jedoch besser, die NFS-Serverfunktion in einen anderen Computer zu unterteilen. Dies liegt daran, dass die folgenden Situationen auftreten können, wenn der PXE-Server gleichzeitig als NFS-Server fungiert.
Wenn Sie bereits einen Dateiserver haben, der NFS unterstützt, ist dieses System robuster, da es mit RAID, GlusterFS usw. redundant ist. Es gibt kein Problem, wenn die von tftp verteilten Boot-bezogenen Dateien auch NFS vom PXE-Server gemountet werden. Ich denke jedoch, dass es besser ist, einen Computer mit schnellem Festplattenzugriff zu verwenden.
Im Folgenden wird eine Maschine mit NFS-Funktion als "NFS-Server" bezeichnet.
[^ Grund]: Wenn Sie einen vorhandenen Dateiserver haben, ist dieser mit RAID, GlusterFS usw. redundant.
Sie können dies manuell tun. Möglicherweise kann es jedoch automatisiert werden, indem das auf GitHub von PiServer veröffentlichte Bash-Skript für den Betriebssystemimport geändert wird.
Festplattenlose Clients stellen das Root-Dateisystem schreibgeschützt bereit, sodass Sie das Betriebssystem nicht von der Clientseite aus aktualisieren können. Sie müssen das Betriebssystem auf der PXE- oder NFS-Serverseite aktualisieren. Die Umgebung, die Sie dieses Mal erstellen möchten, sollte jedoch ein ARM auf der Clientseite und ein x86_64-Computer auf der Serverseite sein. Dort brauchen Sie einen Emulator.
Diese Methode ist auch in PiServer implementiert, aber der Emulator qemu (Benutzermodus statisch), die binfmt-Unterstützung und chroot erleichtern die Steuerung des an Clients verteilten Betriebssystems. Weitere Informationen finden Sie hier [http://blog.kmckk.com/archives/2342452.html].
Auf Debian-Systemen müssen Sie nur das qemu-user-static-Paket installieren, und unter ArchLinux müssen Sie es selbst mit AUR kompilieren.
Wenn Sie 10 oder weniger Raspeltorten haben, ist es keine große Sache, diese einzeln mit der in Mein vorheriger Artikel beschriebenen Methode zu überprüfen.
Da es sich um eine Gruppe von Clients handelt, die nur ich verwende, muss ich sie nicht verwalten, daher werde ich sie weglassen.
--Benutzerverwaltung von / etc / passwd + / etc / shadow mit NFS-Freigabe --Dnqmasqs DHCP-Funktion löst + / etc / hosts auf, die jedem Raspetorte eine feste IP mit einer NFS-Freigabe zuweisen
Alles wird dadurch gelöst.
Der Autor beschließt, eine solche Umgebung zu erstellen. Der PXE-Server, der NFS-Server und der Controller können zu einer Einheit zusammengefasst werden, oder die Subnetze dürfen nicht getrennt werden.
Das war's für diese Zeit. Nächstes Mal möchte dnsmasq tatsächlich auf dem x86_64-Linux-Computer installieren und konfigurieren.