AWS NVMe ドライバー
Amazon EBS ボリュームおよびインスタンスストアボリュームは、Nitro ベースのインスタンスで NVMe ブロックデバイスとして公開されます。NVMe ブロックデバイスとして公開されるボリュームで Amazon EBS 機能のパフォーマンスと機能を最大限に活用するには、インスタンスに NVMe AWS ドライバーがインストールされている必要があります。現行世代のすべての AWS Windows AMI には、デフォルトで NVMe ドライバーがインストールされています。AWS
EBS および NVMe の詳細については、「Amazon EBS ユーザーガイド」の「Amazon EBS および NVMe」を参照してください。SSD インスタンスストアと NVMe の詳細については、「EC2 インスタンスの SSD インスタンスストアボリューム」を参照してください。
以下の AMI には、必要な NVMe ドライバーが含まれています。
Amazon Linux 2
Amazon Linux AMI 2018.03
-
linux-aws
カーネルを搭載した Ubuntu 14.04 以降
AWS Graviton ベースのインスタンスタイプには、linux-aws
カーネル搭載の Ubuntu 18.04 以降が必要です
Red Hat Enterprise Linux 7.4 以降
SUSE Linux Enterprise Server 12 SP2 以降
CentOS 7.4.1708 以降
FreeBSD 11.1 以降
Debian GNU/Linux 9 以降
インスタンスに NVMe ドライバーがあることを確認するには
次のコマンドを使用して、インスタンスに NVMe ドライバーがあることを確認できます。
-
Amazon Linux、RHEL、CentOS、SUSE Linux Enterprise Server
$
modinfo nvme
インスタンスに NVMe ドライバーがある場合、コマンドはそのドライバーに関する情報を返します。
-
Amazon Linux 2、Ubuntu
$
ls /sys/module/ | grep nvme
インスタンスに NVMe ドライバーがある場合、コマンドはインストールされたドライバーを返します。
NVMe ドライバーを更新するには
インスタンスに NVMe ドライバーがある場合は、次の手順を使用してドライバーを最新バージョンに更新できます。
-
インスタンスに接続します。
-
パッケージのキャッシュを更新し、必要なパッケージの更新を次のように取得します。
-
Amazon Linux 2、Amazon Linux、CentOS、Red Hat Enterprise Linux の場合:
[ec2-user ~]$
sudo yum update -y
-
Ubuntu と Debian の場合:
[ec2-user ~]$
sudo apt-get update -y
-
Ubuntu 16.04 以降には、linux-aws
パッケージが含まれます。このパッケージには、Nitro ベースのインスタンスで必要な NVMe および ENA ドライバーが含まれます。最新バージョンにするには、次のように linux-aws
パッケージにアップグレードします。
[ec2-user ~]$
sudo apt-get install --only-upgrade -y linux-aws
Ubuntu 14.04 の場合は、次のように最新の linux-aws
パッケージをインストールできます。
[ec2-user ~]$
sudo apt-get install linux-aws
-
インスタンスを再起動して、最新のカーネルバージョンを読み込みます。
sudo reboot
-
再起動後にインスタンスに再接続します。
- PowerShell
-
Amazon が提供する最新の AWS Windows AMI を使用していない場合は、以下の手順に従って、最新の AWS NVMe ドライバーをインストールしてください。この更新は、インスタンスを再起動できる時に実施しなければなりません。インストールスクリプトを入力するとインスタンスが再起動されますが、再起動されない場合には、最終段階で再起動する必要があります。
前提条件
PowerShell 3.0 以降
最新の AWS NVMe ドライバーをダウンロードしてインストールするには
-
変更を元に戻す必要がある場合に備えて、AMI をバックアップとして作成することをお勧めします。
-
インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。インスタンスを停止する前に、必要なデータをインスタンスストアボリュームから永続的ストレージ (Amazon EBS や Amazon S3 など) にコピーしていることを確認します。
-
ナビゲーションペインで、[インスタンス] を選択します。
-
ドライバーのアップグレードが必要なインスタンスを選択し、[インスタンスの状態]、[インスタンスの停止] の順に選択します。
-
インスタンスを停止したら、インスタンスを選択し、[アクション]、[イメージとテンプレート]、[イメージの作成] の順に選択します。
-
[Instance state (インスタンスの状態)]、[Start instance (インスタンスの開始)] の順に選択します。
-
インスタンスに接続してローカル管理者としてログインします。
-
次のいずれかのオプションを使用して、インスタンスにドライバをダウンロードし抽出します。
-
install.ps1
ディレクトリ (nvme_driver
) から .\install.ps1
PowerShell スクリプトを実行し、ドライバーをインスタンスにインストールします。エラーが発生した場合は、PowerShell 3.0 以降を使用していることを確認してください。
-
(オプション) AWS NVMe バージョン 1.5.0
以降、Windows Server 2016 以降ではスモールコンピュータシステムインターフェイス (SCSI) の永続予約がサポートされます。この機能により、共有 Amazon EBS ストレージによる Windows Server フェイルオーバークラスタリングのサポートが追加されました。デフォルトでは、この機能はインストール中には有効になっていません。
install.ps1
スクリプトを実行してドライバーをインストールするときに、EnableSCSIPersistentReservations
パラメータに $true
という値を指定すると、この機能を有効にできます。
PS C:\>
.\install.ps1
-EnableSCSIPersistentReservations $true
install.ps1
スクリプトを実行してドライバーをインストールするときに、EnableSCSIPersistentReservations
パラメータに $false
という値を指定すると、この機能を無効にできます。
PS C:\>
.\install.ps1
-EnableSCSIPersistentReservations $false
-
AWS NVMe 1.5.0
以降、install.ps1
スクリプトは常に ebsnvme-id
ツールをドライバーとともにインストールします。
(オプション) バージョン 1.4.0
、1.4.1
、および 1.4.2
の場合、install.ps1
スクリプトを使用して ebsnvme-id
ツールをドライバーとともにインストールするかどうかを指定できます。
-
ebsnvme-id
ツールをインストールするには、InstallEBSNVMeIdTool ‘Yes’
を指定します。
-
ツールをインストールしない場合は、InstallEBSNVMeIdTool ‘No’
を指定します。
InstallEBSNVMeIdTool
を指定しない場合で、かつツールが既に C:\ProgramData\Amazon\Tools
に存在している場合、パッケージはデフォルトでツールをアップグレードします。ツールが存在しない場合は、install.ps1
は、デフォルトではツールをアップグレードしません。
ツールをパッケージの一部としてインストールせず、後でインストールする場合は、ドライバーパッケージにツールの最新バージョンがあります。または、Amazon S3 からバージョン 1.0.0
をダウンロードすることもできます。
ebsnvme-id
ツールをダウンロードします。
-
インストーラがインスタンスを再起動しない場合には、手動でインスタンスを再起動します。
- Distributor
-
ディストリビューター (AWS Systems Manager の機能) を使用して、NVMe ドライバーパッケージを 1 回インストールすることも、スケジュールされた更新を使用してインストールすることもできます。
最新の AWS NVMe ドライバーをインストールする
-
ディストリビューターを使用して NVMe ドライバーパッケージをインストールする方法については、「Amazon EC2 Systems Manager ユーザーガイド」の「パッケージのインストールまたは更新」を参照してください。
-
[インストールタイプ] で、[アンインストールと再インストール] を選択します。
-
[名前] で、AWSNVMe を選択します。
-
(任意) [追加の引数] では、値を指定することでインストールをカスタマイズできます。値は有効な JSON 構文を使用した形式にする必要があります。aws
configure
パッケージの追加の引数を渡す方法の例については、「Amazon EC2 Systems Manager ドキュメント」を参照してください。
-
AWS NVMe 1.5.0
以降、このドライバーは Windows Server 2016 以降の SCSI 永続予約をサポートしています。デフォルトでは、この機能はインストール中には有効になっていません。
-
AWS NVMe 1.5.0
以降、install.ps1
スクリプトは常に ebsnvme-id
ツールをインストールします。
(オプション) バージョン 1.4.0
、1.4.1
、および 1.4.2
の場合、install.ps1
スクリプトを使用して ebsnvme-id ツールをドライバーとともにインストールするかどうかを指定できます。
-
ebsnvme-id ツールをインストールするには、{"SSM_InstallEBSNVMeIdTool":
"Yes"}
を指定します。
-
ツールをインストールしない場合は、{"SSM_InstallEBSNVMeIdTool":
"No"}
を指定します。
もし [Additional Arguments] (追加の引数) で SSM_InstallEBSNVMeIdTool
が指定されていない場合で、かつツールが既に C:\ProgramData\Amazon\Tools
に存在している場合、パッケージはデフォルトでツールをアップグレードします。ツールが存在しない場合、パッケージはデフォルトでツールをアップグレードしません。
ツールをパッケージの一部としてインストールせず、後でインストールする場合は、ドライバーパッケージにツールの最新バージョンがあります。または、Amazon S3 からバージョン 1.0.0
をダウンロードすることもできます。
ebsnvme-id
ツールをダウンロードします。
-
インストーラがインスタンスを再起動しない場合には、手動でインスタンスを再起動します。
AWS NVMe ドライバーバージョン 1.5.0
以降をインストールした後は、Windows Server 2016 以降の Windows レジストリを使用して SCSI 永続予約を有効または無効にできます。これらのレジストリ変更を反映するにはインスタンスを再起動する必要があります。
SCSI 永続予約は、次のコマンドで EnableSCSIPersistentReservations
の値を 1
に設定すると有効にできます。
PS C:\>
$registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device"
Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 1
SCSI 永続予約は、次のコマンドで EnableSCSIPersistentReservations
の値を 0
に設定すると無効にできます。
PS C:\>
$registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device"
Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 0