скільки облікових записів користувачів може розміщувати unix-подібний ОС? [дублікат]


13

Скажімо, я хочу мати сервер із якомога більшою кількістю облікових записів користувачів. Скільки становить макс?

Я хочу мільйони облікових записів користувачів. Це божевільний? Я б розмістив десятки дзеркал балансу навантаження в полі, і дані користувачів зберігалися б на високодоступній загальній сховищі, тоді як всі інші дані вважаються мінливими.


"I want millions of user accounts. Is that crazy?"- Так. Використовуйте каталог для цієї кількості користувачів, а не десятки дзеркал для багатьох користувачів.
MDMarra

Чи відповідає це на ваше запитання? Максимальна кількість користувачів в Linux
malat

Відповіді:


22

Теоретично у вас може бути стільки користувачів, скільки підтримується простір ідентифікаторів користувача. Щоб визначити це в певній системі, ознайомтеся з визначенням uid_tтипу. Зазвичай визначається як unsigned intабо intозначає, що на 32-бітних платформах можна створити майже 4,3 мільярда користувачів. На 64-бітних платформах ви можете мати більше 16e18 різних ідентифікаторів користувачів.

Однак інші ресурси можуть вичерпатися до досягнення цієї межі, наприклад, місце на диску. Якщо ви створюєте домашній каталог для кожного користувача, то навіть маючи лише 1 МБ місця для кожного користувача, вам потрібно понад 4 ПБ пам’яті. Крім того, велика кількість користувачів, які залишають процеси, що працюють у фоновому режимі, планування завдань cron, відкриття ftp та / або ssh сесій можуть створити серйозну навантаження на систему.


1
+1 для згадування ресурсів ... Потім знову схожі на Unix системи дозволяють отримати шалені конфігурації обладнання.
HTDutchy

Ви впевнені в різниці між 32-бітними та 64-розрядними? Чи можете ви додати посилання? Ось, що я знаходжу 1 і 2
malat

8

Доти, поки не буде вичерпано простір UID. Сучасні системи використовують 32-бітні цілі числа, не підписані, при цьому 65535 і 4294967295 є магічними значеннями для "будь-якого" / "невідомого" / і т. Д., Тож є місце для 4294967294 одночасно різних користувачів. Старіші системи все ще можуть показувати 16-бітні цілі числа, не підписані.


1

Інші відповіді буквально відповіли на питання ОП щодо конкретних меж. Враховуючи природу СФ як довгострокову орієнтир, я думаю, що важливо вказати на дуже важливий застереження щодо підходу, який ви розмірковуєте.

Ви хочете використовувати службу каталогів для управління обліковими записами користувачів у такому масштабі. Саме ця проблема була розроблена для служб каталогів (наприклад, OpenLDAP, Active Directory та ін.).

Використання "стандартних" [1] інструментів користувача Unix для управління більш ніж декількома локальними обліковими записами користувачів - це добре зношений шлях, що загрожує болем, не буде масштабуватися дуже легко і - враховуючи опис вашої проблеми -, швидше за все, призведе до значного ре-архітектура обраного рішення, коли воно насправді не горизонтально масштабується з декількох серверів.

[1] Вони, як правило, працюють дуже схоже, але точні розмаїття залежать від платформи до платформи, різняться іноді навіть у подібних спадських дистрибутивах Linux і, звичайно, регулярно змінюються за допомогою версій ОС. Caveat emptor.


0

Як зазначено вище, ви теоретично обмежені непідписаним INT розміром, але, швидше за все, обмежені ресурсами в даний час до досягнення зазначеного ліміту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.