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
-
Accedere all'istanza Windows tramite Remote Desktop. Per ulteriori informazioni, consulta Connect alla propria istanza di Windows tramite RDP.
-
Avviare l'utilità Disk Management (Gestione disco).
-
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.4xlarge
istanza con due volumi aggiuntiviEBS.
- 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