NVMeMemetakan disk pada instans Amazon EC2 Windows ke volume - Amazon Elastic Compute Cloud

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 instans yang dibangun di atas Sistem AWS 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
  1. Masuk ke instans Windows menggunakan Remote Desktop. Untuk informasi selengkapnya, lihat Connect ke instans Windows Anda menggunakan RDP.

  2. Mulai utilitas Manajemen Disk.

  3. 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.

    Manajemen Disk dengan volume root, dua volume penyimpanan instance, dan dua EBS volume.
PowerShell

PowerShell Skrip berikut mencantumkan setiap disk dan nama dan volume perangkat yang sesuai. Ini dimaksudkan untuk digunakan dengan instance yang dibangun di atas Sistem AWS 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