できるだけ多くのユーザーアカウントを持つサーバーが必要だとしましょう。最大はいくつですか?
何百万ものユーザーアカウントが必要です。クレイジーですか?多数の負荷分散ミラーをホストし、ユーザーデータは可用性の高いストレージ共有に保存されますが、他のすべてのデータは揮発性であると想定されます。
できるだけ多くのユーザーアカウントを持つサーバーが必要だとしましょう。最大はいくつですか?
何百万ものユーザーアカウントが必要です。クレイジーですか?多数の負荷分散ミラーをホストし、ユーザーデータは可用性の高いストレージ共有に保存されますが、他のすべてのデータは揮発性であると想定されます。
回答:
理論的には、ユーザーIDスペースがサポートする数のユーザーを持つことができます。特定のシステムでこれを判断するには、uid_t
タイプの定義をチェックアウトします。これは通常のように定義されるunsigned int
か、int
32ビットプラットフォーム上で使用すると、ほとんど43億ユーザまで作成できることを意味します。64ビットプラットフォームでは、16e18を超える異なるユーザーIDを使用できます。
ただし、ディスク容量など、この制限に達する前に他のリソースが使い果たされる可能性があります。ユーザーごとにホームディレクトリを作成する場合、ユーザーごとに1 MBの空き容量がある場合でも、4 PBを超えるストレージが必要です。また、多数のユーザーがプロセスをバックグラウンドで実行したままにしたり、cronジョブをスケジュールしたり、ftpセッションやsshセッションを開いたりすると、システムに深刻な負荷がかかる可能性があります。
その他の回答は、特定の制限に関するOPの質問に文字通り回答しました。SFの性質も長期的な参照として与えられているので、考えているアプローチについて非常に重要な警告を指摘することが重要だと思います。
あなたは欲しい、この規模でユーザーアカウントを管理するためのディレクトリ・サービスを使用しているように。ディレクトリサービス[OpenLDAP、Active Directoryなど]が設計されたのはまさに問題です。
「標準」[1] Unixユーザーツールを使用して少数のローカルユーザーアカウントを管理することは、使い古された苦痛に満ちた経路であり、非常に簡単にスケーリングできません。実際に複数のサーバーで水平方向にスケーリングしない場合に、選択したソリューションを再設計します。
[1]それらは一般に非常によく似ていますが、正確な呪文はプラットフォームごとに異なり、類似の伝統的なLinuxディストリビューションでさえ時々異なり、もちろんOSリリースバージョンで定期的に変更されます。買い手責任負担。
"I want millions of user accounts. Is that crazy?"
- はい。この多数のユーザー用の多数のミラーではなく、この多数のユーザー用のディレクトリを使用します。