使用 Amazon EBS Multi-Attach 將磁碟區連接至多個執行個體 - Amazon EBS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon EBS Multi-Attach 將磁碟區連接至多個執行個體

Amazon EBS Multi-Attach 可讓您將單一佈建 IOPS SSD (io1io2) 磁碟區連接至在相同可用區域中的多個執行個體。您可以將多個啟用 Multi-Attach 的磁碟區連接至單一執行個體或一組執行個體。磁碟區連接的每個執行個體都有共用磁碟區的完整讀取和寫入許可。Multi-Attach 可讓您在管理並行寫入操作的應用程式中,更輕鬆地提高應用程式可用性。

考量與限制

  • 啟用多重連接的磁碟區最多可連接至位於相同可用區域的 Nitro System 上建置的 16 個執行個體。

  • Linux 執行個體支援啟用多重連接io1io2磁碟區。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 的 io1io2 磁碟區的磁碟區修改支援。

    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。使用下列其中一種方法。

Console
在磁碟區建立期間啟用 Multi-Attach
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Volumes (磁碟區)

  3. 選擇建立磁碟區

  4. 對於磁碟區類型,選擇佈建 IOPS SSD (io1)佈建 IOPS SSD (io2)

  5. 對於 Size (大小)IOPS,選擇所需的磁碟區大小和要佈建的 IOPS 數目。

  6. 對於 Availability Zone (可用區域),選擇執行個體所在的相同可用區域。

  7. 對於 Amazon EBS Multi-Attach,選擇 Enable Multi-Attach (啟用 Multi-Attach)。

  8. (選用) 對於 Snapshot ID (快照 ID),選擇要從中建立磁碟區的快照。

  9. 設定磁碟區的加密狀態。

    如果選取的快照已加密,或者如果您的帳戶已啟用預設加密,則會自動啟用加密,且無法將其停用。您可以選擇要用來加密磁碟區的 KMS 金鑰。

    如果選取的快照未加密,而且您的帳戶預設未啟用加密,則加密是選用的。若要加密磁碟區,請針對 Encryption (加密),選取 Encrypt this volume (加密此磁碟區),然後選取要用來加密磁碟區的 KMS 金鑰。

    注意

    加密的磁碟區僅能連接至支援 Amazon EBS 加密的執行個體。如需詳細資訊,請參閱 Amazon EBS 加密

  10. (選擇性) 若要指派自訂標籤給磁碟區,請在 [記] 區段中選擇 [新增標記],然後輸入標籤金鑰和值配對。

  11. 選擇建立磁碟區

Command line
在磁碟區建立期間啟用 Multi-Attach

使用 create-volume 命令,並指定 --multi-attach-enabled 參數。

$ C:\> aws ec2 create-volume --volume-type io2 --multi-attach-enabled --size 100 --iops 2000 --region us-west-2 --availability-zone us-west-2b

您也可以在建立 io2 磁碟區後.為其啟用 Multi-Attach,但前提是它們未連接至任何執行個體。

注意

建立後,您就無法為 io1 磁碟區啟用 Multi-Attach。

使用以下其中一種方法,在建立之後為 io2 磁碟區啟用 Multi-Attach。

Console
建立後啟用 Multi-Attach
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Volumes (磁碟區)

  3. 選取磁碟區,並選取 Actions (動作)、Modify volume (修改磁碟區)。

  4. 對於 Amazon EBS Multi-Attach,選擇 Enable Multi-Attach (啟用 Multi-Attach)。

  5. 選擇 Modify (修改)

Command line
建立後啟用 Multi-Attach

使用 modify-volume 命令,並指定 --multi-attach-enabled 參數。

$ C:\> aws ec2 modify-volume --volume-id vol-1234567890abcdef0 --multi-attach-enabled

停用 Multi-Attach

只有當 io2 磁碟區連接的執行個體不超過一個時,才能為其停用 Multi-Attach。

注意

建立之後,您就無法為 io1 磁碟區停用 Multi-Attach。

使用以下其中一種方法,來為 io2 磁碟區停用 Multi-Attach。

Console
建立後停用 Multi-Attach
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Volumes (磁碟區)

  3. 選取磁碟區,並選取 Actions (動作)、Modify volume (修改磁碟區)。

  4. 對於 Amazon EBS Multi-Attach,清除 Enable Multi-Attach (啟用 Multi-Attach)。

  5. 選擇 Modify (修改)

Command line
建立後停用 Multi-Attach

使用 modify-volume 命令,並指定 -no-multi-attach-enabled 參數。

$ C:\> aws ec2 modify-volume --volume-id vol-1234567890abcdef0 --no-multi-attach-enabled

將磁碟區連接至執行個體

您可以使用與連接任何其他 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 (io1io2) 磁碟區的標準費用。如需詳細資訊,請參閱 Amazon EBS 定價