# LUN

Número de Unidade Lógica (LUN, acrônimo do inglês Logical Unit Number), em armazenamento de dados, é o número usado para identificar uma unidade lógica de um dispositivo endereçável através do protocolo SCSI ou protocolos SAN, que encapsulam SCSI, como Fibre Channel ou iSCSI.
Uma LUN pode ser usada com qualquer dispositivo que suporta operações de leitura/escrita, como unidade de fita, mas é frequentemente usada para se referir a discos lógicos como os criados em uma SAN. Embora não seja tecnicamente correto, o termo "LUN" é comumente usado para se referir ao próprio disco lógico.

## Exemplos

Para fornecer um exemplo prático, uma típica unidade de vários discos possui várias portas físicas SCSI, cada uma com um endereço target SCSI atribuído. Um administrador pode formatar o array de discos como um RAID e, em seguida, particionar este RAID em vários volumes de armazenamento separados. Para representar cada volume, um target SCSI é configurado para fornecer uma unidade lógica. Cada alvo SCSI pode fornecer várias unidades lógicas e, portanto, representar múltiplos volumes, mas isso não significa que esses volumes são concatenados. O computador que acessa um volume no array de discos identifica qual volume ler ou escrever por meio do o LUN da unidade lógica associada.
Em outro exemplo: uma única unidade de disco possui uma porta SCSI física. Geralmente, fornece apenas um único target, o que geralmente fornece apenas uma única unidade lógica cujo LUN é zero. Essa unidade lógica representa todo o armazenamento da unidade de disco.

## Uso

Como selecionar um LUN: Nas versões iniciais do SCSI, um iniciador entrega um Command Descriptor Block (CDB) para um target (unidade física) e dentro do CDB é um campo LUN de 3 bits para identificar a unidade lógica dentro do target. No SCSI atual, o iniciador entrega o CDB a uma unidade lógica particular, então o LUN aparece nas estruturas de dados da camada de transporte e não no CDB.
LUN vs. ID do dispositivo SCSI: O LUN não é a única maneira de identificar uma unidade lógica. Há também o ID do dispositivo SCSI, que identifica uma unidade lógica única no mundo. Os labels/rótulos ou números de série armazenados no volume de armazenamento de uma unidade lógica geralmente servem para identificar a unidade lógica. No entanto, o LUN é o único caminho para um iniciador endereçar um comando para uma unidade lógica específica, então os iniciadores geralmente criam, através de um processo de descoberta, uma tabela de mapeamento de LUN para outros identificadores.
Sensível ao contexto: O LUN identifica uma unidade lógica somente no contexto de um iniciador particular. Portanto, dois computadores que acessam o mesmo volume de disco podem conhecê-lo por diferentes LUNs.
LUN 0: Existe um LUN que é necessário para existir em cada target: zero. A unidade lógica com LUN zero é considerada especial por ela implementar alguns comandos específicos, principalmente LUNs de relatório, que é como um iniciador pode descobrir todos os outros LUNs no alvo. Mas o LUN zero não precisa fornecer outros serviços, como um volume de armazenamento.
Muitos target SCSI contêm apenas uma unidade lógica (portanto, o LUN é necessariamente zero). Outros têm um pequeno número de unidades lógicas que correspondem a dispositivos físicos separados e têm LUNs fixos. Um grande sistema de armazenamento pode ter até milhares de unidades lógicas, definidas logicamente por comando administrativo, e o administrador pode escolher o LUN ou o sistema pode escolhê-lo.

## Nomenclatura cXtXdXsX em Unix

Da perspectiva do computador, SCSI LUN é apenas uma parte do completo endereçamento SCSI. O completo endereçamento de dispositivos é feito com:
* parte c: ID do controlador do of the adaptador de host,
* parte t: ID do target identificando o SCSI target no controlador,
* parte d: ID do disco identificando o LUN no target,
* parte s: ID da partição identificando uma parte específica do disco.
Na família de sistemas operacionais Unix, esses IDs são frequentemente combinados num "nome" simples. Por exemplo, /dev/dsk/c1t2d3s4 poderia se referir ao controlador 1, target 2, disco 3, partição 4. Atualmente Solaris, HP-UX, NCR e outros continuam a usar a nomenclatura "cXtXdXsX", enquanto IBM AIX abandonou-a em favor de nomes mais familiares.

## Outros usos

O termo número de unidade lógica também se aplica a canais de acesso de entrada/saída dentro de certas linguagens de programação.