本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SSD 執行個體的EC2執行個體存放區磁碟區
與其他執行個體存放磁碟區一樣,您必須在啟動SSD執行個體時映射執行個體存放磁碟區。SSD 執行個體磁碟區上的資料只會在其相關執行個體的生命週期內持續存在。如需詳細資訊,請參閱將執行個體存放區磁碟區新增至EC2執行個體。
NVMe SSD 磁碟區
某些執行個體提供非揮發性記憶體表達式 (NVMe) 固態硬碟 (SSD) 執行個體存放磁碟區。關於每種執行個體類型所支援的執行個體存放磁碟區類型,詳細資訊請參閱執行個體的EC2執行個體存放區磁碟區限制。
NVMe 執行個體儲存體上的資料會使用在執行個體上的硬體模組中實作的 XTS-AES-256 區塊密碼進行加密。加密金鑰是使用硬體模組產生的,且每個NVMe執行個體儲存裝置都是唯一的。所有加密金鑰會在執行個體停止或終止時銷毀,且無法復原。您無法停用此加密,也無法提供您自己的加密金鑰。
若要存取NVMe磁碟區,必須安裝NVMe驅動程式。下列項目AMIs符合此要求:
AL2023
Amazon Linux 2
Amazon Linux AMI 2018.03 及更新版本
-
Ubuntu 14.04 或更新版本 (帶
linux-aws
核心)注意
AWS Graviton 型執行個體類型需要具有核心的 Ubuntu 18.04
linux-aws
或更新版本 Red Hat Enterprise Linux 7.4 或更新版本
SUSE Linux Enterprise Server 12 SP2或更新版本
CentOS 7.4.1708 或更新版本
FreeBSD 11.1 或更新版本
Debian GNU/Linux 9 或更新版本
Bottlerocket
連線至執行個體後,您可以使用 lspci命令列出NVMe裝置。以下是i3.8xlarge
執行個體的範例輸出,支援四個NVMe裝置。
[ec2-user ~]$
lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] 00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 01) 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 00:03.0 Ethernet controller: Device 1d0f:ec20 00:17.0 Non-Volatile memory controller: Device 1d0f:cd01 00:18.0 Non-Volatile memory controller: Device 1d0f:cd01 00:19.0 Non-Volatile memory controller: Device 1d0f:cd01 00:1a.0 Non-Volatile memory controller: Device 1d0f:cd01 00:1f.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
如果您使用的是支援的作業系統,但看不到NVMe裝置,請確認使用下列命令載入NVMe模組。
-
Amazon Linux、Amazon Linux 2、Ubuntu 14/16、Red Hat Enterprise Linux、SUSELinux Enterprise Server、CentOS 7
$
lsmod | grep nvme
nvme 48813 0
-
Ubuntu 18
$
cat /lib/modules/$(uname -r)/modules.builtin | grep nvme
s/nvme/host/nvme-core.ko kernel/drivers/nvme/host/nvme.ko kernel/drivers/nvmem/nvmem_core.ko
NVMe 磁碟區符合 NVMe 1.0e 規格。您可以搭配 NVMe磁碟區使用 NVMe 命令。如果使用 Amazon Linux,您可以使用 nvme-cli
命令,從儲存庫安裝 yum
install 套件。使用其他支援的 Linux 版本時,如果映像中未提供,您可以下載 nvme-cli
套件。
AMIs 下列作業系統的最新 AWS Windows 包含 AWS 驅動程式,NVMe用於與作為NVMe區塊裝置公開的SSD執行個體存放區磁碟區互動,以取得更好的效能:
-
Windows Server 2022
-
Windows Server 2019
-
Windows Server 2016
-
Windows Server 2012 R2
連線至執行個體後,您可以驗證您是否看到磁碟管理器中的NVMe磁碟區。在任務列上開啟 Windows 標誌的內容 (按右鍵) 選單,然後選擇 Disk Management (磁碟管理)。
Amazon AMIs提供的 AWS Windows 包含 AWS NVMe驅動程式。如果您未使用最新的 AWS Windows AMIs,則可以安裝目前的 AWS NVMe驅動程式 。
非NVMe磁碟SSD區
下列執行個體支援使用 NVMe的執行個體存放區磁碟區SSDs,以交付高隨機 I/O 效能:C3, I2, M3, R3 和 X1。關於每種執行個體類型所支援的執行個體存放磁碟區,詳細資訊請參閱執行個體的EC2執行個體存放區磁碟區限制。
SSD以 為基礎的執行個體存放區磁碟區 I/O 效能
當您為執行個體填入 SSD型執行個體存放區磁碟區IOPS時,您可以實現的寫入數量會減少。這是因為SSD控制器為了尋找可用空間、重寫現有資料和清除未使用的空間而必須執行的額外工作,以便重寫。此垃圾收集程序會導致 的內部寫入放大SSD,以SSD寫入操作與使用者寫入操作的比率表示。假如寫入操作不是 4,096 位元組的倍數或未符合 4,096 位元組的邊界,效能下降的幅度會更明顯。如果您寫入較少量的位元組或未對齊的位元組,SSD控制器必須讀取周圍的資料,並將結果存放在新的位置。此模式會造成寫入放大大幅增加,提高延遲,因而使 I/O 效能巨幅下降。
SSD 控制器可以使用多種策略來降低寫入放大的影響。其中一個策略是保留SSD執行個體儲存體中的空間,讓控制器可以更有效率地管理寫入操作的可用空間。此策略稱為過度佈建。提供給執行個體的 SSD型執行個體存放區磁碟區沒有任何預留空間用於過度佈建。若要減少寫入放大,我們建議您將 10% 的磁碟區保留為未分割,以便SSD控制器將其用於過度佈建。這樣做雖然會減少可用的儲存空間,但可提高效能,即使磁碟即將用完所有容量。
對於支援 的執行個體存放磁碟區TRIM,您可以在不再需要已寫入的資料時,使用 TRIM命令通知SSD控制器。這會讓控制器有更多的可用空間能夠使用,可減少寫入放大現象,並提升效能。如需詳細資訊,請參閱執行個體存放區磁碟區TRIM支援。
執行個體存放區磁碟區TRIM支援
有些執行個體類型支援具有 的SSD磁碟區TRIM。如需詳細資訊,請參閱執行個體的EC2執行個體存放區磁碟區限制。
注意
(僅限 Windows 執行個體) 自 AWS PV 驅動程式 7.3.0 版TRIM起執行 Windows Server 2012 R2 支援的執行個體。執行舊版 Windows Server 的執行個體不支援 TRIM。
支援 的執行個體存放區磁碟區TRIM在配置給您的執行個體之前,會經過完全修剪。在執行個體啟動時,這些磁碟區不會格式化為任何檔案系統,因此您必須先將這些磁碟區格式化之後,才能掛載和使用這些磁碟區。為了更快地存取這些磁碟區,您應該在格式化時略過TRIM操作。
(Windows 執行個體) 若要在初始格式化期間暫時停用TRIM支援,請使用 fsutil behavior set DisableDeleteNotify 1
命令。格式化完成後,請使用 重新啟用TRIM支援fsutil behavior set DisableDeleteNotify 0
。
透過支援 的執行個體存放磁碟區TRIM,您可以使用 TRIM命令,在不再需要您寫入的資料時通知SSD控制器。這會讓控制器有更多的可用空間能夠使用,可減少寫入放大現象,並提升效能。在 Linux 執行個體 上,使用 fstrim
命令來啟用定期 TRIM。在 Windows 執行個體 上,使用 fsutil behavior set DisableDeleteNotify 0
命令來確保在正常操作期間啟用TRIM支援。