本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon EBS Multi-Attach 將磁碟區連接至多個執行個體
Amazon EBS Multi-Attach 可讓您將單一佈建 IOPS SSD (io1
或 io2
) 磁碟區連接至在相同可用區域中的多個執行個體。您可以將多個啟用 Multi-Attach 的磁碟區連接至單一執行個體或一組執行個體。磁碟區連接的每個執行個體都有共用磁碟區的完整讀取和寫入許可。Multi-Attach 可讓您在管理並行寫入操作的應用程式中,更輕鬆地提高應用程式可用性。
考量與限制
-
啟用多重連接的磁碟區最多可連接至位於相同可用區域的 Nitro System 上建置的 16 個執行個體。
-
Linux 執行個體支援啟用多重連接
io1
和io2
磁碟區。Windows 執行個體僅支援啟用多重連接的io2
磁碟區。 -
可連接到執行個體的 Amazon EBS 磁碟區數目上限,取決於執行個體類型和執行個體大小。如需詳細資訊,請參閱執行個體數量限制。
-
只有在佈建 IOPS SSD (io1 and io2) 磁碟區上才支援 Multi-Attach。
-
Multi-Attach for
io1
磁碟區僅在下列區域提供:美國東部 (維吉尼亞北部)、美國西部 (奧勒岡) 和亞太區域 (首爾)。所有支援
io2
的區域均可使用io2
的多重連接功能。注意
為了以較低的成本獲得更好的效能、一致性和耐用性,建議您使用
io2
磁碟區。 -
僅支援可擴展可靠資料包 (SRD) 網路通訊協定的建置於 Nitro System 的執行個體,不支援已啟用多重連接功能的
io1
磁碟區。若要將多重連接功能與這些執行個體類型配合使用,您必須使用io2
Block Express 磁碟區。 -
標準檔案系統 (例如:XFS 和 EXT4) 並非設計為可由多部伺服器同時存取,例如:EC2 執行個體。您應使用叢集檔案系統來確保生產工作負載的資料彈性和可靠性。
-
啟用 Multi-Attach 的
io2
磁碟區支援 I/O 隔離。I/O 隔離通訊協定控制共用儲存環境中的寫入存取,以維持資料一致性。您的應用程式必須為連接的執行個體提供寫入順序,以維持資料一致性。如需詳細資訊,請參閱 NVMe 保留。啟用 Multi-Attach 的
io1
磁碟區不支援 I/O 隔離。 -
啟用 Multi-Attach 的磁碟區無法建立為啟動磁碟區。
-
磁碟區如已啟用多重連接,即可連接至一個區塊裝置對映 (每執行個體)。
-
在執行個體啟動期間,無法使用 Amazon EC2 主控台或 RunInstances API 啟用多重連接。
-
在 Amazon EBS 基礎設施層出現問題的啟用 Multi-Attach 磁碟區無法用於所有連接的執行個體。在 Amazon EC2 或網路層出現的問題可能只會影響某些連接的執行個體。
-
下表顯示在建立後對已啟用 Multi-Attach 的
io1
和io2
磁碟區的磁碟區修改支援。io2
磁碟區io1
磁碟區修改磁碟區類型 ✗ ✗ 修改磁碟區大小 ✓ ✗ 修改佈建 IOPS ✓ ✗ 啟用 Multi-Attach ✓ * ✗ 停用 Multi-Attach ✓ * ✗ * 磁碟區連接到執行個體時,您無法啟用或停用 Multi-Attach。
效能
每個連接的執行個體最多可將其最大值 IOPS 效能驅動至磁碟區的最大佈建效能。不過,所有連接執行個體的彙總效能不能超過磁碟區的最大佈建效能。如果 IOPS 的連接執行個體需求高於磁碟區的佈建 IOPS,磁碟區將不會超過其佈建的效能。
例如,假設您使用 80,000
佈建 IOPS 建立啟用 io2
Multi-Attach 的磁碟區,並且將其連接至 m7g.large
執行個體 (支援最多 40,000
個IOPS) 和 r7g.12xlarge
執行個體 (支援最多 60,000
個 IOPS)。每個執行個體可驅動其最大值 IOPS,因為其小於磁碟區的佈建 IOPS 80,000
。不過,如果兩個執行個體同時將 I/O 驅動到磁碟區,則其組合的 IOPS 不可超過 80,000
IOPS 的磁碟區佈建效能。
為了達到一致的效能,最佳做法是在啟用 Multi-Attach 之磁碟區的各個磁區之間,平衡從連接執行個體驅動的 I/O。
使用 Multi-Attach
啟用 Multi-Attach 之磁碟區的管理方式與管理任何其他 Amazon EBS 磁碟區的方式大致相同。不過,若要使用 Multi-Attach 功能,您必須為磁碟區啟用該功能。當您建立新磁碟區時,依預設會停用 Multi-Attach。
啟用 Multi-Attach
您可以在建立磁碟區期間啟用 Multi-Attach。使用下列其中一種方法。
您也可以在建立 io2
磁碟區後.為其啟用 Multi-Attach,但前提是它們未連接至任何執行個體。
注意
建立後,您就無法為 io1
磁碟區啟用 Multi-Attach。
使用以下其中一種方法,在建立之後為 io2
磁碟區啟用 Multi-Attach。
停用 Multi-Attach
只有當 io2
磁碟區連接的執行個體不超過一個時,才能為其停用 Multi-Attach。
注意
建立之後,您就無法為 io1
磁碟區停用 Multi-Attach。
使用以下其中一種方法,來為 io2
磁碟區停用 Multi-Attach。
將磁碟區連接至執行個體
您可以使用與連接任何其他 EBS 磁碟區相同的方式,將啟用 Multi-Attach 的磁碟區連接到執行個體。如需詳細資訊,請參閱 將 Amazon EBS 磁碟區附加到執行個體。
在終止時刪除
如果最後一個連接執行個體已終止,而且該執行個體設為在終止時刪除磁碟區,則會在執行個體終止時,刪除啟用 Multi-Attach 的磁碟區。如果將磁碟區連接到在其磁碟區區塊型裝置映射中具有不同「在終止時刪除」設定的多個執行個體,則最後一個連接執行個體的區塊型裝置映射設定會確定「在終止時刪除」行為。
若要確保可預測的「在終止時刪除」行為,請為磁碟區連接的所有執行個體啟用或停用「在終止時刪除」。
依預設,當磁碟區連接至執行個體時,區塊型設備映射的「在終止時刪除」設定會設為 false。如果您想要為啟用 Multi-Attach 的磁碟區開啟「在終止時刪除」,請修改區塊裝置映射。
如果您希望在連接的執行個體終止時刪除該磁碟區,請針對所有連接的執行個體,在區塊裝置映射中啟用「在終止時刪除」。如果您希望在連接的執行個體終止後保留該磁碟區,請針對所有連接的執行個體,在區塊裝置映射中停用「在終止時刪除」。如需詳細資訊,請參閱執行個體終止時保留資料。
您可以在啟動時或啟動後,修改執行個體的「在終止時刪除」設定。如果您在啟動執行個體時,啟用或停用「在終止時刪除」,此設定僅適用於啟動時連接的磁碟區。如果您在啟動後將磁碟區連接至執行個體,則必須為該磁碟區明確設定「在終止時刪除」行為。
您只能使用命令列工具來修改執行個體的「在終止時刪除」設定。
為現有的執行個體修改「在終止時刪除」設定
使用 modify-instance-attribute 命令,並在 DeleteOnTermination
中指定 --block-device-mappings option
屬性。
aws ec2 modify-instance-attribute --instance-id
i-1234567890abcdef0
--block-device-mappings file://mapping.json
在 mapping.json
中指定下列內容。
[ { "DeviceName": "
/dev/sdf
", "Ebs": { "DeleteOnTermination":true|false
} } ]
監控已啟用 Multi-Attach 的磁碟區
您可以使用 Amazon EBS 磁碟區的 CloudWatch 指標來監控啟用多連接的磁碟區。如需詳細資訊,請參閱 Amazon Amazon CloudWatch 指標 EBS。
會在所有連接執行個體之間彙總資料。您無法監控個別連接執行個體的指標。
定價和計費
使用 Amazon EBS Multi-Attach 無須額外收費。您需要支付適用於佈建 IOPS SSD (io1
和 io2
) 磁碟區的標準費用。如需詳細資訊,請參閱 Amazon EBS 定價