Como anexar um disco de dados na máquina virtual Linux Azure

Last Updated: 02/01/2016By

IMPORTANTE:

O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: Gerenciador de Recursos e clássico. Este artigo aborda o uso do modelo de implantação clássica. A Microsoft recomenda que a maioria das implantações novas use oModelo do Gerenciador de Recursos.

Sistema operacional usado Ubuntu.

cona3        2000px-Tux.svg

Você pode anexar tanto discos vazios como discos que contenham dados. Em ambos os casos, os discos são arquivos .vhd que ficam em uma conta de armazenamento Azure. Em ambos os casos também, após anexar o disco, será necessário reiniciá-lo para usá-lo. Este artigo se refere a máquinas virtuais criadas usando o modelo de implantação clássica.

OBSERVAÇÃO:

É uma prática recomendada usar um ou mais discos separados para armazenar dados de uma máquina virtual. Quando você cria uma máquina virtual Azure, há um disco do sistema operacional e um disco temporário. Não use o disco temporário para armazenar dados.Como seu nome quer dizer, ele oferece armazenamento apenas temporariamente. Não oferece redundância nem backup porque eles não residem no armazenamento do Azure. O disco temporário é normalmente gerenciado pelo agente Linux do Azure e montado automaticamente em /mnt/resource (ou /mnt nas imagens do Ubuntu). Por outro lado, um disco de dados pode ser chamado pelo kernel Linux como /dev/sdc, e você precisará fazer a partição, formatar e montar esse recurso. Consulte o Guia do Usuário do Azure Linux Agent para obter detalhes.

Para obter mais detalhes sobre discos, consulte Sobre discos e VHDs para máquinas virtuais.

Como: anexar um disco vazio

Anexar um disco vazio é o modo mais simples de se adicionar um disco de dados, porque o Azure cria o arquivo .vhd para você e o coloca na conta de armazenamento.

  1. Abra a CLI do Azure para Mac, Linux, e Windows e conecte-se à sua assinatura do Azure. Consulte Conectar ao Azure da CLI do Azure para obter mais informações.
  2. Verifique se você está no modo de gerenciamento de serviços do Azure, que é o padrão digitando azure config mode asm.
  3. Use o comando azure vm disk attach-new para criar e anexar um novo disco, conforme mostrado abaixo. Observe que o ubuntuVMasm será substituído pelo nome da VM da máquina virtual do Linux que você criou na sua assinatura. O número 30 é o tamanho do disco em GB neste exemplo.

    Copy

    azure vm disk attach-new ubuntuVMasm 30

  4. Após o disco de dados ser criado e anexado, ele é listado no resultado do azure vm disk list <virtual-machine-name>, da seguinte forma:

    Copy

    $ azure vm disk list ubuntuVMasm

    info: Executing command vm disk list

    + Fetching disk images

    + Getting
    virtual machines

    + Getting VM disks

    data: Lun
    Size(GB) BlobName OS

    data: — ——– ——————————– —–

    data: 30 ubuntuVMasm-2645b8030676c8f8.vhd
    Linux

    data: 0
    30 ubuntuVMasm-76f7ee1ef0f6dddc.vhd

    info: vm disk list command OK

    Como: anexar um disco existente

    Anexar um disco existente exige que você tenha um .vhd disponível em uma conta de armazenamento.

  5. Abra a CLI do Azure para Mac, Linux, e Windows e conecte-se à sua assinatura do Azure. Consulte Conectar ao Azure da CLI do Azure para obter mais informações.
  6. Verifique se você está no modo de gerenciamento de serviços do Azure, que é o padrão. Se você tiver alterado o modo para gerenciamento de recursos, simplesmente reverta digitando azure config mode asm.
  7. Descubra se o VHD que você deseja anexar já está carregado à sua assinatura do Azure usando:

    Copy

    $azure vm disk list

    info: Executing command vm disk list

    + Fetching disk images

    data: Name OS

    data: ——————————————– —–

    data: myTestVhd Linux

    data: ubuntuVMasm-ubuntuVMasm-0201508060029150744
    Linux

    data: ubuntuVMasm-ubuntuVMasm-0201508060040530369

    info: vm disk list command OK

  8. Se você não encontrar o disco que deseja usar, você pode carregar um VHD local na sua assinatura usando azure vm disk create ou azure vm disk upload. Um exemplo disso seria:

    Copy

    $azure vm disk create myTestVhd2 .\TempDisk\test.VHD -l “East US” -o Linux

    info: Executing command vm disk create

    + Retrieving storage accounts

    info: VHD size : 10 GB

    info: Uploading
    10485760.5 KB

    Requested:100.0% Completed:100.0% Running: 0
    Time: 25s
    Speed: 82 KB/s

    info: Finishing computing MD5 hash, 16% is complete.

    info: https://portalvhdsq1s6mc7mqf4gn.blob.core.windows.net/disks/test.VHD was

    uploaded successfully

    info: vm disk create command OK

    Você também pode usar o comando azure vm disk upload para carregar um VHD em uma conta de armazenamento específico. Leia mais sobre os comandos para gerenciar seus discos de dados de máquinas virtuais do Azure aqui.

  9. Digite o seguinte comando para anexar o VHD carregado desejado na máquina virtual:

    Copy

    $azure vm disk attach ubuntuVMasm myTestVhd

    info: Executing command vm disk attach

    + Getting
    virtual machines

    + Adding
    DataDisk

    info: vm disk attach command OK

    Certifique-se de substituir ubuntuVMasm com o nome da sua máquina virtual, e myTestVhd com seu VHD desejado.

  10. Você pode verificar se o disco está anexado à máquina virtual com o comando azure vm disk list <virtual-machine-name> como:

    Copy

    $azure vm disk list ubuntuVMasm

    info: Executing command vm disk list

    + Fetching disk images

    + Getting
    virtual machines

    + Getting VM disks

    data: Lun
    Size(GB) BlobName OS

    data: — ——– ——————————– —–

    data: 30 ubuntuVMasm-2645b8030676c8f8.vhd
    Linux

    data: 1
    10 test.VHD

    data: 0
    30 ubuntuVMasm-76f7ee1ef0f6dddc.vhd

    info: vm disk list command OK

    OBSERVAÇÃO:

    Depois de adicionar um disco de dados, você precisará fazer logon na máquina virtual e inicializar o disco para que a máquina virtual possa usar o disco para armazenamento.

    Como: inicializar um novo disco de dados no Linux

  11. Conectar-se à máquina virtual. Para obter instruções, consulte Como fazer logon em uma máquina virtual que executa o Linux.
  12. Em seguida, você precisa localizar o identificador de dispositivo para inicializar o disco de dados. Há duas maneiras de fazer isso:

    a) Na janela SSH, digite o seguinte comando e, em seguida, insira a senha para a conta criada para gerenciar a máquina virtual:

    Copy

    $sudo grep SCSI /var/log/messages

    Para distribuições Ubuntu recentes, você talvez precise usar sudo grep SCSI /var/log/syslog pois o logon em /var/log/messages pode estar desabilitado por padrão.

    Você pode localizar o identificador do último disco de dados que foi adicionado nas mensagens que são exibidas.

    gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

    OU

    b) Use o comando lsscsi para descobrir a ID do dispositivo. lsscsi pode ser instalado por um yum install lsscsi (no Red Hat com base em distribuições) ou apt-get install lsscsi (no Debian com base em distribuições). É possível encontrar o disco que está procurando pelo seu lun ounúmero de unidade lógica. Por exemplo, o lun dos discos que você anexou pode ser facilmente visto por meio do azure vm disk list <virtual-machine> como:

    Copy

    ~$ azure vm disk list ubuntuVMasm

    info: Executing command vm disk list

    + Fetching disk images

    + Getting
    virtual machines

    + Getting VM disks

    data: Lun
    Size(GB) BlobName OS

    data: — ——– ——————————– —–

    data: 30 ubuntuVMasm-2645b8030676c8f8.vhd
    Linux

    data: 1
    10 test.VHD

    data: 2
    30 ubuntuVMasm-76f7ee1ef0f6dddc.vhd

    info: vm disk list command OK

    Compare isso com a saída de lsscsi para o mesmo exemplo de máquina virtual:

    Copy

    adminuser@ubuntuVMasm:~$ lsscsi

    [1:0:0:0] cd/dvd Msft
    Virtual CD/ROM 1.0 /dev/sr0

    [2:0:0:0] disk Msft
    Virtual
    Disk
    1.0 /dev/sda

    [3:0:1:0] disk Msft
    Virtual
    Disk
    1.0 /dev/sdb

    [5:0:0:0] disk Msft
    Virtual
    Disk
    1.0 /dev/sdc

    [5:0:0:1] disk Msft
    Virtual
    Disk
    1.0 /dev/sdd

    [5:0:0:2] disk Msft
    Virtual
    Disk
    1.0 /dev/sde

    O último número na tupla em cada linha é o lun. Veja man lsscsi para obter mais informações.

  13. Na janela SSH, digite o seguinte comando para criar um novo dispositivo e, em seguida, digite a senha da conta:

    Copy

    $sudo fdisk /dev/sdc

    OBSERVAÇÃO:

    Neste exemplo, você talvez precisará usar sudo -i em algumas distribuições, se /sbin ou /usr/sbin não estiverem em seu $PATH.

  14. Quando solicitado, digite n para criar uma nova partição.

    gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

  15. Quando solicitado, digite p para definir a partição como a partição primária, digite 1 para torná-la a primeira partição e digite Enter para aceitar o valor padrão para o cilindro.

    gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

  16. Digite p para ver os detalhes sobre o disco que está sendo particionado.

    gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

  17. Digite w para gravar as configurações do disco.

    gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

  18. Crie o sistema de arquivos na nova partição. Como exemplo, digite o seguinte comando e, em seguida, insira a senha da conta:

    Copy

    # sudo mkfs -t ext4 /dev/sdc1

    gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

    OBSERVAÇÃO:

    Observe que sistemas SUSE Linux Enterprise 11 dão suporte apenas a acesso somente leitura para sistemas de arquivos ext4. Para esses sistemas, é recomendável formatar o novo sistema de arquivos como ext3 em vez de ext4.

  19. Crie um diretório para montar o novo sistema de arquivos. Como exemplo, digite o seguinte comando e, em seguida, digite a senha da conta:

    Copy

    # sudo mkdir /datadrive

  20. Digite o seguinte comando para montar a unidade:

    Copy

    # sudo mount /dev/sdc1 /datadrive

    Agora o disco de dados está pronto para ser usado como /datadrive.

  21. Adicione a nova unidade ao /etc/fstab:

    Para garantir que a unidade seja novamente montada automaticamente após uma reinicialização, ela deve ser adicionada ao arquivo /etc/fstab. Além disso, é altamente recomendável que o UUID (Identificador Universal Exclusivo) seja usado no /etc/fstab para referir-se à unidade em vez de apenas o nome do dispositivo (por exemplo, /dev/sdc1). Para localizar o UUID da nova unidade, você pode usar o utilitário blkid:

    Copy

    # sudo -i blkid

    Uma saída será semelhante ao seguinte:

    Copy

    /dev/sda1: UUID=“11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e” TYPE=“ext4”

    /dev/sdb1: UUID=“22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e” TYPE=“ext4”

    /dev/sdc1: UUID=“33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e” TYPE=“ext4”

    OBSERVAÇÃO:

    A edição inadequada do arquivo /etc/fstab pode resultar em um sistema não inicializável. Se não tiver certeza, consulte a documentação de distribuição para obter informações sobre como editá-lo corretamente. Também é recomendável que um backup do arquivo /etc/fstab seja criado antes da edição.

    Em seguida, abra o arquivo /etc/fstab em um editor de texto. Observe que /etc/fstab é um arquivo do sistema, então será necessário usar sudo para editá-lo. Por exemplo:

    Copy

    # sudo vi /etc/fstab

    Neste exemplo, usaremos o valor UUID para o novo dispositivo /dev/sdc1 criado nas etapas anteriores e no ponto de montagem de /datadrive. Adicione a seguinte linha no final do arquivo /etc/fstab:

    Copy

    UUID=333333333b3b3c3c3d3d3e3e3e3e3e3e /datadrive ext4 defaults 1
    2

    Ou, em sistemas baseados em SUSE Linux, talvez você precise usar um formato ligeiramente diferente:

    Copy

    /dev/disk/by-uuid/333333333b3b3c3c3d3d3e3e3e3e3e3e /datadrive ext3 defaults 1
    2

    Agora você pode testar se o sistema de arquivo está montado corretamente ao simplesmente desmontar e montar novamente o sistema de arquivos, ou seja, usando o ponto de montagem de exemplo /datadrive criado nas etapas anteriores:

    Copy

    # sudo umount /datadrive

    # sudo mount /datadrive

    Se o comando mount produzir um erro, verifique se o arquivo /etc/fstab tem a sintaxe correta. Se as partições ou unidades de dados adicionais forem criadas será necessário inseri-las separadamente em/etc/fstab também.

    Você precisará tornar a unidade gravável usando esses comandos: # cd /datadrive # sudo chmod go+w /datadrive

    OBSERVAÇÃO:

    Remover subsequentemente um disco de dados sem editar fstab pode fazer com que a VM falhe ao ser inicializada. Se esta for uma ocorrência comum, a maioria das distribuições fornecerá as opções fstab nofail e/ou nobootwait, que permitirão que o sistema se inicialize mesmo se a montagem do disco falhar no momento da inicialização. Consulte a documentação da distribuição para obter mais informações sobre esses parâmetros.

    Fonte: http://bit.ly/1JPTgt6


newsletter-icon

Novidades via inbox

Fique por dentro no meu Boletim digital toda semana um conteúdo novo

Leave A Comment