Mappare i dischi NVMe ai volumi nell'istanza Amazon EC2 Windows - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Mappare i dischi NVMe ai volumi nell'istanza Amazon EC2 Windows

Con le istanze basate su Nitro, i volumi EBS vengono esposti come dispositivi NVMe. Questo argomento spiega come visualizzare i dischi NVMe disponibili per il sistema operativo Windows sulla tua istanza. Mostra anche come mappare tali dischi NVMe ai volumi Amazon EBS sottostanti e ai nomi dei dispositivi specificati per le mappature dei dispositivi a blocchi utilizzate da Amazon EC2.

Elenco dei dischi NVMe

Puoi individuare i dischi sull'istanza Windows tramite Disk Management (Gestione disco) o Powershell.

Disk Management
Individuazione dei dischi sulla tua istanza Windows
  1. Accedere all'istanza Windows tramite Remote Desktop. Per ulteriori informazioni, consulta Connessione all'istanza Windows con il protocollo RDP.

  2. Avviare l'utilità Disk Management (Gestione disco).

  3. Esamina i dischi. Il volume root è un volume EBS montato come C:\. Se non sono visualizzati altri dischi, significa che non hai specificato volumi aggiuntivi alla creazione dell'AMI o all'avvio dell'istanza.

    Di seguito è riportato un esempio che mostra i dischi disponibili se si avvia un'istanza r5d.4xlarge con due volumi EBS aggiuntivi.

    Gestione disco con un volume root, due volumi instance store e due volumi EBS.
PowerShell

Lo script PowerShell seguente elenca ogni disco e il nome e il volume del dispositivo corrispondente. È destinato all'uso con istanze basate su Nitro, che utilizzano EBS NVMe e l'archivio dell'istanza.

Connettersi all'istanza Windows ed esegui il comando seguente per abilitare l'esecuzione di script PowerShell.

Set-ExecutionPolicy RemoteSigned

Copiare lo script seguente e salvarlo come mapping.ps1 nell'istanza 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

Eseguire lo script come segue:

PS C:\> .\mapping.ps1

Di seguito è riportato un output di esempio per un'istanza con un volume root, due volumi EBS e due volumi instance store.

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

Se non sono state fornite le credenziali per Strumenti per Windows PowerShell sull'istanza Windows, lo script non può ottenere l'ID del volume EBS e riporta N/D nella colonna EbsVolumeId.

Mappare i dischi NVMe ai volumi

È possibile utilizzare il comando Get-Disk per mappare i numeri di dischi Windows ai volumi Amazon EBS e ai volumi di archivio dell’istanza 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

È anche possibile eseguire il comando ebsnvme-id per eseguire la mappatura dei numeri del disco NVMe con gli ID volume EBS e i nomi dei dispositivi.

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