NVMe signifie Non-Volatile Memory Express , et il fait référence à la manière dont les logiciels et le stockage communiquent via PCIe et d'autres protocoles, y compris TCP. Il s'agit d'une spécification ouverte dirigée par une organisation à but non lucratif et qui définit plusieurs formes de stockage à semi-conducteurs.
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Mon ordinateur portable a un lecteur NVMe, tout comme mon ordinateur de bureau. Et ils sont rapides. J'aime la rapidité avec laquelle mes ordinateurs démarrent et la rapidité avec laquelle ils sont capables de lire et d'écrire des données. Il n'y a aucun retard perceptible.
Il ne m'a pas fallu longtemps non plus pour m'intéresser à la technologie qui pilote ce stockage ultra-rapide, alors j'ai fait une petite enquête. J'ai appris que les disques NVMe consomment moins d'énergie tout en offrant un accès beaucoup plus rapide aux données par rapport même aux disques SSD sur SATA. C'était intéressant, mais je voulais en savoir plus sur mes disques NVMe particuliers, et je voulais savoir comment ils se comparaient aux autres disques. Puis-je effacer le disque en toute sécurité ? Comment puis-je vérifier son intégrité ?
Ces questions m'ont conduit à une recherche sur Internet qui a abouti à un projet open source avec une collection d'outils pour gérer les disques NVMe. Il s'appelle nvme-cli.
Installer nvme-cli
Vous pouvez installer nvme-cli
depuis le gestionnaire de paquets de votre distribution. Par exemple, sur Fedora, CentOS ou similaire :
$ sudo dnf install nvme-cli
Sur Debian, Mint, Elementary et similaires :
$ sudo apt install nvme-cli
Exploration d'un lecteur NVMe
Après avoir installé nvme-cli
pour ma distribution, je voulais explorer mon lecteur. Il n'y a pas de page de manuel pour nvme-cli
, mais vous pouvez obtenir beaucoup d'aide en saisissant nvme help
:
$ nvme help
nvme-1.14
usage: nvme <command> [<device>] [<args>]
The '<device>' may be either an NVMe character device (ex: /dev/nvme0) or an
nvme block device (ex: /dev/nvme0n1).
The following are all implemented sub-commands:
list List all NVMe devices and namespaces on machine
list-subsys List nvme subsystems
id-ctrl Send NVMe Identify Controller
id-ns Send NVMe Identify Namespace, display structure
id-ns-granularity Send NVMe Identify Namespace Granularity List, display structure
list-ns Send NVMe Identify List, display structure
list-ctrl Send NVMe Identify Controller List, display structure
nvm-id-ctrl Send NVMe Identify Controller NVM Command Set, display structure
primary-ctrl-caps Send NVMe Identify Primary Controller Capabilities
[...]
Répertorier tous les disques NVMe
La sudo nvme list
La commande répertorie tous les périphériques et espaces de noms NVMe sur votre machine. Je l'ai utilisé et j'ai trouvé un lecteur NVMe sur /dev/nvme0n1
. Voici le résultat :
$ sudo nvme list
Node SN Model Namespace Usage Format FW Rev
--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 S42GMY9M141281 SAMSUNG MZVLB256HAHQ-000L7 1
214.68 GB / 256.06 GB 512 B + 0 B 0L2QEXD7
J'ai un lecteur appelé nvme0n1
. Il répertorie le numéro de série, la marque, la taille, la révision du micrologiciel, etc.
Vous pouvez obtenir encore plus d'informations sur le lecteur et les fonctionnalités qu'il prend en charge en utilisant le id-ctrl
sous-commande :
$ sudo nvme id-ctrl /dev/nvme0n1
NVME Identify Controller:
vid : 0x144d
ssvid : 0x144d
sn : S42GMY9M141281
mn : SAMSUNG MZVLB256HAHQ-000L7
fr : 0L2QEXD7
rab : 2
ieee : 002538
cmic : 0
mdts : 9
cntlid : 0x4
ver : 0x10200
rtd3r : 0x186a0
rtd3e : 0x7a1200
[...]
État du disque
Vous pouvez en savoir plus sur la santé globale d'un lecteur avec le smart-log
sous-commande :
$ sudo nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning : 0
temperature : 21 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 2%
endurance group critical warning summary: 0
data_units_read : 5,749,452
data_units_written : 10,602,948
host_read_commands : 77,809,121
host_write_commands : 153,405,213
controller_busy_time : 756
power_cycles : 1,719
power_on_hours : 1,311
unsafe_shutdowns : 129
media_errors : 0
num_err_log_entries : 1,243
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 21 C
Temperature Sensor 2 : 22 C
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0
Cela vous donne la température actuelle du disque, les heures d'utilisation qu'il a eues jusqu'à présent, combien de fois il a été arrêté de manière non sécurisée, etc.
Formater un disque NVMe
Vous pouvez formater un lecteur NVMe avec nvme-cli
, mais attention :cela efface toutes les données du disque ! S'il y a des données importantes sur votre disque, vous devez sauvegardez-le avant de faire cela, sinon vous le ferez perdre des données. La sous-commande est format
:
$ sudo nvme format /dev/nvme0nX
(Pour des raisons de sécurité, j'ai remplacé l'emplacement réel du lecteur par X pour éviter les erreurs de copier-coller. Changez le X à 1 ou l'emplacement approprié tel qu'indiqué dans les résultats de nvme list
.)
Effacer un disque NVMe en toute sécurité
Lorsque vous vous apprêtez à vendre ou à vous débarrasser de votre ordinateur NVMe, vous souhaitez probablement effacer le disque en toute sécurité. Les mêmes avertissements s'appliquent ici que pour le processus de formatage :sauvegardez d'abord les données importantes car cette commande les efface !
$ sudo nvme sanitize /dev/nvme0nX
Essayez nvme-cli
Le nvme-cli
La commande est publiée sous une licence GPLv2. C'est une commande robuste avec de nombreuses options utiles, et c'est un excellent moyen de contrôler la façon dont vous gérez vos données.