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
-
Accedere all'istanza Windows tramite Remote Desktop. Per ulteriori informazioni, consulta Connessione all'istanza Windows con il protocollo RDP.
-
Avviare l'utilità Disk Management (Gestione disco).
-
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.
- 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