NVMe significa Memoria rápida no volátil , y se refiere a cómo el software y el almacenamiento se comunican a través de PCIe y otros protocolos, incluido TCP. Es una especificación abierta dirigida por una organización sin fines de lucro y define varias formas de almacenamiento de estado sólido.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Mi computadora portátil tiene una unidad NVMe, al igual que mi computadora de escritorio. Y son rápidos. Me encanta lo rápido que arrancan mis computadoras y lo rápido que pueden leer y escribir datos. No hay retraso perceptible.
Tampoco tardé mucho en sentir curiosidad por la tecnología que impulsa este almacenamiento ultrarrápido, así que investigué un poco. Aprendí que las unidades NVMe consumen menos energía y brindan un acceso mucho más rápido a los datos en comparación incluso con las unidades SSD sobre SATA. Eso fue interesante, pero quería saber más sobre mis unidades NVMe particulares y quería saber cómo se comparaban con otras unidades. ¿Puedo borrar de forma segura el disco? ¿Cómo podría verificar su integridad?
Esas preguntas me llevaron a una búsqueda en Internet que arrojó un proyecto de código abierto con una colección de herramientas para administrar unidades NVMe. Se llama nvme-cli.
Instalar nvme-cli
Puede instalar nvme-cli
desde el administrador de paquetes de su distribución. Por ejemplo, en Fedora, CentOS o similar:
$ sudo dnf install nvme-cli
En Debian, Mint, Elementary y similares:
$ sudo apt install nvme-cli
Explorando una unidad NVMe
Después de instalar nvme-cli
para mi distribución, quería explorar mi impulso. No hay una página man para nvme-cli
, pero puede obtener mucha ayuda ingresando 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
[...]
Lista de todas las unidades NVMe
La lista sudo nvme list
El comando enumera todos los dispositivos y espacios de nombres NVMe en su máquina. Lo usé y encontré una unidad NVMe en /dev/nvme0n1
. Aquí está la salida:
$ 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
Tengo una unidad llamada nvme0n1
. Muestra el número de serie, la marca, el tamaño, la revisión del firmware, etc.
Puede obtener aún más información sobre la unidad y las funciones que admite utilizando el id-ctrl
subcomando:
$ 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
[...]
Impulsar la salud
Puede leer sobre el estado general de una unidad con el smart-log
subcomando:
$ 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
Esto le proporciona la temperatura actual de la unidad, las horas de uso que ha tenido hasta ahora, cuántas veces se apagó de manera insegura, etc.
Formatear una unidad NVMe
Puede formatear una unidad NVMe con nvme-cli
, pero cuidado:¡esto borra todos los datos del disco! Si hay datos importantes en su disco, debe haga una copia de seguridad antes de hacer esto, o de lo contrario lo perder datos El subcomando es format
:
$ sudo nvme format /dev/nvme0nX
(Por seguridad, he reemplazado la ubicación real de la unidad con X para evitar percances al copiar y pegar. Cambiar la X a 1 o la ubicación apropiada como se muestra en los resultados de nvme list
.)
Borrado seguro de una unidad NVMe
Cuando esté listo para vender o deshacerse de su computadora NVMe, probablemente desee borrar la unidad de forma segura. Aquí se aplican las mismas advertencias que con el proceso de formateo:¡haga una copia de seguridad de los datos importantes primero porque este comando los borra!
$ sudo nvme sanitize /dev/nvme0nX
Prueba nvme-cli
El nvme-cli
El comando se publica bajo una licencia GPLv2. Es un comando robusto con muchas opciones útiles y es una excelente manera de tomar el control de cómo administra sus datos.