我該如何在可用磁碟空間不足時,自動評估和修復 Amazon EC2 執行個體上增加的磁碟區?
我想知道我的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體所連接的磁碟區何時需要擴充。此外,我想在作業系統 (OS) 層級自動擴充分割區和檔案系統。
簡短說明
若要評估和擴充 Amazon Elastic Block Store (Amazon EBS) 磁碟區,請使用一批 AWS Systems Manager Automation 文件。自動化文件可讓您調查並選擇性地修復 Amazon EC2 執行個體上的磁碟使用量不足。
自動化文件 AWSPremiumSupport-TroubleshootEC2DiskUsage 會根據作業系統類型來引導其他系統管理員文件的執行。
第一批文件會執行基本診斷,並評估是否可以藉由擴充磁碟區大小來移轉:
- AWSPremiumSupport-DiagnoseDiskUsageOnWindows
- AWSPremiumSupport-DiagnoseDiskUsageOnLinux
第二批文件會接收第一批文件的輸出內容,並執行 Python 代碼來修改磁碟區:
- AWSPremiumSupport-ExtendVolumesOnWindows
- AWSPremiumSupport-ExtendVolumesOnLinux
然後,自動化會存取執行個體,並擴充磁碟區的分割區和檔案系統。
解決方案
授予權限
您必須授予下列權限以使用自動化文件。首先,請確定您有系統管理員的 AWS Identity and Access Management (IAM) 執行個體設定檔,並且已連接至目標執行個體。
若要授予權限,請完成下列設定 AssumeRole 的步驟,以指定自動化文件組態流程的 AutomationAssumeRole 參數:
-
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeVolumes", "ec2:DescribeVolumesModifications", "ec2:ModifyVolume", "ec2:DescribeInstances", "ec2:CreateImage", "ec2:DescribeImages", "ec2:DescribeTags", "ec2:CreateTags", "ec2:DeleteTags" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ssm:StartAutomationExecution", "ssm:GetAutomationExecution", "ssm:DescribeAutomationStepExecutions", "ssm:DescribeAutomationExecutions" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ssm:SendCommand", "ssm:DescribeInstanceInformation", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Resource": "*", "Effect": "Allow" } ] }
-
建立假設角色,然後連接上一個步驟建立的政策。
-
修改此陳述式並使用假設角色的 ARN 取代 "Resource": "*":
{ "Action": [ "iam:PassRole" ], "Resource": "*", "Effect": "Allow" },
執行自動化文件
若要使用這批 Systems Manager Automation 文件,僅須執行 AWSPremiumSupport-TroubleshootEC2DiskUsage 文件。
若要執行 AWSPremiumSupport-TroubleshootEC2DiskUsage 文件,請完成下列步驟:
- 開啟 Systems Manager 主控台,然後從導覽窗格中選擇自動化。
- 選擇執行自動化。
- 選取 AWSPremiumSupport-TroubleshootEC2DiskUsage,然後選擇下一步。
- 對於執行自動化文件,選擇簡易執行。
- 在輸入參數下,輸入下列資訊:
對於 InstanceId 欄位,輸入您的 Amazon EC2 執行個體 ID。
對於 AutomationAssumeRole 欄位,輸入允許自動化代表您執行動作之假設角色的 ARN。 - 如果您的需求與預設值不同,請在輸入參數下,指定下列輸入:
VolumeExpansionEnabled: 控制文件是否擴充受影響的磁碟區和分割區 (預設值: True)
VolumeExpansionUsageTrigger: 觸發擴充所需的分割區已使用空間百分比下限 (預設值: 85)
VolumeExpansionCapSize: EBS 磁碟區最大可增加至此大小 (以 GiB 為單位) (預設值: 2048)
VolumeExpansionGibIncrease: 以 GiB 為單位的磁碟區增加量 (預設值: 20)
VolumeExpansionPercentageIncrease: 磁碟區增加量百分比 (預設值: 20) - 選擇執行。
範例案例
您目前的磁碟區為 30 GB,其中有 4 GB 的可用空間,這表示您有 26 GB 的已使用空間。指定下列輸入參數:
- VolumeExpansionUsageTrigger: 85
- VolumeExpansionGibIncrease: 10
- VolumeExpansionPercentageIncrease: 15
- VolumeExpansionCapSize: 2048
因為 26 GB 的已使用空間超過 VolumeExpansionUsageTrigger 的 85% 閾值,目前已啟動 10 GB 的磁碟區增加量。這類增加量是因為您指定磁碟區增加 10 GB,或增加目前磁碟區大小 4.5 GB 的 15%。自動化文件使用 VolumeExpansionGibIncrease 和 VolumeExpansionPercentageIncrease 之間最大的淨增加量。新的磁碟區大小為 40 GB。40 GB 還在指定 2048 VolumeExpansionCapSize 的範圍內。
相關資訊
相關內容
- 已提問 1 年前lg...
- 已提問 1 年前lg...
- 已提問 2 年前lg...
- 已提問 1 年前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 2 年前