

# AWSDrivers NVMe
<a name="aws-nvme-drivers"></a>

Os volumes do Amazon EBS e volumes de armazenamento de instâncias são expostos como dispositivos de blocos NVMe em [instâncias baseadas em Nitro](instance-types.md#instance-hypervisor-type). Para utilizar totalmente a performance e as capacidades dos recursos do Amazon EBS para volumes expostos como dispositivos de blocos NVMe, a instância deve ter o driver AWS NVMe instalado. Todas as AMIs Windows AWS da geração atual vêm com o driver AWS NVMe instalado por padrão.

Para obter mais informações sobre o EBS e o NVMe, consulte [Amazon EBS e NVMe](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-ebs-volumes.html) no *Guia do usuário do Amazon EBS*. Para obter mais informações sobre armazenamento de instâncias em SSD e o NVMe, consulte [Volumes de armazenamento de instância SSD para instâncias do EC2](ssd-instance-store.md).

## Instâncias do Linux
<a name="install-nvme-driver-linux"></a>

As seguintes AMIs incluem os drivers NVMe necessários:
+ Amazon Linux 2
+ Amazon Linux AMI 2018.03
+ Ubuntu 14.04 ou posterior com kernel `linux-aws`
**nota**  
Os tipos de instância baseados no AWS Graviton requerem o Ubuntu 18.04 ou posterior com kernel `linux-aws`
+ Red Hat Enterprise Linux 7.4 ou posterior
+ SUSE Linux Enterprise Server 12 SP2 ou posterior
+ CentOS 7.4.1708 ou posterior
+ FreeBSD 11.1 ou posterior
+ Debian GNU/Linux 9 ou posterior

**Como confirmar se a instância tem o driver NVMe**  
É possível confirmar se sua instância tem o driver NVMe usando o comando a seguir.
+ Amazon Linux, RHEL, CentOS e SUSE Linux Enterprise Server

  ```
  $ modinfo nvme
  ```

  Se a instância tiver o driver NVMe, o comando retornará informações sobre o driver.
+ Amazon Linux 2 e Ubuntu

  ```
  $ ls /sys/module/ | grep nvme
  ```

  Se a instância tiver o driver NVMe, o comando retornará os drivers instalados.

**Como atualizar o driver NVMe**

Se sua instância tiver o driver NVMe, será possível atualizar o driver para a versão mais recente usando o procedimento a seguir.

1. Conecte-se à sua instância.

1. Atualize o cache de pacotes para obter as atualizações de pacotes necessárias da seguinte forma:
   + Para Amazon Linux 2, Amazon Linux, CentOS e Red Hat Enterprise Linux:

     ```
     [ec2-user ~]$ sudo yum update -y
     ```
   + Para Ubuntu e Debian:

     ```
     [ec2-user ~]$ sudo apt-get update -y
     ```

1. Ubuntu 16.04 ou posterior incluem o pacote `linux-aws`, que contém os drivers NVMe e ENA exigidos pelas instâncias baseadas em Nitro. Atualize o pacote `linux-aws` para receber a versão mais recente da seguinte forma:

   ```
   [ec2-user ~]$ sudo apt-get install --only-upgrade -y linux-aws
   ```

   Para o Ubuntu 14.04, é possível instalar o pacote mais recente `linux-aws` da seguinte maneira:

   ```
   [ec2-user ~]$ sudo apt-get install linux-aws
   ```

1. Reinicialize sua instância para carregar a versão mais recente do kernel.

   ```
   sudo reboot
   ```

1. Reconecte-se à sua instância depois de reinicializá-la.

## Instâncias do Windows
<a name="install-nvme-drivers-windows"></a>

------
#### [ PowerShell ]

Se você não iniciou sua instância usando uma das últimas AMIs da AWS para o Windows, que são fornecidas pela Amazon, use o procedimento apresentado a seguir para instalar o driver atual da AWS NVMe na sua instância. É necessário reiniciar a instância após a instalação. O script de instalação reiniciará sua instância ou você deverá reiniciá-la como a etapa final.

**Pré-requisitos**
+ A versão 3.0 ou posterior do PowerShell está instalada.
+ Os comandos descritos nesta seção devem ser executados na versão de 64 bits do PowerShell. Não use a versão `x86` do PowerShell. Essa é a versão de 32 bits do shell e não é compatível com esses comandos.

**Para fazer download e instalar o driver AWS NVMe mais recente**

1. Recomendamos que você crie uma AMI como backup da seguinte forma, caso precise reverter suas alterações.

   1. Quando você interrompe uma instância, os dados em todos os volumes de armazenamento de instâncias são apagados. Antes de interromper uma instância, verifique se você copiou todos os dados necessários dos volumes de armazenamento de instâncias para um armazenamento persistente, como o Amazon EBS ou o Amazon S3.

   1. No painel de navegação, escolha **Instances** (Instâncias).

   1. Selecione a instância que requer a atualização do driver e escolha **Instance state** (Estado da instância), **Stop Instance** (Parar instância).

   1. Depois que a instância for interrompida, selecione a instância, escolha **Actions** (Ações), **Image and templates** (Imagem e modelos) e escolha **Create image** (Criar imagem).

   1. Escolha **Instance state (Estado da instância)** e **Start instance (Iniciar instância)**.

1. Conecte-se à instância e faça login como administrador local.

1. Faça o download dos drivers para a sua instância usando uma das seguintes opções:
   + **Navegador**: [faça o download](https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip) do pacote de drivers mais recente para a instância e extraia o arquivo zip.
   + **PowerShell**: execute os seguintes comandos:

     ```
     Invoke-WebRequest https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip -outfile $env:USERPROFILE\nvme_driver.zip
     Expand-Archive $env:userprofile\nvme_driver.zip -DestinationPath $env:userprofile\nvme_driver
     ```

     Se você receber um erro ao baixar o arquivo e estiver usando o Windows Server 2016 ou anterior, talvez seja necessário habilitar o TLS 1.2 para seu terminal PowerShell. É possível habilitar o TLS 1.2 para a sessão atual do PowerShell com o comando a seguir e tentar novamente:

     ```
     [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
     ```

1. Instale o driver em sua instância executando o script do PowerShell `install.ps1` do diretório `nvme_driver` (`.\install.ps1`). Se você receber um erro, verifique se está usando o PowerShell 3.0 ou posterior.

   1. (Opcional) A partir da versão AWS NVMe`1.5.0`, as reservas persistentes Small Computer System Interface (SCSI) são suportadas para o Windows Server 2016 e versões posteriores. Esse recurso adiciona suporte ao Windows Server Failover Clustering com armazenamento compartilhado do Amazon EBS. Por padrão, esse recurso não está ativado durante a instalação.

      É possível ativar o recurso ao executar o `install.ps1` script para instalar o driver especificando o `EnableSCSIPersistentReservations` parâmetro com um valor de`$true`.

      ```
      PS C:\> .\install.ps1 -EnableSCSIPersistentReservations $true
      ```

      É possível desativar o recurso ao executar o `install.ps1` script para instalar o driver especificando o `EnableSCSIPersistentReservations` parâmetro com um valor de`$false`.

      ```
      PS C:\> .\install.ps1 -EnableSCSIPersistentReservations $false
      ```

   1. Começando com o AWS NVMe`1.5.0`, o `install.ps1` script sempre instala a `ebsnvme-id` ferramenta com o driver.

      (Opcional) Para as versões `1.4.0``1.4.1`,`1.4.2`, e, o `install.ps1` script permite que você especifique se a `ebsnvme-id` ferramenta deve ser instalada com o driver. 

      1. Para instalar a ferramenta `ebsnvme-id`, especifique `InstallEBSNVMeIdTool ‘Yes’`.

      1. Se você não quiser instalar a ferramenta, especifique `InstallEBSNVMeIdTool ‘No’`.

         Se você não especificar `InstallEBSNVMeIdTool` e a ferramenta já está presente em `C:\ProgramData\Amazon\Tools`, o pacote atualizará a ferramenta por padrão. Se a ferramenta não estiver presente, o `install.ps1` não atualizará a ferramenta por padrão.

         Se você não quiser instalar a ferramenta como parte do pacote, e quiser instalá-la mais tarde, você pode encontrar a versão mais recente ou a ferramenta no pacote do driver. Como alternativa, você pode baixar a versão `1.0.0` do Amazon S3:

         [Baixe](https://s3.amazonaws.com/ec2-windows-drivers-downloads/EBSNVMeID/Latest/ebsnvme-id.zip) a `ebsnvme-id` ferramenta.

1. Se o instalador não reinicializar sua instância, reinicie-a.

------
#### [ Distributor ]

É possível usar o distribuidor, um recurso do AWS Systems Manager, para instalar o pacote de drivers do NVMe uma vez ou com atualizações programadas.

**Para instalar o driver AWS NVMe mais recente**

1. Para obter instruções sobre como instalar o pacote de drivers do NVMe usando o distribuidor, consulte os procedimentos em [Instalar ou atualizar pacotes](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html) no *Guia do usuário do Amazon EC2 Systems Manager*.

1. Em **Tipo de instalação**, escolha **Desinstalar e reinstalar**. 

1. Em **Nome**, escolha **AWSNVMe**. 

1. (Opcional) Em **Argumentos adicionais**, é possível personalizar a instalação especificando valores. Os valores devem ser formatados usando uma sintaxe JSON válida. Para obter exemplos de como passar argumentos adicionais para o pacote `aws configure`, consulte a [Referência de plugin de documento do comando](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-command-ssm-plugin-reference.html).

   1. Começando com o AWS NVMe`1.5.0`, o driver oferece suporte a reservas persistentes SCSI para Windows Server 2016 e versões posteriores. Por padrão, esse recurso não está ativado durante a instalação.
      + Para habilitar esse recurso, especifique `{"SSM_EnableSCSIPersistentReservations": "true"}`. 
      + Se você não quiser habilitar esse recurso, especifique `{"SSM_EnableSCSIPersistentReservations": "false"}`.

   1. Começando com o AWS NVMe`1.5.0`, o `install.ps1` script sempre instalará a `ebsnvme-id` ferramenta.

      (Opcional) Para as versões`1.4.0`,,`1.4.1`, e`1.4.2`,, o `install.ps1` script permite que você especifique se a ferramenta ebsnvme-id deve ser instalada com o driver.
      + Para instalar a ferramenta ebsnvme-id, especifique `{"SSM_InstallEBSNVMeIdTool": "Yes"}`.
      + Se você não quiser instalar a ferramenta, especifique `{"SSM_InstallEBSNVMeIdTool": "No"}`.

        Se `SSM_InstallEBSNVMeIdTool` não for especificado em **Additional Arguments** (Argumentos adicionais) e a ferramenta já está presente em `C:\ProgramData\Amazon\Tools`, o pacote atualizará a ferramenta por padrão. Se a ferramenta não estiver presente, o pacote não atualizará a ferramenta por padrão.

        Se você não quiser instalar a ferramenta como parte do pacote, e quiser instalá-la mais tarde, você pode encontrar a versão mais recente da ferramenta no pacote do driver. Como alternativa, você pode baixar a versão `1.0.0` do Amazon S3:

        [Baixe](https://s3.amazonaws.com/ec2-windows-drivers-downloads/EBSNVMeID/Latest/ebsnvme-id.zip) a `ebsnvme-id` ferramenta.

1. Se o instalador não reinicializar sua instância, reinicie-a.

------

## Configurar reservas persistentes SCSI para instâncias do Windows
<a name="configure-scsi-persistent-reservations"></a>

Depois que a versão do driver AWS NVMe `1.5.0` ou posterior for instalada, será possível habilitar ou desabilitar as reservas persistentes de SCSI usando o registro do Windows para Windows Server 2016 e versões posteriores. Você deve reiniciar a instância de banco de dados antes que a alteração entre em vigor.

É possível habilitar reservas persistentes de SCSI com o comando a seguir, que define `EnableSCSIPersistentReservations` o como um valor de`1`.

```
PS C:\> $registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device"
Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 1
```

É possível desativar as reservas persistentes de SCSI com o comando a seguir, que define `EnableSCSIPersistentReservations` o como um valor de`0`.

```
PS C:\> $registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device"
Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 0
```