我见过很多关于添加EBS卷Linux而不是Windows的问题。假设您发现您的磁盘空间不足(可能是通过CloudWatch)并希望添加另一个EBS卷。这可以用Powershell完成吗?使用Powershell将EBS卷附加到Windows EC2
我不想使用diskpart.exe,因为解析其结果更困难(不是本机Powershell命令)。
我见过很多关于添加EBS卷Linux而不是Windows的问题。假设您发现您的磁盘空间不足(可能是通过CloudWatch)并希望添加另一个EBS卷。这可以用Powershell完成吗?使用Powershell将EBS卷附加到Windows EC2
我不想使用diskpart.exe,因为解析其结果更困难(不是本机Powershell命令)。
希望这可以帮助那里的人。 AWS的工作很简单,但花了我一段时间才找到Windows使用它的所有东西。
这个答案是剥离下来的简洁,所以一定要确保:
2和3可以通过Get-EC2Volume
API来完成。
创建EBS卷:
$volume = New-EC2Volume -Size $sizeInGB -AvailabilityZone $az -VolumeType $vType
装上卷到EC2:
Add-EC2Volume -InstanceId $toInstanceId -VolumeId $volume.Id -Device $devId -Region $region
Windows方面:
找到刚才附加
$diskNumber = (Get-Disk | ? {
($_.OperationalStatus -eq "Offline") -and ($_."PartitionStyle" -eq "RAW") }).Number
EBS卷
启动ALIZE磁盘
Initialize-Disk -Number $diskNumber -PartitionStyle "MBR"
创造最大空间的分区,分配驱动器号,让 “活动”
$part = New-Partition -DiskNumber $diskNumber -UseMaximumSize -IsActive -AssignDriveLetter
格式的新驱动
Format-Volume -DriveLetter $part.DriveLetter -Confirm:$FALSE
享受!
太棒了!我使用这个答案来创建我在user_data脚本中使用的以下脚本:https://gist.github.com/anderssonjohan/fa88e6ddf883fd161698caac68912394它与terraform一起使用,但它只是一个普通的user_data init脚本,因此可以在不使用terraform的情况下使用它好。 –
不熟悉确切的cmdlet,但我知道amazon提供了通过powershell实际添加/创建卷的功能,除此之外,您只需格式化磁盘,您可以使用[Win32_Volume](https: //msdn.microsoft.com/en-us/library/aa390432(v=vs.85).aspx)WMI类 –
谢谢@MikeGaruccio。我已经想出了一些东西,并发布了一个答案,但我会检查你的链接。 –
Ahh看起来像使用了一些较新的cmdlet,如果您的机器支持它们,绝对是一种可行的方式,如果您的任何系统比2012年旧,WMI将是一个有用的回退。 –