一、背景
当选择带有本地实例存储的规格时候,例如c5d,m5d,g4dn等,EC2上除系统盘外,会自动增加一个本地存储。本地存储在关闭EC2后会清空。再次打开EC2电源时候,EC2会将本地存储识别为一个没有经过初始化的新驱动器,上次分配的盘符也不再处于绑定状态。
如果希望每次开机后对实例存储自动初始化、格式化、并绑定盘符,则可以使用本文的脚本。
二、创建Powershell脚本
使用记事本编辑文件,输入以下内容,并保存为 initawsnvme.ps1 文件,并放入 C:\Windows 目录中。
Get-Disk | where FriendlyName -eq 'NVMe Amazon EC2 NVMe' | Initialize-Disk -PartitionStyle mbr -PassThru | New-Partition -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "instence nvme" -Confirm:$false | Get-Partition | Set-Partition -NewDriveLetter D
保存时候,请注意文件扩展名不要.txt,务必保存为.ps1文件。本脚本模式是挂载盘符为D,如果需要修改盘符,请自行修改最后一个字母。
三、设置自动运行
打开Powershell命令行,并确认标题栏是 Administrator 表示权限是管理权限。运行如下命令。
$trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:05
Register-ScheduledJob -Trigger $trigger -FilePath C:\Windows\initawsnvme.ps1 -Name InitAWSNVME
输入正确的话,返回结果如下。
Id Name JobTriggers Command Enabled
-- ---- ----------- ------- -------
1 InitAWSNVME 1 C:\Windows\initawsnvme.ps1 True
至此配置完成。
四、测试
对EC2实例执行关机操作。等待1~2分钟后,再启动EC2实例,并打开文件浏览器,即可看到实例存储被分配了D盘的盘符。