EBS Multi Attach là gì?

EBS Multi-Attach là một tính năng của Amazon Elastic Block Store (EBS) trên Amazon Web Services (AWS) cho phép bạn gắn một ổ đĩa EBS vào nhiều máy ảo (instances) trong cùng một Availability Zone (AZ). Điều này có nghĩa rằng bạn có thể kết nối một ổ đĩa IOPS SSD (io1 hoặc io2) vào nhiều instance trong cùng một AZ để chia sẻ dữ liệu và thực hiện các tác vụ như cân bằng tải và tăng tính khả dụng của ứng dụng.

Điều này đặc biệt hữu ích trong các tình huống cần sự đồng bộ hoá hoặc chia sẻ dữ liệu giữa nhiều máy ảo, chẳng hạn như các ứng dụng gom cụm (clustered applications) hoặc hệ thống có yêu cầu khả năng sao chép (replication) và tính khả dụng cao (high availability).

Tính năng Multi-Attach đặc biệt phù hợp với các ứng dụng có tính cân bằng tải, khả năng chia sẻ dữ liệu song song và đảm bảo tính khả dụng, và nó giúp giảm chi phí và đơn giản hóa quản lý lưu trữ dữ liệu trên AWS.

Sơ đồ chức năng của EBS Multi Attach
Sơ đồ chức năng của EBS Multi Attach

Hạn chế của EBS Multi Attach

EBS Multi-Attach có một số giới hạn như:

  • Các máy ảo và ổ đĩa EBS cần phải nằm trong cùng một AZ (Availability Zone) để sử dụng tính năng Multi-Attach.
  • Tính năng Multi-Attach hiện chỉ hỗ trợ tối đa 16 máy ảo Linux được xây dựng bằng Nitro System.
  • Nếu một ổ đĩa EBS io1 đã được kích hoạt tính năng Multi-Attach, bạn không thể sử dụng nó trên các loại máy ảo sử dụng io2 Block Express.
  • Tính năng Multi-Attach không thể được kích hoạt cho ổ đĩa EBS trong quá trình khởi động ban đầu. Bạn cần kích hoạt nó sau khi ổ đĩa đã được tạo.
  • Các ổ đĩa EBS hỗ trợ Multi-Attach có thể gắn vào một block device mapping trên mỗi máy ảo. Điều này có nghĩa rằng mỗi máy ảo chỉ có thể truy cập một volume EBS đó qua một đường dẫn cụ thể.

Nội dung cập nhật về NVMe Reservations

Amazon EBS io2 volumes hiện đã hỗ trợ tính năng chia sẻ lưu trữ thông qua NVMe. Chia sẻ lưu trữ là một phương pháp để kiểm soát quyền truy cập vào lưu trữ của các máy chủ trong một cụm tính toán hoặc cụm cơ sở dữ liệu, đảm bảo rằng chỉ một máy chủ trong cụm được ưu tiên ghi dữ liệu vào ổ đĩa.

Khi ứng dụng của bạn được thiết kế để hoạt động theo cụm và sử dụng tính năng EBS Multi Attach trên ổ đĩa io2, NVMe reservations giúp đảm bảo quyền ghi an toàn trên tất cả các nút trong cụm thông qua giao thức NVMe. Điều này đặc biệt hữu ích cho các ứng dụng cụm được tạo ra để tăng tính khả dụng và khả năng mở rộng của ứng dụng bằng cách sử dụng nhiều máy ảo để điều khiển quyền truy cập vào lưu trữ.

Các hệ điều hành sau đây đã được kiểm tra và hỗ trợ NVMe
  • Windows Server (2012 R2 trở lên, 2016, 2019, 2022)
  • SUSE SLES 12 SP3 trở lên
  • RHEL 8.3 trở lên
  • Amazon Linux 2 trở lên

Ứng dụng cụm thường được thiết kế để tối ưu hóa tính khả dụng và khả năng mở rộng của ứng dụng bằng cách sử dụng nhiều nút tính toán để quản lý quyền truy cập vào lưu trữ.

Bây giờ, bạn có thể sử dụng tính năng Multi Attach trên ổ đĩa io2 để triển khai các ứng dụng Windows và Linux có tính chất cụm và yêu cầu tính năng cách ly tầng lưu trữ, chẳng hạn như SQL Server Failover Cluster Instances (FCI).

Nếu bạn đang sử dụng Windows Server với AMI (Amazon Machine Image) trước tháng 8 năm 2023, bạn cần cài đặt trình điều khiển aws_multi_attach.

Phương pháp sử dụng NVMe reservations

Khởi động trước một instance EC2 hỗ trợ Nitro System.

Tạo một volume EBS, ở phần Volume type, chọn “Provisioned IOPS SSD (io2)”.

Bảng Create volume
Bảng Create volume

Tại bảng Modify volume, chọn “Enable Multi-Attach”.

Bảng Modify volume
Bảng Modify volume

Sau khi chọn “Kích hoạt Multi-Attach sẽ có bảng thông báo sau hiện ra.

“Để bật Multi-Attach cho Windows Server Failover Cluster (WSFC), vui lòng cài đặt trình điều khiển NVMe mới nhất và định cấu hình dự trữ liên tục SCSI theo tài liệu”.

Hãy đảm bảo bạn đã hoàn thành đề mục yêu cầu của bảng thông báo, sau đó chọn vào “Modify”.

Bảng Modify volume
Bảng Modify volume

Các lệnh NVMe Reservations được hỗ trợ

Amazon EBS hỗ trợ các lệnh NVMe reservations sau đây:

Lệnh Đăng ký Đặt trước (Reservation Register)

Lệnh này được sử dụng để đăng ký, hủy đăng ký hoặc thay thế một khóa đặt trước. Một khóa đăng ký được sử dụng để xác định và xác thực một máy ảo. Việc đăng ký một khóa đặt trước với một ổ đĩa tạo một liên kết giữa máy ảo và ổ đĩa. Bạn phải đăng ký máy ảo với ổ đĩa trước khi máy ảo đó có thể đặt trước.

Lệnh Đặt trước Tham chiếu (Reservation Acquire)

Lệnh này được sử dụng để đặt trước trên một ổ đĩa, đặt trước lên một không gian tên mà một đặt trước khác đang sử dụng và hủy đặt trước trên một ổ đĩa. Các loại đặt trước sau có thể được đặt trước:

  • Write Exclusive Reservation
  • Exclusive Access Reservation
  • Write Exclusive – Registrants Only Reservation
  • Exclusive Access – Registrants Only Reservation
  • Write Exclusive – All Registrants Reservation 
  • Exclusive Access – All Registrants Reservation

Lệnh Phát hành Đặt trước (Reservation Release)

Lệnh này được sử dụng để phát hành hoặc xóa đặt trước trên một ổ đĩa.

Lệnh Báo cáo Đặt trước (Reservation Report)

Lệnh này được sử dụng để mô tả tình trạng đăng ký và đặt trước của một ổ đĩa.

Tham khảo:
1. AWS Blog
2. 【アップデート】 io2ボリューム Amazon EBSマルチアタッチでNVMe 予約をサポート