Quantidade máxima de discos rígidos no Linux de 64 bits?

7

Existe uma quantidade máxima de discos rígidos que podem ser conectados a uma máquina linux de 64 bits? Não estou preocupado com a praticidade, pois minha situação envolve uma VM.

    
por monksy 29.03.2012 / 20:17

3 respostas

9

De este post do LinuxQuestions :

Linux does not put arbitrary limits on the number of hard disks.

Além disso, de esta postagem na lista de discussão do Debian :

That's easy. After /dev/sdz comes /dev/sdaa. And, I've just tested it by making and logging into 800 ISCSI targets on my laptop, after /dev/sdzz comes /dev/sdaaa. :)

e esta postagem do blog :

For SATA and SCSI drives under a modern Linux kernel, the same as above applies except that the code to derive names works properly beyond sdzzz up to (in theory) sd followed by 29 z‘s!

Então, teoricamente, existem limites, mas na prática eles são inacessíveis.

    
por 29.03.2012 / 20:37
1

Existe, na verdade, um limite no número de unidades expostas pelo subsistema SCSI abstrato do Linux, que inclui unidades SATA e USB. Isso ocorre porque os arquivos do dispositivo são marcados por pares de números de dispositivos maiores / menores e o esquema alocado para o subsistema SCSI tem esse limite implícito.

link

Os seguintes opcodes principais são alocados: 8, 65 a 71 e 128 a 135, resultando em um total de 16 blocos alocados. O código de operação secundário é limitado a 256 valores possíveis (faixa de 0,255). Cada disco recebe 16 opcodes secundários consecutivos onde o primeiro representa o disco inteiro e os próximos 15 representam partições.

let major = number of major allocated opcodes = 16
let minor = number of minor opcodes per major opcode = 256
let parts = number of minor opcodes per disk = 16
major * (minor / parts) = 16 * (256 / 16) = 256 possible drives

Eu já vi pessoas escreverem 128 como o limite. Acredito no Linux mais recentemente 128..135, o que explicaria a discrepância.

O esquema de nomenclatura ( /dev/sdbz7 ) é escolhido pelo userland, não pelo kernel do Linux. Na maioria dos casos, eles são gerenciados pelo udev, eudev ou mdev (embora no passado tenham sido criados manualmente). Eu não sei seus esquemas de nomeação. Não confie necessariamente em todos os dispositivos de nomes de sistemas baseados no Linux da mesma maneira, pois o administrador do sistema pode modificar as políticas de nomenclatura de dispositivos.

    
por 27.06.2015 / 08:12
1

A página Recursos e limites da tecnologia RHEL sugere pelo menos 10000 com um kernel recente o suficiente (veja o número de caminhos do dispositivo ("sd" dispositivos) 'linha). Este valor é maior que o mencionado por @ luiji-maryo porque:

  1. Se configurado para ser permitido, um dispositivo pode receber um número maior / menor dinamicamente (consulte link para detalhes).
  2. Menores números de dispositivos do Linux podem ser muito maiores do que um valor de 8 bits .

Uma maneira de mostrar isso a si mesmo é usando o módulo scsi_debug :

modprobe scsi_debug max_luns=10 num_tgts=128

Após uma breve espera na distribuição Linux mainstream, você deve ter mais 1280 discos SCSI. Você pode usar

ls -l <pathtodisk>

para ver seus números principais / secundários.

NB (1): o software de virtualização normalmente tem muito menos (em centenas ou menos, por exemplo, limites do vSphere 6.0 ) limita o número máximo de controladores que podem ser anexados à VM e o número máximo de discos que você pode desligar desses controladores, então é improvável que você atinja os limites do Linux dessa maneira.

NB (2): Ambos BSG e SG se limitam (via BSG_MAX_DEVS e SG_MAX_DEVS respectivamente) para um máximo de 32768 dispositivos. Mesmo que você não precise de / dev / entries para os discos, você teria dificuldade em enviar comandos SCSI mais especializados sem esses dispositivos extras.

    
por 19.10.2016 / 14:04