Volumi di instance store SSD - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Volumi di instance store SSD

Per garantire le migliori prestazioni in termini di IOPS dai volumi SSD di instance store su Linux, è consigliabile utilizzare la versione più recente di Amazon Linux oppure un'altra AMI Linux con una versione del kernel 3.8 o successiva. In caso non si utilizzi un'AMI Linux con versione kernel 3.8 o successiva, l'istanza non otterrà la migliore performance IOPS disponibile per questi tipi di istanze.

Come avviene per gli altri volumi di instance store, è necessario eseguire la mappatura dei volumi di instance store dell'istanza all'avvio di essa. I dati su un volume di instance di un SSF persistono solo durante la vita dell'istanza associata. Per ulteriori informazioni, consulta Aggiunta di un volume di instance store all'istanza EC2.

Volumi SSD NVMe

Alcune istanze offrono volumi di instance store SSD di tipo NVMe (Non-Volatile Memory Express). Per ulteriori informazioni sul tipo di volume di instance store supportato da ciascun tipo di istanza, consulta Volumi di archivio dell'istanza.

Per accedere ai volumi NVMe, è necessario installare i driver NVMe. Le seguenti AMI soddisfano questo requisito:

  • AL2023

  • Amazon Linux 2

  • AMI Amazon Linux 2018.03 e versioni successive

  • Ubuntu 14.04 o versioni successive con kernel linux-aws

    Nota

    AWS I tipi di istanza basati su Graviton richiedono Ubuntu 18.04 o versione successiva con kernel linux-aws

  • Red Hat Enterprise Linux 7.4 o versioni successive

  • SUSE Linux Enterprise Server 12 SP2 o versioni successive

  • CentOS 7.4.1708 o versioni successive

  • FreeBSD 11.1 o versioni successive

  • Debian GNU/Linux 9 o versioni successive

  • Bottlerocket

Dopo avere effettuato la connessione all'istanza, è possibile elencare i dispositivi NVMe utilizzando il comando lspci. Quello elencato di seguito è l'output di esempio di un'istanza i3.8xlarge che supporta quattro dispositivi 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)

Se si sta utilizzando un sistema operativo supportato, ma non compaiono i dispositivi NVME, verifica che il modulo NVMe sia caricato utilizzando il seguente comando.

  • Amazon Linux, Amazon Linux 2, Ubuntu 14/16, Red Hat Enterprise Linux, SUSE Linux 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

I volumi NVMe sono in linea con le specificazioni NVMe 1.0e. È possibile utilizzare i comandi NVMe con i volumi NVMe. Con Amazon Linux, è possibile installare il pacchetto nvme-cli dal repository utilizzando il comando yum install. Con altre versioni supportate di Linux, è possibile scaricare il pacchetto nvme-cli, se non è disponibile nell'immagine.

I dati sull'archivio istanza NVMe sono crittografati utilizzando un codice di cifratura a blocchi XTS-AES-256 implementato tramite un modulo hardware sull'istanza. Le chiavi crittografiche sono generate utilizzando il modulo hardware e sono univoche per ciascun dispositivo di archivio NVMe. Quando l'istanza viene arrestata o terminata, tutte le chiavi crittografiche vengono distrutte e non possono essere ripristinate. Non è possibile disattivare questa cifratura e non è possibile fornire una propria chiave crittografica.

Volumi SSD non-NVMe

Le seguenti istanze supportano volumi di instance store che utilizzano SSD non NVMe per offrire prestazioni I/O casuali elevate: C3, I2, M3, R3 e X1. Per ulteriori informazioni sui volumi di instance store supportati da ogni tipo di istanza, consulta Volumi di archivio dell'istanza.

Prestazioni I/O dei volumi dell'archivio dell'istanza basati su SSD

Mano a mano che riempi i volumi instance store basati su SSD della tua istanza, il numero di IOPS di scrittura che puoi raggiungere diminuisce. Questa riduzione è dovuta al lavoro aggiuntivo che il controller SSD deve svolgere per individuare spazio disponibile, riscrivere i dati esistenti e cancellare lo spazio inutilizzato in modo che possa essere riscritto. Questo processo di garbage collection produce un'amplificazione della scrittura interna dell'SSD, espressa come il rapporto delle operazioni di scrittura dell'SSD e le operazioni di scrittura dell'utente. La riduzione delle prestazioni è ancora maggiore se le operazioni di scrittura non sono in multipli di 4.096 byte o non sono allineate con il limite di 4.096 byte. Se scrivi una quantità inferiore di byte o di byte non allineati, il controller SSD deve leggere i dati circostanti e archiviare il risultato in una nuova posizione. Questo modello comporta un'amplificazione della scrittura notevolmente maggiore, una latenza maggiore e una riduzione drastica delle prestazioni di I/O.

I controller SSD possono utilizzare svariate strategie per ridurre l'impatto dell'amplificazione della scrittura. Una di queste strategie è di riservare spazio nell'archiviazione dell'istanza SSD in modo che il controller possa gestire più efficacemente lo spazio disponibile per le operazioni di scrittura. Si tratta dell'over-provisioning. I volumi di instance store basati su SSD forniti a un'istanza non dispongono di spazio riservato per l'over-provisioning. Per ridurre l'amplificazione in scrittura, consigliamo di lasciare il 10 percento del volume non partizionato in modo che il controller SSD possa utilizzarlo per l'over-provisioning. In questo modo, l'archiviazione che si può utilizzare diminuisce, ma aumentano le prestazioni anche se il disco è prossimo alla capacità completa.

Ad esempio, archivia volumi che supportano TRIM, puoi utilizzare il comando TRIM per notificare al controller SSD ogni volta che non hai più bisogno dei dati che hai scritto. Il controller avrà così più spazio libero, l'amplificazione della scrittura potrà ridursi e le prestazioni aumentare. Per ulteriori informazioni, consulta Supporto TRIM per i volumi di instance store.

Supporto TRIM per i volumi di instance store

Alcuni tipi di istanza supportano i volumi SSD con TRIM. Per ulteriori informazioni, consulta Volumi di archivio dell'istanza.

Volumi di instance store che supportano TRIM vengono tagliati prima di essere allocati per l'istanza. Questi volumi non sono formattati con un file system in cui un'istanza viene avviata; pertanto è necessario formattarli prima che essi possano essere montati e utilizzati. Per accedere più rapidamente a questi volumi. è consigliabile saltare l'operazione TRIM al momento della formattazione.

Con i volumi di instance store che supportano TRIM, è possibile usare il comando TRIM per notificare al controller SSD che i dati scritti non sono più necessari. Il controller avrà così più spazio libero, l'amplificazione della scrittura potrà ridursi e le prestazioni aumentare. Su Linux, utilizza il comando fstrim per abilitare il supporto TRIM periodico.