Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
NVMeMemetakan disk pada instans Amazon EC2 Windows ke volume
Dengan instance berbasis Nitro, EBS volume diekspos sebagai NVMe perangkat. Topik ini menjelaskan cara melihat NVMedisk yang tersedia untuk sistem operasi Windows pada instans Anda. Ini juga menunjukkan cara memetakan NVMe disk tersebut ke EBS volume Amazon yang mendasarinya dan nama perangkat yang ditentukan untuk pemetaan perangkat blok yang digunakan oleh Amazon. EC2
Daftar NVMe disk
Anda dapat menemukan disk di instans Windows menggunakan Manajemen Disk atau Powershell.
- Disk Management
-
Untuk menemukan disk di instans Windows Anda
-
Masuk ke instans Windows menggunakan Remote Desktop. Untuk informasi selengkapnya, lihat Connect ke instans Windows Anda menggunakan RDP.
-
Mulai utilitas Manajemen Disk.
-
Meninjau disk. Volume root adalah EBS volume yang dipasang sebagaiC:\
. Jika tidak ada disk lain yang ditampilkan, maka Anda tidak menentukan volume tambahan saat membuat AMI atau meluncurkan instance.
Berikut ini adalah contoh yang menunjukkan disk yang tersedia jika Anda meluncurkan r5d.4xlarge
instance dengan dua EBS volume tambahan.
- PowerShell
-
PowerShell Skrip berikut mencantumkan setiap disk dan nama dan volume perangkat yang sesuai. Ini dimaksudkan untuk digunakan dengan instance berbasis Nitro, yang menggunakan NVMe EBS dan volume penyimpanan instance.
Connect ke instance Windows Anda dan jalankan perintah berikut untuk mengaktifkan eksekusi PowerShell script.
Set-ExecutionPolicy RemoteSigned
Salin skrip berikut dan simpan sebagai mapping.ps1
di instans Windows Anda.
# 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
Jalankan skrip sebagai berikut:
PS C:\>
.\mapping.ps1
Berikut ini adalah contoh output untuk sebuah instance dengan volume root, dua EBS volume, dan dua volume penyimpanan 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
Jika Anda tidak mengonfigurasi kredensi Anda untuk Alat untuk Windows PowerShell pada instance Windows, skrip tidak dapat memperoleh ID EBS volume dan menggunakan N/A di kolom. EbsVolumeId
Peta NVMe disk ke volume
Anda dapat menggunakan perintah Get-Disk untuk memetakan nomor disk Windows ke 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
Anda juga dapat menjalankan ebsnvme-id perintah untuk memetakan nomor NVMe disk ke EBS volume IDs dan nama perangkat.
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