Azure-docs: Não está claro como o usuário pode identificar o disco que gostaria de montar

Criado em 24 ago. 2018  ·  12Comentários  ·  Fonte: MicrosoftDocs/azure-docs

Seria útil explicar como o usuário pode identificar qual disco exibido no resultado do comando dmesg | grep SCSI é o de seu interesse.

"Aqui, sdc é o disco que queremos" não ajuda.

Descobri lendo https://chrismckee.co.uk/creating-mounting-new-drives-in-ubuntu-azure/ onde mostrava o comando sudo lshw -C disk , de onde identifiquei o disco olhando para seu tamanho e anotando suas informações de ônibus, a partir das quais posso correlacionar de volta aos resultados de dmesg | grep SCSI . Tenho certeza de que você tem uma maneira melhor de fazer isso.

Também seria bom explicar por que estamos executando o grep de SCSI no comando - para observar que é sempre o caso se eles apenas anexaram um disco de dados à VM no Portal do Azure.


Detalhes do Documento

Não edite esta seção.

Pri1 assigned-to-author doc-enhancement triaged virtual-machines-linusvc

Comentários muito úteis

É frustrante que seja necessário ler todos os comentários fechados para obter essas informações. Se a última postagem for realmente útil, ela deve ser incluída no documento acima.

Todos 12 comentários

Obrigado pelo feedback! Atribuí o problema ao autor do conteúdo para investigar mais e atualizar o documento conforme apropriado.

Oi, Yang.

Isso é basicamente uma coisa do Linux.

No Azure, o disco do sistema operacional é "sda", enquanto "sdb" é o disco temporário reservado para o Azure (como a unidade D: \ no servidor Windows).

"sdc" é a única opção disponível, porque é a única opção restante. Mas explicando um pouco sobre o nome desse disco:

  • sd significa SCSI
  • c é a ordem do disco (a é o primeiro disco, b o segundo e assim por diante)
  • sdc significa que este é o terceiro disco SCSI no servidor

Sei que essa não é a resposta perfeita, mas espero que ajude você.

Obrigado @marcelo-salvatori, isso é útil, mas acho que seria bom acomodar os recém-chegados ao Linux no próprio documento. Não está claro apenas a partir deste documento que o disco do sistema operacional e o disco temporário são sda e sdb respectivamente (poderia adicionar um link para onde isso é explicado). Além disso, e se já houver discos de dados anexados ou se o usuário anexou mais de um no Portal antes de fazer login na VM - como então você identifica um em particular?

Sua preocupação é real @ yangsiyu007. Eu também fiquei um pouco confuso com este artigo.
Dicas adicionais para ajudar a identificar os discos:

  • Para descobrir o tamanho do disco, você pode usar "fdisk -l". Este comando irá listar todos os seus discos, seus tamanhos e partições existentes
  • Para descobrir se um disco é SSD ou HDD, use "cat / sys / block / sda / queue / rotational", substituindo sda pelo disco que deseja verificar. Você deve obter 1 para discos rígidos e 0 para um SSD.

Para ser honesto, no Azure parece que temos um problema: todos os discos parecem ser identificados pelas VMs como HDDs. Já vi esse comportamento tanto no Windows quanto no Linux Server.
No Windows, isso pode ser alterado usando o comando "Set-PhysicalDisk". Não encontrei uma maneira de fazer o mesmo no Linux. Talvez com o PowerShell no Linux você consiga fazer isso, mas eu não tentei fazer isso sozinho.

A forma de identificá-lo, portanto, seria jurássica. Você tem que adicionar um disco de cada vez e identificá-lo, adicionar outro e identificá-lo e assim por diante. É coxo, eu sei. Mas é a única solução alternativa que encontrei. Espero que o Azure corrija isso em breve.

Referências:
https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds#temporary -disk
https://unix.stackexchange.com/questions/65595/how-to-know-if-a-disk-is-an-ssd-or-an-hdd

cat /sys/block/[DRIVE]/queue/rotational ou lsblk -d -o name,rota não funciona no Azure. Diz 1 para sda / sdb / sdc, embora sda seja Premium SSD, sdb é Temp SSD e sdc é HDD padrão.

Além disso, fdisk -l não retorna nada.

Testando no Ubuntu.

Nem sempre é garantido que sda ​​e sdb serão o sistema operacional e o disco efêmero, respectivamente. A melhor maneira de identificar um disco de dados específico é por meio do LUN. Na verdade, você pode especificar o LUN ao anexar um disco via CLI / Powershell ou, por padrão, a numeração começará em 0 e aumentará em 1 para cada disco recém-anexado.

Em muitas imagens padrão do Linux no Azure, há uma regra udev que cria links simbólicos amigáveis ​​/ persistentes para cada disco, então você não precisa se preocupar com sda / sdb / etc. nomeação. Depois de anexar um disco de dados, você deve ver um novo link simbólico criado em / dev / disk / azure / scsi1 / * que identifica cada disco (e suas partições) pelo LUN.

Veja também:
https://docs.microsoft.com/en-us/azure/virtual-machines/trou troubleshooting/troubleshoot-device-names-problems

Obrigado a todos pela discussão sobre isso. Continuamos a discutir isso internamente e, no momento, não planejamos atualizar o documento com etapas adicionais. A última resposta de

É frustrante que seja necessário ler todos os comentários fechados para obter essas informações. Se a última postagem for realmente útil, ela deve ser incluída no documento acima.

Tenho que concordar com @pflickin. Deve haver uma maneira mais fácil de obter essas informações. Seria muito útil se você deseja automatizar isso.

Obrigado a todos pela discussão sobre isso. Continuamos a discutir isso internamente e, no momento, não planejamos atualizar o documento com etapas adicionais.

WTF? Ainda é impossível descobrir os nomes de unidade corretos seguindo os documentos atuais. Recentemente, selecionei uma unidade adicional porque as que vêm com as VMs normalmente não são grandes o suficiente e demorei várias horas para descobrir como montá-la. (Não encontrou este tópico ao procurá-lo, portanto, não é possível encontrar uma solução aqui.)

Isso não é aceitável para algo pelo qual as pessoas estão pagando.

Se valer a pena, você pode usar sudo fdisk -l para obter os tamanhos dos drives e mount -l e df -h para descobrir os suportes existentes e seus tamanhos, contanto que não tente adicionar várias unidades com o mesmo tamanho ao mesmo tempo, funciona por comparação cruzada dessas saídas.

No entanto, não é muito amigável e ter que procurar por várias horas por esses comandos também não é aceitável e, mesmo assim, dado que você pode adicionar várias unidades do mesmo tamanho no momento da criação da VM sem receber nenhum aviso ou orientação, é uma péssima experiência do usuário .

Sim, este documento precisa de uma atualização. Nesse ínterim, também colocarei esses links aqui, caso sejam úteis:

https://github.com/canonical/cloud-init/blob/master/udev/66-azure-ephemeral.rules
https://github.com/Azure/WALinuxAgent/blob/master/config/66-azure-storage.rules

Para qualquer pessoa interessada em como determinar qual disco é o correto, atualizei o documento para usar lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd" que mostra todo o disco, montagens etc. com o número e tamanho do LUN. Se você comparar isso com o portal do Azure> VM> Discos, deverá ser capaz de localizar o disco por número de LUN se todos os discos tiverem o mesmo tamanho ou tamanho semelhante. Espero que esta ajuda!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

jamesgallagher-ie picture jamesgallagher-ie  ·  3Comentários

spottedmahn picture spottedmahn  ·  3Comentários

Favna picture Favna  ·  3Comentários

DeepPuddles picture DeepPuddles  ·  3Comentários

jharbieh picture jharbieh  ·  3Comentários