NVMe Mappez les disques d'une instance Amazon EC2 Windows à des volumes - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

NVMe Mappez les disques d'une instance Amazon EC2 Windows à des volumes

Avec les instances basées sur Nitro, les volumes EBS sont exposés en tant que NVMe périphériques. Cette rubrique explique comment afficher les NVMe disques disponibles pour le système d'exploitation Windows sur votre instance. Il explique également comment mapper ces NVMe disques aux volumes Amazon EBS sous-jacents et aux noms d'appareils spécifiés pour les mappages de périphériques en mode bloc utilisés par Amazon. EC2

Lister NVMe les disques

Vous pouvez utiliser la gestion de disques ou Powershell pour rechercher les disques sur votre instance Windows.

Disk Management
Pour rechercher les disques sur votre instance Windows
  1. Connectez-vous à votre instance Windows en utilisant les services Bureau à distance. Pour plus d’informations, consultez Se connecter à votre instance Windows à l’aide de RDP.

  2. Démarrez l’utilitaire Gestion des disques.

  3. Examinez les disques. Le volume racine est un volume EBS monté comme C:\. Si aucun autre disque n’est affiché, vous n’avez pas spécifié de volume additionnel lors de la création de l’AMI ou du lancement de l’instance.

    L’exemple suivant illustre les disques disponibles si vous lancez une instance r5d.4xlarge avec deux volumes EBS supplémentaires.

    Gestion des disques avec un volume racine, deux volumes de stockage d’instance et deux volumes EBS.
PowerShell

Le PowerShell script suivant répertorie chaque disque ainsi que le nom de périphérique et le volume correspondants. Il est destiné à être utilisé avec des instances basées sur Nitro, qui utilisent NVMe EBS et des volumes de stockage d'instance.

Connectez-vous à votre instance Windows et exécutez la commande suivante pour activer l'exécution du PowerShell script.

Set-ExecutionPolicy RemoteSigned

Copiez le script suivant et enregistrez-le en tant que mapping.ps1 sur votre instance Windows.

# List the disks for NVMe volumes function Get-EC2InstanceMetadata { param([string]$Path) (Invoke-WebRequest -Uri "http://169.254.169.254/latest/$Path").Content } function GetEBSVolumeId { param($Path) $SerialNumber = (Get-Disk -Path $Path).SerialNumber if($SerialNumber -clike 'vol*'){ $EbsVolumeId = $SerialNumber.Substring(0,20).Replace("vol","vol-") } else { $EbsVolumeId = $SerialNumber.Substring(0,20).Replace("AWS","AWS-") } return $EbsVolumeId } function GetDeviceName{ param($EbsVolumeId) if($EbsVolumeId -clike 'vol*'){ $Device = ((Get-EC2Volume -VolumeId $EbsVolumeId ).Attachment).Device $VolumeName = "" } else { $Device = "Ephemeral" $VolumeName = "Temporary Storage" } Return $Device,$VolumeName } function GetDriveLetter{ param($Path) $DiskNumber = (Get-Disk -Path $Path).Number if($DiskNumber -eq 0){ $VirtualDevice = "root" $DriveLetter = "C" $PartitionNumber = (Get-Partition -DriveLetter C).PartitionNumber } else { $VirtualDevice = "N/A" $DriveLetter = (Get-Partition -DiskNumber $DiskNumber).DriveLetter if(!$DriveLetter) { $DriveLetter = ((Get-Partition -DiskId $Path).AccessPaths).Split(",")[0] } $PartitionNumber = (Get-Partition -DiskId $Path).PartitionNumber } return $DriveLetter,$VirtualDevice,$PartitionNumber } $Report = @() foreach($Path in (Get-Disk).Path) { $Disk_ID = ( Get-Partition -DiskId $Path).DiskId $Disk = ( Get-Disk -Path $Path).Number $EbsVolumeId = GetEBSVolumeId($Path) $Size =(Get-Disk -Path $Path).Size $DriveLetter,$VirtualDevice, $Partition = (GetDriveLetter($Path)) $Device,$VolumeName = GetDeviceName($EbsVolumeId) $Disk = New-Object PSObject -Property @{ Disk = $Disk Partitions = $Partition DriveLetter = $DriveLetter EbsVolumeId = $EbsVolumeId Device = $Device VirtualDevice = $VirtualDevice VolumeName= $VolumeName } $Report += $Disk } $Report | Sort-Object Disk | Format-Table -AutoSize -Property Disk, Partitions, DriveLetter, EbsVolumeId, Device, VirtualDevice, VolumeName

Exécutez le script comme suit :

PS C:\> .\mapping.ps1

Voici un exemple de sortie pour une instance avec un volume racine, deux volumes EBS et deux volumes de stockage d’instance.

Disk Partitions DriveLetter EbsVolumeId Device VirtualDevice VolumeName ---- ---------- ----------- ----------- ------ ------------- ---------- 0 1 C vol-03683f1d861744bc7 /dev/sda1 root 1 1 D vol-082b07051043174b9 xvdb N/A 2 1 E vol-0a4064b39e5f534a2 xvdc N/A 3 1 F AWS-6AAD8C2AEEE1193F0 Ephemeral N/A Temporary Storage 4 1 G AWS-13E7299C2BD031A28 Ephemeral N/A Temporary Storage

Si vous n'avez pas configuré vos informations d'identification pour Tools for Windows PowerShell sur l'instance Windows, le script ne peut pas obtenir l'ID du volume EBS et utilise N/A dans la EbsVolumeId colonne.

Mappez NVMe des disques à des volumes

Vous pouvez utiliser la commande Get-Disk pour mapper les numéros de disque Windows au volume EBS. IDs

PS C:\> Get-Disk Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style ------ ------------- ------------- ------------ ----------------- ---------- ---------- 3 NVMe Amazo... AWS6AAD8C2AEEE1193F0_00000001. Healthy Online 279.4 GB MBR 4 NVMe Amazo... AWS13E7299C2BD031A28_00000001. Healthy Online 279.4 GB MBR 2 NVMe Amazo... vol0a4064b39e5f534a2_00000001. Healthy Online 8 GB MBR 0 NVMe Amazo... vol03683f1d861744bc7_00000001. Healthy Online 30 GB MBR 1 NVMe Amazo... vol082b07051043174b9_00000001. Healthy Online 8 GB MBR

Vous pouvez également exécuter la ebsnvme-id commande pour mapper les numéros de NVMe disque aux noms de volumes IDs et de périphériques EBS.

PS C:\> C:\PROGRAMDATA\Amazon\Tools\ebsnvme-id.exe Disk Number: 0 Volume ID: vol-03683f1d861744bc7 Device Name: sda1 Disk Number: 1 Volume ID: vol-082b07051043174b9 Device Name: xvdb Disk Number: 2 Volume ID: vol-0a4064b39e5f534a2 Device Name: xvdc