Nesse artigo você vai aprender como o Linux trata seus dispositivos de armazenamento em massa, assim como é a nomenclatura que ele utiliza para a administração desses dispositivos.
Os dispositivos de armazenamento em massa, seja para Linux ou qualquer outro sistema operacional, mais encontrados atualmente no mercado são os drives de discos rígidos (Hard Disk Drive ou HDD), discos ópticos (Optical Disk Drive), disco de estado sólido (Solid State Disk ou SSD) e os pendrives USB.
Uma curiosidade é que não é comum, no exterior, falantes nativos do inglês dizerem pen drive, essa palavra é, na verdade, uma expressão criada no Brasil, ou seja, “lá fora” esses dispositivos são mais conhecidos como USB Flash drive.
Com relação às tecnologias utilizadas para a conexão de discos ao computador, as principais são: IDE (Integrated Drive Eletronics), SATA (Serial Advanced Attachment), SCSI (Small Computer System Interface) e SAS (Serial Attached SCSI).
A nomenclatura IDE x ATA x PATA x SATA tem uma correlação, por exemplo, a interface de conexão SATA é a tecnologia sucessora da antiga ATA (Advanced Technology Attachment), a qual foi criada em 1984 pela IBM. Inicialmente, o padrão ATA também era conhecido como IDE.
Com o surgimento do SATA, o antigo padrão foi renomeado para PATA (Parallel ATA), de forma a diferenciar as duas tecnologias.
Vamos nos concentrar primeiro no padrão IDE, que permite quatro configurações diferentes.
Apesar de ter chegado ao mercado no século passado, ainda pode ser atualmente encontrado em muitas máquinas.
Cada controladora pode abrigar, no máximo, dois dispositivos (master/slave).
Nossa missão agora é entender como o Linux “enxerga” tais dispositivos e, principalmente, conseguir interpretar as informações que nos são mostradas. Vamos à nomenclatura:
- /dev/hda (Primeiro canal, master primário)
- /dev/hdb (Primeiro canal, slave primário)
- /dev/hdc (Segundo canal, master secundário)
- /dev/hdd (Segundo canal, slave secundário
De posse tais informações, podemos responder a algumas questões interessantes.
- Se tivermos dois discos master (um na primeira e outro na segunda controladora) e nenhum slave, o sistema irá reconhece-los como /dev/hda e /dev/hdc (ou seja, pula-se o “b”).
- Já as partições dos discos são identificadas por números, por exemplo, hda1 refere-se a primeira partição do disco master do primeiro canal IDE.
Os dispositivos SATA são a evolução natural dos dispositivos IDE.
Essa controladora foi criada em 2000 e, por isso, é um dos padrões que você mais verá na prática. Dentre outras características, esses dispositivos podem ser trocados com o computador ligado (recurso hot-swap).
A maioria dos drives SATA no Linux são tratados como se fossem discos SCSI e os nomeiam de acordo esse padrão.
Já os dispositivos SCSI são mais utilizados em servidores e máquinas de alto desempenho, por se tratar de uma tecnologia mais sofisticada (mais velocidade e robustez).
Em um único barramento, é possível conectar sete HDs SCSI. Entretanto, o próprio padrão SCSI já possui um sucessor: o SAS (mais rápido, flexível, escalável e eficiente).
Agora, nos resta saber como o Linux “enxerga” estes dispositivos:
- /dev/sda (disco 1)
- /dev/sdb (disco 2)
- /dev/sdc (disco 3)
- /dev/sdd (disco 4) e assim sucessivamente …
Pode acontecer do kernel Linux (se for configurado para tal) identificar dispositivos IDE como SATA.
Mas, atente-se: apesar dos nomes serem prefixados com as letras “sd”, ainda assim será respeitado o esquema de nomes na vibe do master/slave (se estiver no primeiro canal IDE, será sda para master e sdb para slave, por exemplo).
Todos os dispositivos SCSI conectados ao sistema são listados em /proc/scsi/scsi e identificados por três números: Channel (número do canal. Se de 8 bits, podem ser utilizados 7 dispositivos + controladora. Se de 16 bits, quinze dispositivos + controladora), ID do dispositivo (identifica individualmente um dispositivo) e Lun.
Essas informações podem ser obtidas através dos comandos lsscsi, scsi_info ou cat /proc/scsi/scsi. Repare abaixo a saída do comando cat:
dltec@cursolpic101:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 ID: 00 Lun: 00
Vendor: ATA Model: TOSHIBA MQ01AD0 Ver: 1ª
Type: Direct-Access ANSI SCSI revision: 05
Cada dispositivo deve ser identificado de maneira inequívoca. Por isso, lhe é atribuído um número ID único, iniciando em 0 e terminando em 7 (para SCSI que possuem canal de 8 bits) ou em 15 (para SCSI de 16 bits).
O primeiro dispositivo sempre receberá o valor 0. O campo Lun representa o número da unidade lógica. Caso vários dispositivos estejam configurados em um mesmo canal SCSI, o Lun identifica o dispositivo individualmente.
Atualmente não é muito utilizado, já que os adaptadores SCSI estão mais baratos e podem comportar mais alvos por barramento.
Se você ainda tiver a chance de se deparar com uma unidade de disquetes, lembre-se que o Linux o “enxerga” como /dev/fd0 (primeira unidade). Se houver a segunda unidade, /dev/fd1.
E se você também se deparar com drivers de fita SCSI, saiba que são reconhecidos como /dev/ft0(1, 2, 3…). Para dispositivos que utilizam porta serial, a nomenclatura é: /dev/ttyS0 (1, 2, 3…).
Outra consideração é a respeito dos CD-ROM SCSI/SATA, se na máquina houver apenas um dispositivo CD-ROM, este será reconhecido como /dev/sr0. Se houver outro, /dev/sr1. Sempre será criado o arquivo de bloco correspondente em /dev/sr (0, 1, 2, 3.. ).
É isso aí, então chegamos ao final de mais um artigo sobre Linux em nosso blog e mais uma vez esperamos ter agregado conhecimento útil para você!
Muito obrigado pela visita, pela leitura e até uma próxima!