

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.

# Mapper les disques NVMe de l’instance Amazon EC2 Windows vers des volumes
<a name="windows-list-disks-nvme"></a>

Avec les [instances basées sur Nitro](instance-types.md#instance-hypervisor-type), 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 disques NVMe aux volumes Amazon EBS sous-jacents et aux noms de périphériques spécifiés pour les mappages de périphériques en mode bloc utilisés par Amazon EC2.

**Topics**
+ [

## Lister NVMe les disques
](#windows-disks-nvme)
+ [

## Mappez NVMe des disques à des volumes
](#ebs-nvme-volume-map)

## Lister NVMe les disques
<a name="windows-disks-nvme"></a>

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](connecting_to_windows_instance.md).

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

1. 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.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/disk_management_nvme.png)

------
#### [ 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](instance-types.md#instance-hypervisor-type), 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 les utilise N/A dans la `EbsVolumeId` colonne.

------

## Mappez NVMe des disques à des volumes
<a name="ebs-nvme-volume-map"></a>

Vous pouvez utiliser la commande [Get-Disk](https://learn.microsoft.com/en-us/powershell/module/storage/get-disk) pour mapper des numéros de disques Windows à des volumes Amazon EBS et à des volumes de stockage d’instance Amazon EC2.

```
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
```