NVMeMappez 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.

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

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

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 Connectez-vous à votre instance Windows à l'aide de RDP.

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

  3. Examinez les disques. Le volume racine est un EBS volume monté en tant queC:\. Si aucun autre disque n'est affiché, cela signifie que vous n'avez pas spécifié de volumes supplémentaires lors de la création AMI ou du lancement de l'instance.

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

    Gestion des disques avec un volume racine, deux volumes de stockage d'instance et deux EBS volumes.
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 stockent des volumes.

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 EBS volumes 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 EBS volume 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 EBS volume. 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 EBS volumes IDs et de périphériques.

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