2016-12-29 17 views
5

Tôi đã nhìn thấy rất nhiều câu hỏi được trả lời về việc thêm khối lượng EBS Linux, chứ không phải Windows. Giả sử bạn đã phát hiện ra rằng đĩa của bạn sắp hết dung lượng (có thể thông qua CloudWatch) và muốn thêm một ổ đĩa EBS khác. Điều này có thể được thực hiện với Powershell?Đính kèm EBS Volume vào Windows EC2 với Powershell

Tôi không muốn sử dụng diskpart.exe vì khó phân tích kết quả của nó hơn (không phải là lệnh Powershell gốc).

+0

không quen thuộc với lệnh ghép ngắn chính xác nhưng tôi biết rằng amazon cung cấp khả năng thêm/tạo khối lượng thông qua PowerShell, ngoài ra bạn chỉ cần định dạng đĩa mà bạn có thể thực hiện với [Win32_Volume] (https: //msdn.microsoft.com/en-us/library/aa390432(v=vs.85).aspx) Lớp WMI –

+0

Cảm ơn @MikeGaruccio. Tôi đã tìm ra một cái gì đó và đăng một câu trả lời, nhưng tôi sẽ kiểm tra liên kết của bạn. –

+0

Ahh trông giống như bạn sử dụng một số lệnh ghép ngắn mới hơn, chắc chắn là cách để đi nếu máy của bạn hỗ trợ chúng, WMI sẽ là một dự phòng hữu ích nếu bất kỳ hệ thống nào của bạn cũ hơn 2012. –

Trả lời

7

Hy vọng điều này sẽ giúp ai đó ở ngoài đó. Các công cụ AWS rất dễ dàng, nhưng đã cho tôi một thời gian để theo dõi tất cả những thứ cho Windows để sử dụng nó.

Câu trả lời này được rút gọn cho ngắn gọn, do đó hãy chắc chắn rằng:

  1. bạn đã xử lý các trường hợp ngoại lệ API AWS Powershell
  2. khối lượng của bạn là "có sẵn" trước khi cố gắng để đính kèm chúng vào một EC2
  3. cho thấy khối lượng "trong sử dụng" một khi bạn đã gắn nó

2 và 3 có thể được thực hiện thông qua Get-EC2Volume API.

Tạo Volume EBS:

$volume = New-EC2Volume -Size $sizeInGB -AvailabilityZone $az -VolumeType $vType 

Đính kèm Volume cho EC2:

Add-EC2Volume -InstanceId $toInstanceId -VolumeId $volume.Id -Device $devId -Region $region 

của Windows phụ:

xác định vị trí khối lượng EBS bạn chỉ cần gắn

$diskNumber = (Get-Disk | ? { 
    ($_.OperationalStatus -eq "Offline") -and ($_."PartitionStyle" -eq "RAW") }).Number 

bắt đầu Alize đĩa

Initialize-Disk -Number $diskNumber -PartitionStyle "MBR" 

tạo phân vùng tối đa không gian, chuyển nhượng ký tự ổ đĩa, làm cho "hoạt động"

$part = New-Partition -DiskNumber $diskNumber -UseMaximumSize -IsActive -AssignDriveLetter 

định dạng ổ đĩa mới

Format-Volume -DriveLetter $part.DriveLetter -Confirm:$FALSE 

Thưởng thức!

+0

Tuyệt vời! Tôi đã sử dụng câu trả lời này để tạo tập lệnh sau mà tôi sử dụng trong tập lệnh user_data: https://gist.github.com/anderssonjohan/fa88e6ddf883fd161698caac68912394 Nó được sử dụng với terraform nhưng nó chỉ là một kịch bản lệnh user_data init bình thường để nó có thể được sử dụng mà không có terraform như tốt. –

Các vấn đề liên quan