Quantas contas de usuário pode hospedar um sistema operacional semelhante ao Unix? [duplicado]


13

Digamos que eu quero ter um servidor com o maior número possível de contas de usuário. Quanto é o máximo?

Eu quero milhões de contas de usuário. Isso é loucura? Eu hospedaria dezenas de espelhos de balanceamento de carga da caixa, e os dados do usuário seriam armazenados em um compartilhamento de armazenamento altamente disponível, enquanto todos os outros dados são considerados voláteis.


"I want millions of user accounts. Is that crazy?"- Sim. Use um diretório para muitos usuários, não dezenas de espelhos para muitos usuários.
MDMarra

Respostas:


22

Teoricamente, você pode ter quantos usuários o espaço do ID do usuário suportar. Para determinar isso em um sistema específico, verifique a definição do uid_ttipo. Geralmente, é definido como unsigned intou intsignificando que nas plataformas de 32 bits você pode criar até quase 4,3 bilhões de usuários. Em plataformas de 64 bits, você pode ter mais de 16e18 IDs de usuário diferentes.

No entanto, outros recursos podem se esgotar antes de você atingir esse limite, por exemplo, espaço em disco. Se você criar um diretório inicial para cada usuário, mesmo com apenas 1 MB de espaço para cada usuário, precisará de mais de 4PBs de armazenamento. Além disso, um grande número de usuários deixando os processos em execução em segundo plano, agendando tarefas cron, abrindo sessões ftp e / ou ssh pode criar uma carga grave no sistema.


1
+1 por mencionar recursos ... Por outro lado, sistemas unix-like permitem configurações insanas de hardware.
precisa

Você tem certeza da diferença de 32 ou 64 bits? Você pode adicionar uma referência? Aqui está o que eu acho 1 e 2
malat 28/01

8

Até que o espaço do UID esteja esgotado. Os sistemas contemporâneos usam números inteiros não assinados de 32 bits, com 65535 e 4294967295 sendo valores mágicos para "any" / "unknown" / etc., Portanto, há espaço para 4294967294 usuários distintos simultâneos. Os sistemas mais antigos ainda podem mostrar números inteiros não assinados de 16 bits.


1

Outras respostas responderam literalmente à pergunta do OP sobre limites específicos. Dada a natureza do SF como uma referência de longo prazo, acho importante ressaltar uma advertência muito importante sobre a abordagem que você está contemplando.

Você deseja usar um serviço de diretório para gerenciar contas de usuário nessa escala. É exatamente o problema para o qual os serviços de diretório [por exemplo, OpenLDAP, Active Directory, etc.] foram projetados.

O uso de ferramentas de usuário "padrão" [1] do Unix para gerenciar mais de um punhado de contas de usuários locais é um caminho desgastado e cheio de dor, não será dimensionado com muita facilidade e - dada a descrição do seu problema - provavelmente levará a uma significativa reestruturar sua solução escolhida quando, na verdade, ela não é dimensionada horizontalmente com vários servidores.

[1] Eles geralmente funcionam de maneira muito semelhante, mas os encantamentos exatos variam de plataforma para plataforma, são diferentes às vezes até em distros Linux herdadas semelhantes e, é claro, são alteradas regularmente nas versões de lançamento do SO. Advertência emptor.


0

Como acima, você está limitado pelo tamanho int não assinado do UID teoricamente, mas provavelmente será restringido por recursos no momento antes de atingir o referido limite.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.