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.
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:
- https://github.com/MicrosoftDocs/azure-docs/issues/13958
- https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/troubleshoot-device-names-problems
- https://stackoverflow.com/questions/33373992/how-to-determine-what-letter-is-assigned-to-azure-drive
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.