Wie viele Benutzerkonten kann ein Unix-ähnliches Betriebssystem hosten?


13

Angenommen, ich möchte einen Server mit möglichst vielen Benutzerkonten haben. Wie viele ist die max?

Ich möchte Millionen von Benutzerkonten. Ist das verrückt Ich würde Dutzende von Load-Balance-Spiegeln der Box hosten, und Benutzerdaten würden auf einer hochverfügbaren Speicherfreigabe gespeichert, während alle anderen Daten als flüchtig angenommen werden.


"I want millions of user accounts. Is that crazy?"- Ja. Verwenden Sie ein Verzeichnis für so viele Benutzer, nicht Dutzende von Spiegeln für so viele Benutzer.
MDMarra

Antworten:


22

Theoretisch können Sie so viele Benutzer haben, wie der Benutzer-ID-Bereich unterstützt. Um dies auf einem bestimmten System festzustellen, lesen Sie die Definition des uid_tTyps. Es ist in der Regel definiert unsigned intoder intwas bedeutet , dass auf 32-Bit - Plattformen , die Sie auf fast 4,3 Milliarden Benutzer erstellen können. Auf 64-Bit-Plattformen können Sie mehr als 16e18 verschiedene Benutzer-IDs haben.

Andere Ressourcen können jedoch erschöpft sein, bevor Sie dieses Limit erreichen, z. B. Speicherplatz. Wenn Sie für jeden Benutzer ein Basisverzeichnis erstellen, benötigen Sie sogar mit nur 1 MB Speicherplatz für jeden Benutzer mehr als 4 PB Speicherplatz. Außerdem kann eine große Anzahl von Benutzern, die Prozesse im Hintergrund laufen lassen, Cron-Jobs planen, FTP- und / oder SSH-Sitzungen eröffnen, das System stark belasten.


1
+1 für die Erwähnung von Ressourcen ... Andererseits ermöglichen Unix-ähnliche Systeme verrückte Hardwarekonfigurationen.
HTDutchy

8

Bis der UID-Speicherplatz erschöpft ist. In modernen Systemen werden vorzeichenlose 32-Bit-Ganzzahlen verwendet, wobei 65535 und 4294967295 magische Werte für "any" / "unknown" / usw. Sind. Daher ist Platz für 4294967294 gleichzeitige unterschiedliche Benutzer. Ältere Systeme zeigen möglicherweise noch 16-Bit-Ganzzahlen ohne Vorzeichen an.


1

Andere Antworten haben buchstäblich auf die Frage von OP nach bestimmten Grenzen geantwortet. Angesichts der Tatsache, dass SF auch als langfristige Referenz dient, halte ich es für wichtig, auf eine sehr wichtige Einschränkung des von Ihnen in Betracht gezogenen Ansatzes hinzuweisen.

Sie möchten einen Verzeichnisdienst zum Verwalten von Benutzerkonten in dieser Größenordnung verwenden. Es ist genau das Problem, für das Verzeichnisdienste (z. B. OpenLDAP, Active Directory usw.) entwickelt wurden.

Die Verwendung von "Standard" [1] -Unix-Benutzertools zum Verwalten von mehr als einer Handvoll lokaler Benutzerkonten ist ein abgenutzter, schmerzhafter Weg, der sich nicht leicht skalieren lässt und - Ihrer Problembeschreibung nach - aller Wahrscheinlichkeit nach zu einem signifikanten Ergebnis führt Neuarchitektur der von Ihnen gewählten Lösung, wenn diese bei mehreren Servern nicht horizontal skaliert werden kann.

[1] Sie funktionieren im Allgemeinen sehr ähnlich, aber die genauen Beschwörungsformeln variieren von Plattform zu Plattform, sind manchmal auch in Linux-Distributionen mit ähnlichem Erbe unterschiedlich und werden natürlich regelmäßig mit OS-Release-Versionen geändert. Vorbehalt Emptor.


0

Wie oben beschrieben, sind Sie theoretisch durch die vorzeichenlose int-Größe der UID begrenzt, werden jedoch höchstwahrscheinlich vor Erreichen dieser Grenze durch Ressourcen eingeschränkt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.