Como identificar os disco da Azure no Linux

Hoje, me deparei com o seguinte pensamento.

Quando eu crio um disco na Azure para um VM, como eu sei qual é esse disco no SO Linux? Ok, ok, eu sei, da pra usar o tamanho do disco, mas e se existir dois discos iguais? O que fazer?

Bem, a solução é mais louca do que parece.

Na Azure, os disco ganham uma identificação quando estão “alocados” a VM chama de LUN ID, em tradução livre Identificador numérico de unidade lógica.

Identificação dos discos de dados alocados na VM

No meu caso, eu tenho o identificado 0 para o disco alocado.

Com essa informação, dentro do SO, eu posso ir no diretório:

/dev/disk/azure/scsi1

Dentro deste diretório, se eu der um “ls”, consigo ver o seguinte link:

E agora, sabendo que estou procurando a lun0 (Porque lá atrás o identificador da LUN era o 0), consigo saber que ela corresponde atualmente ao disco “sdb”.

E assim, consigo usar o fdisk para localizar e trabalhar com a partição.

Isso pode até parecer algo “trivial” agora que esta explicado.

Mas existe diversas Threads de discussões sobre esse problema. Abaixo algumas referencias do problema:

Aviso!

Quando for usar / montar essas partições, não use pelos identificador de disco “sda, sdb, …, sdx“.

Pois a cara restart no servidor, esses identificadores podem mudar.

Use sempre o UUID de identificação do disco. Use o comando, para listar os UUIDs:

sudo blkid

Nesse mesmo servidor que usei como exemplo para compor o post, após o restart, os discos mudaram de lugar.

Antes do restart lun0 apontava para sdb, agora lun0 aponta para sda