Mappare NVMe i dischi dell'istanza Amazon EC2 Windows ai volumi - 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 NVMe i dischi dell'istanza Amazon EC2 Windows ai volumi

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

Elenca i 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 Connect alla propria istanza di Windows tramite RDP.

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

  3. Esamina i dischi. Il volume principale è un EBS volume montato comeC:\. Se non sono visualizzati altri dischi, significa che non hai specificato volumi aggiuntivi quando hai creato AMI o avviato l'istanza.

    Di seguito è riportato un esempio che mostra i dischi disponibili se si avvia un'r5d.4xlargeistanza con due volumi aggiuntiviEBS.

    Gestione del disco con un volume root, due volumi di Instance Store e due EBS volumi.
PowerShell

PowerShell Lo script seguente elenca ogni disco e il nome e il volume del dispositivo corrispondenti. È destinato all'uso con istanze basate su Nitro, che utilizzano NVMe EBS e archiviano volumi.

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

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 esempio di output per un'istanza con un volume root, due EBS volumi e due volumi di 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 avete configurato le credenziali per Tools for Windows PowerShell sull'istanza di Windows, lo script non può ottenere l'ID del EBS volume e utilizza N/A nella colonna. EbsVolumeId

Mappa NVMe i dischi sui volumi

È possibile utilizzare il comando Get-Disk per mappare i numeri dei dischi di Windows al 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

È inoltre possibile eseguire il ebsnvme-id comando per mappare i numeri dei NVMe dischi ai nomi dei EBS volumi IDs e 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