Como adicionar SSDs locais

O Compute Engine oferece armazenamento local em blocos de unidades de estado sólido (SSD, na sigla em inglês) sempre criptografado para instâncias de máquinas virtuais. Cada SSD local tem 375 GB, mas é possível anexar até oito dispositivos SSD locais, totalizando 3 TB de espaço de armazenamento SSD local por instância. Existe a opção de formatar e ativar vários dispositivos SSD locais em um único volume lógico.

Ao contrário dos discos permanentes, os SSDs locais são fisicamente anexados ao servidor que hospeda a instância da máquina virtual. Essa união proporciona desempenho superior, operações de entrada/saída por segundo (IOPS, na sigla em inglês) com taxas muito altas e latência muito baixa em comparação com os discos permanentes. Consulte Desempenho de discos permanentes e SSDs locais para conhecer os detalhes.

Os SSDs locais são adequados apenas para armazenamento temporário, como caches, espaço de processamento ou dados de baixo valor. Se você armazenar dados importantes em um dispositivo SSD local, armazene os mesmos dados em uma opção de armazenamento durável.

Você não pode parar e reiniciar uma instância que tenha um SSD local. Se você encerrar uma instância com um SSD local por meio do sistema operacional convidado, não será possível reiniciar a instância. Além disso, os dados no SSD local serão perdidos.

Se os SSDs locais não atenderem aos requisitos de redundância ou de flexibilidade, use esse tipo de unidade junto com outras opções de armazenamento de instância.

Antes de começar

Como compreender a permanência de dados de SSDs locais

Antes de criar uma instância com um SSD local, compreenda quais eventos preservam os dados desse SSD e quais podem fazer com que os dados dessa unidade fiquem irrecuperáveis.

Os dados em SSDs locais permanecem apenas durante os seguintes eventos:

  • Se você reiniciar o sistema operacional convidado.
  • Se você configurar a instância para migração em tempo real e ela passar por um evento de manutenção do host.
  • Se o sistema host passar por um erro, o Compute Engine tentará preservar os dados do SSD local, mas só conseguirá fazer isso se a unidade subjacente se recuperar em 60 minutos.

Os dados em SSDs locais não permanecem durante os seguintes eventos:

  • Se você encerrar a instância manualmente.
  • Se você desligar o sistema operacional convidado e forçar a parada da instância.
  • Se você configurar a instância como preemptiva e a instância passar pelo processo de preempção.
  • Se você configurar a instância para encerrar eventos na manutenção do host e ela passar por um evento desse tipo.
  • Se o sistema host passar por um erro de host e a unidade subjacente não se recuperar dentro de 60 minutos, o Compute Engine não tentará preservar os dados no SSD local.
  • Se você configurar incorretamente o SSD local, tornando-o inacessível.
  • Se você desativar o faturamento do projeto. A instância será interrompida e seus dados serão perdidos.

Criar uma instância com um SSD local

Como os SSDs locais estão localizados na máquina física em que a instância da máquina virtual está sendo executada, só é possível criá-los durante o processo de criação da instância. Os SSDs locais não podem ser usados como dispositivos de inicialização.

Depois de criar um SSD local, formate e ative o dispositivo antes de usá-lo.

Como selecionar as interfaces NVMe ou SCSI

Conecte SSDs locais a suas instâncias usando uma interface NVMe ou SCSI. A maioria das imagens públicas inclui drivers NVMe e SCSI. No entanto, outras imagens abrangem drivers otimizados que possibilitam o melhor desempenho da sua instância em relação ao NVMe ou podem usar o SCSI multi-queue para alcançar o melhor desempenho em relação à interface SCSI.

  • Imagens públicas otimizadas pelo NVMe:
    • imagem do Ubuntu 14.04 LTS ubuntu-1404-trusty-v20170110 e mais recente ou família de imagens ubuntu-1404-lts
    • imagem do Ubuntu 16.04 LTS ubuntu-1604-xenial-v20170113 e mais recente ou família de imagens ubuntu-1604-lts
    • família de imagens do Ubuntu 17.10 ubuntu-1710
    • família de imagens do Ubuntu 18.04 LTS ubuntu-1804-lts
  • Imagens públicas compatíveis com SCSI Multiqueue:
    • imagens do Debian 9 Stretch ou família de imagens debian-9
    • imagem do Ubuntu 14.04 LTS ubuntu-1404-trusty-v20170807 e mais recente ou família de imagens ubuntu-1404-lts
    • imagem do Ubuntu 16.04 LTS ubuntu-1604-xenial-v20170803 e mais recente ou família de imagens ubuntu-1604-lts
    • família de imagens do Ubuntu 17.10 ubuntu-1710
    • família de imagens do Ubuntu 18.04 LTS ubuntu-1804-lts
    • todas as imagens do Windows Server
    • todas as imagens do SQL Server

Se preferir, ative o SCSI multi-queue para imagens personalizadas que você importar para seu projeto. Para mais informações, leia como ativar o SCSI multi-queue.

Como criar um SSD local

Crie uma instância com um SSD local usando o Console do Google Cloud Platform, a ferramenta gcloud ou a API.

Console

  1. No Console do GCP, acesse a página "Instâncias da VM".

    Acessar a página "Instâncias da VM"

  2. Clique em Criar instância.
  3. Na página Criar uma nova instância, preencha as propriedades desejadas da instância.
  4. Expanda Gerenciamento, segurança, discos, rede, locatário único.
  5. Clique em Discos e, em Discos adicionais, clique em Adicionar novo disco.
  6. No campo Nome, insira um nome para o novo disco.
  7. Em Tipo, escolha Disco de trabalho SSD local (no máximo 8).
  8. Clique em Concluído.
  9. Clique em Criar para criar a instância.
  10. Depois de criar um SSD local, formate e ative o dispositivo para poder usá-lo.

gcloud

Para criar uma instância de máquina virtual com um SSD local anexado, siga as instruções sobre como criar uma instância, usando a sinalização --local-ssd para criar e anexar dispositivos SSD locais. Para criar vários dispositivos SSD locais, adicione mais sinalizações --local-ssd. Como opção, também é possível definir valores para a interface e o nome do dispositivo para cada sinalizador --local-ssd.

Da mesma maneira, crie uma instância com dois SSDs locais que usam, cada um, uma interface SCSI da seguinte forma:

gcloud compute instances create example-instance \
    --machine-type n1-standard-8 \
    --local-ssd interface=[INTERFACE_TYPE] \
    --local-ssd interface=[INTERFACE_TYPE] \
    --image-project [IMAGE_PROJECT] \
    --image-family [IMAGE_FAMILY]

em que:

Se necessário, anexe os dispositivos SSD locais a uma única instância usando uma combinação de nvme e scsi para dispositivos diferentes. O desempenho do dispositivo nvme depende da imagem do disco de inicialização da instância.

Depois de criar um SSD local, formate e ative o dispositivo antes de usá-lo.

API

Na API, crie um dispositivo SSD local ao gerar uma instância da máquina virtual usando a propriedade initializeParams. Forneça também as seguintes propriedades:

  • diskType: definida como o SSD local
  • autoDelete: definida como true
  • type: definida como SCRATCH

As seguintes propriedades não podem ser definidas para instâncias de SSDs locais:

  • diskName
  • propriedade sourceImage
  • diskSizeGb

Aqui está um exemplo de payload de solicitação que cria uma instância com um disco de inicialização e um dispositivo SSD local:

{
   "machineType":"zones/us-central1-f/machineTypes/n1-standard-8",
   "name":"local-ssd-instance",
   "disks":[
      {
         "type":"PERSISTENT",
         "initializeParams":{
            "sourceImage":"projects/ubuntu-os-cloud/global/images/family/ubuntu-1604-lts"
         },
         "boot":true
      },
      {
         "type":"SCRATCH",
         "initializeParams":{
            "diskType":"zones/us-central1-f/diskTypes/local-ssd"
         },
         "autoDelete":true,
         "interface": "NVME"
      }
   ],
   "networkInterfaces":[
      {
         "network":"global/networks/default"
      }
   ]
 }

Depois de criar um SSD local, formate e ative o dispositivo antes de usá-lo.

Para mais informações sobre como criar uma instância na API, consulte a referência da API.

Formatar e ativar um dispositivo SSD local

Formatar e ativar dispositivos SSD locais individuais

O jeito mais fácil de conectar SSDs locais à instância é formatar e ativar cada dispositivo com uma partição simples. Como alternativa, você pode combinar vários dispositivos em um único volume lógico.

Instâncias do Linux

Formate e ative o novo SSD local na instância do Linux. Você pode usar qualquer formato de partição e configuração de que precisar. Para este exemplo, crie uma partição ext4 simples.

  1. Acesse a página "Instâncias de VMs".

    Acessar a página "Instâncias de VMs"

  2. Clique no botão SSH ao lado da instância que tem o novo SSD local anexado. O navegador abrirá uma conexão de terminal para a instância.

  3. No terminal, use o comando lsblk para identificar o SSD local que você quer ativar. Os SSDs locais no modo SCSI têm códigos padrão como sdb. Os SSDs locais no modo NVMe têm códigos como nvme0n1.

    $ lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   10G  0 disk
    └─sda1    8:1    0   10G  0 part /
    nvme0n1 259:0    0  375G  0 disk
    
  4. Formate o SSD local com um sistema de arquivos ext4. Esse comando exclui todos os dados atuais do SSD local.

    $ sudo mkfs.ext4 -F /dev/[SSD_ID]
    

    em que [SSD_ID] é o código do SSD local que você quer formatar.

  5. Use o comando mkdir para criar um diretório em que é possível ativar o dispositivo.

    $ sudo mkdir -p /mnt/disks/[MNT_DIR]
    

    em que [MNT_DIR] é o diretório em que você quer ativar o SSD local.

  6. Ative o SSD local para a instância. Se preferir, desative a limpeza do cache de gravação para melhorar o desempenho de gravação, com risco de reduzir a durabilidade em até dois segundos da gravação de dados em cache.

    $ sudo mount /dev/[SSD_ID] /mnt/disks/[MNT_DIR]
    

    em que:

    • [SSD_ID] é o código do SSD local que você quer ativar.
    • [MNT_DIR] é o diretório em que você quer ativar seu SSD local.
  7. Configure o acesso de leitura e gravação no dispositivo. Neste exemplo, conceda acesso de gravação no dispositivo para todos os usuários.

    $ sudo chmod a+w /mnt/disks/[MNT_DIR]
    

    em que [MNT_DIR] é o diretório em que você ativou o SSD local.

Como opção, você pode adicionar o SSD local ao arquivo /etc/fstab de modo que o dispositivo seja ativado de maneira automática novamente quando a instância for reiniciada. Essa entrada não preserva dados no SSD local se a instância for interrompida ou encerrada. Consulte Como compreender a permanência de dados do SSD local para saber todos os detalhes sobre o assunto.

Quando você especificar o arquivo /etc/fstab de entrada, inclua a opção nofail para que a instância possa continuar a inicializar mesmo se o SSD local não estiver presente. Por exemplo, se você gerar um instantâneo do disco de inicialização e criar uma nova instância sem SSDs locais anexados, a instância poderá continuar o processo de inicialização sem pausar indefinidamente. Em instâncias com Ubuntu 12.04 ou Ubuntu 14.04, especifique a opção nobootwait em vez de nofail.

  1. Crie a entrada /etc/fstab. Use o comando blkid para localizar o UUID do sistema de arquivos no dispositivo e edite o arquivo /etc/fstab para incluir esse UUID com as opções de ativação. É possível concluir esta etapa com um único comando. Por exemplo:

    $ echo UUID=`sudo blkid -s UUID -o value /dev/disk/by-id/google-local-ssd-0` /mnt/disks/[MNT_DIR] ext4 discard,defaults,[NOFAIL_OPTION] 0 2 | sudo tee -a /etc/fstab
    

    em que:

    • [MNT_DIR] é o diretório em que você ativou o SSD local;
    • [NOFAIL_OPTION] é a opção que especifica o que o sistema precisa fazer se não conseguir ativar esse SSD local. Na maioria das distribuições, especifique nofail. Em instâncias com Ubuntu 12.04 ou Ubuntu 14.04, especifique a opção nobootwait.
  2. Use o comando cat para verificar se as entradas /etc/fstab estão corretas:

    $ cat /etc/fstab
    

Se você gerar um instantâneo a partir do disco de inicialização dessa instância e usá-lo para criar uma instância separada que não tenha SSDs locais, edite o arquivo /etc/fstab e remova a entrada desse SSD local. Mesmo com as opções nofail ou nobootwait em vigor, mantenha o arquivo /etc/fstab em sincronia com os dispositivos anexados à instância e remova essas entradas antes de criar o instantâneo do disco de inicialização.

Instâncias do Windows

Use a ferramenta de gerenciamento de disco do Windows para formatar e ativar um SSD local em uma instância do Windows.

  1. Conecte-se à instância por meio do RDP. Neste exemplo, acesse a página Instâncias de VMs e clique no botão RDP ao lado da instância com os SSDs locais anexados. Depois de inserir o nome de usuário e a senha, uma janela é aberta com a interface da área de trabalho do servidor.

  2. Clique com o botão direito do mouse no botão Iniciar do Windows e selecione Gerenciamento de Disco.

    Como selecionar a ferramenta de gerenciamento de disco do Windows no menu clicando com o botão direito do mouse sobre o botão "Iniciar" do Windows.

  3. Se você não inicializou o SSD local antes, a ferramenta solicitará que você selecione um esquema de particionamento para os novos dispositivos. Selecione GPT e clique em OK.

    Como selecionar um esquema de partição na janela de inicialização do disco.

  4. Após a inicialização do SSD local, clique com o botão direito do mouse no espaço em disco não alocado e selecione Novo volume simples.

    Como criar um novo volume simples no disco anexado.

  5. Siga as instruções no Assistente Novo Volume Simples para configurar o novo volume. Use o formato de partição que preferir. No entanto, neste exemplo, selecione NTFS. Além disso, marque Executar uma formatação rápida para acelerar esse processo.

    Como selecionar o tipo de formato da partição no "Assistente para Novas Partições Simples".

  6. Após a conclusão do assistente e da formatação do volume, verifique se o novo SSD local tem o status Healthy.

    Como visualizar a lista de discos reconhecidos pelo Windows e verificar o status "Íntegro" do SSD local.

Pronto. Agora você pode gravar arquivos no SSD local.

Formatar e ativar vários dispositivos SSD locais em um único volume lógico

Ao contrário dos SSDs permanentes, os SSDs locais têm uma capacidade fixa de 375 GB para cada dispositivo anexado à instância. Se você quiser combinar vários dispositivos SSD locais em um único volume lógico, defina o gerenciamento de volume nesses dispositivos por conta própria.

Instâncias do Linux

Use mdadm para criar uma matriz RAID 0. Neste exemplo, é formatada a matriz com um único sistema de arquivos ext4, mas é possível aplicar qualquer sistema de arquivos de sua preferência.

  1. Acesse a página Instâncias de VMs.

    Acessar a página "Instâncias de VMs"

  2. Clique no botão SSH ao lado da instância que tem o novo SSD local anexado. O navegador abrirá uma conexão de terminal para a instância.

  3. No terminal, instale a ferramenta mdadm. O processo de instalação de mdadm inclui um prompt do usuário que interrompe os scripts, por isso, execute esse processo manualmente.

    Debian e Ubuntu:

    $ sudo apt-get update && sudo apt-get install mdadm --no-install-recommends
    

    CentOS e RHEL:

    $ sudo yum install mdadm -y
    

    SLES e openSUSE:

    $ sudo zypper install -y mdadm
    

  4. Use o comando lsblk para identificar todos os SSDs locais que você quer ativar juntos. Neste exemplo, a instância tem oito dispositivos SSD locais no modo NVMe:

    $ lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   10G  0 disk
    └─sda1    8:1    0   10G  0 part /
    nvme0n1 259:0    0  375G  0 disk
    nvme0n2 259:1    0  375G  0 disk
    nvme0n3 259:2    0  375G  0 disk
    nvme0n4 259:3    0  375G  0 disk
    nvme0n5 259:4    0  375G  0 disk
    nvme0n6 259:5    0  375G  0 disk
    nvme0n7 259:6    0  375G  0 disk
    nvme0n8 259:7    0  375G  0 disk
    
    

    Os SSDs locais no modo SCSI têm códigos padrão como sdb. Os SSDs locais no modo NVMe têm códigos como nvme0n1.

  5. Use mdadm para combinar vários dispositivos SSD locais em uma única matriz chamada /dev/md0. Este exemplo combina oito dispositivos SSD locais no modo NVMe. Para dispositivos SSD locais no modo SCSI, especifique os códigos que você recebeu com o comando lsblk:

    $ sudo mdadm --create /dev/md0 --level=0 --raid-devices=8 \
    /dev/nvme0n1 /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4 \
    /dev/nvme0n5 /dev/nvme0n6 /dev/nvme0n7 /dev/nvme0n8
    
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    
    
  6. Formate a matriz /dev/md0 completa com um sistema de arquivos ext4. Esse comando exclui todos os dados atuais dos SSDs locais.

    $ sudo mkfs.ext4 -F /dev/md0
    
  7. Crie um diretório no qual é possível ativar /dev/md0. Neste exemplo, crie o diretório /mnt/disks/ssd-array:

    $ sudo mkdir -p /mnt/disks/[MNT_DIR]
    

    em que [MNT_DIR] é o diretório em que você quer ativar a matriz do SSD local.

  8. Ative a matriz /dev/md0 para o diretório /mnt/disks/ssd-array. Se preferir, desative a limpeza do cache de gravação para melhorar o desempenho de gravação, com risco de reduzir a durabilidade em até dois segundos da gravação de dados em cache.

    $ sudo mount /dev/md0 /mnt/disks/[MNT_DIR]
    

    em que [MNT_DIR] é o diretório em que você quer ativar a matriz do SSD local.

  9. Configure o acesso de leitura e gravação no dispositivo. Neste exemplo, conceda acesso de gravação no dispositivo para todos os usuários.

    $ sudo chmod a+w /mnt/disks/[MNT_DIR]
    

    em que [MNT_DIR] é o diretório no qual você ativou a matriz do SSD local.

Como opção, você pode adicionar o SSD local ao arquivo /etc/fstab de modo que o dispositivo seja ativado de maneira automática novamente quando a instância for reiniciada. Essa entrada não preserva dados no SSD local se a instância for encerrada. Consulte Como compreender a permanência de dados do SSD local para saber todos os detalhes sobre o assunto.

Quando você especificar o arquivo /etc/fstab de entrada, inclua a opção nofail para que a instância continue a inicialização mesmo se o SSD local não estiver presente. Por exemplo, se você gerar um instantâneo do disco de inicialização e criar uma nova instância sem SSDs locais anexados, a instância poderá continuar o processo de inicialização sem pausar indefinidamente. Em instâncias com Ubuntu 12.04 ou Ubuntu 14.04, especifique a opção nobootwait em vez de nofail.

  1. Crie a entrada /etc/fstab. Use o comando blkid para localizar o UUID do sistema de arquivos no dispositivo e edite o arquivo /etc/fstab para incluir esse UUID com as opções de ativação. É possível concluir esta etapa com um único comando. Por exemplo:

    $ echo UUID=`sudo blkid -s UUID -o value /dev/md0` /mnt/disks/[MNT_DIR] ext4 discard,defaults,[NOFAIL_OPTION] 0 2 | sudo tee -a /etc/fstab
    

    em que:

    • [MNT_DIR] é o diretório em que você ativou a matriz do SSD local;
    • [NOFAIL_OPTION] é a opção que especifica o que o sistema precisa fazer se não conseguir ativar esse SSD local. Na maioria das distribuições, especifique nofail. Em instâncias com Ubuntu 12.04 ou Ubuntu 14.04, especifique a opção nobootwait.
  2. Use o comando cat para verificar se as entradas /etc/fstab estão corretas:

    $ cat /etc/fstab
    

Se você gerar um instantâneo a partir do disco de inicialização dessa instância e usá-lo para criar uma instância separada que não tenha SSDs locais, edite o arquivo /etc/fstab e remova a entrada dessa matriz de SSD local. Mesmo com as opções nobootwait ou /etc/fstab em vigor, mantenha o arquivo nofail em sincronia com os dispositivos anexados à instância e remova essas entradas antes de criar o instantâneo do disco de inicialização.

Instâncias do Windows

Use a ferramenta de gerenciamento de disco do Windows para formatar e ativar uma matriz de SSDs locais em uma instância do Windows.

  1. Conecte-se à instância por meio do RDP. Neste exemplo, acesse a página Instâncias de VMs e clique no botão RDP ao lado da instância com os SSDs locais anexados. Depois de inserir o nome de usuário e a senha, uma janela é aberta com a interface da área de trabalho do servidor.

  2. Clique com o botão direito do mouse no botão Iniciar do Windows e selecione Gerenciamento de Disco.

    Como selecionar a ferramenta de gerenciamento de disco do Windows no menu clicando com o botão direito do mouse sobre o botão "Iniciar" do Windows.

  3. Se você não inicializou os SSDs locais antes, a ferramenta solicitará que você selecione um esquema de particionamento para os novos dispositivos. Selecione GPT e clique em OK.

    Como selecionar um esquema de partição na janela de inicialização do disco.

  4. Após a inicialização do SSD local, clique com o botão direito do mouse no espaço em disco não alocado e selecione Novo volume distribuído.

    Como criar um novo volume distribuído no disco anexado.

  5. Selecione os dispositivos SSD locais que serão incluídos na matriz distribuída. Neste exemplo, selecione todos os dispositivos para combiná-los em um único dispositivo SSD local.

    Como selecionar os dispositivos SSD locais que serão incluídos na matriz.

  6. Siga as instruções no Assistente de novo volume distribuído para configurar o novo volume. Use o formato de partição que preferir. No entanto, neste exemplo, selecione NTFS. Além disso, marque Executar uma formatação rápida para acelerar esse processo.

    Como selecionar o tipo de formato da partição no "Assistente de Novo Volume Distribuído".

  7. Após a conclusão do assistente e da formatação do volume, verifique se o novo SSD local tem o status Healthy.

    Como visualizar a lista de discos reconhecidos pelo Windows e verificar se o SSD local está com o status "Íntegro".

Pronto. Agora é possível gravar arquivos no SSD local.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine