Como você verifica a integridade de um SSD NVMe usando smartctl no Ubuntu?
Meu laptop, que tem uma unidade de estado sólido NVMe, tem travado com certa frequência recentemente com erros estranhos de leitura de disco. Felizmente, a reinicialização resolveu temporariamente o problema, mas estou tentando confirmar que o problema é um SSD degradado e não outra coisa, como uma placa-mãe com defeito.
O uso geral do smartctl é executar algo como:
sudo smartctl -i /dev/sdX
No entanto, o NVMe não é montado assim. Eles são montados usando o prefixo nvm* e com uma camada extra de pontos de montagem, mostrando:
ls -lah /dev/nv*
crw------- 1 root root 238, 0 Oct 31 10:11 /dev/nvme0
brw-rw---- 1 root disk 259, 0 Oct 31 10:11 /dev/nvme0n1
brw-rw---- 1 root disk 259, 1 Oct 31 10:11 /dev/nvme0n1p1
brw-rw---- 1 root disk 259, 2 Oct 31 10:11 /dev/nvme0n1p2
brw-rw---- 1 root disk 259, 3 Oct 31 10:11 /dev/nvme0n1p3
crw------- 1 root root 10, 144 Oct 31 10:11 /dev/nvram
Qual desses eu verifico? A /dev/nvme0n1p2
é minha partição de dados primária, mas também quero garantir que as outras não estejam corrompidas, portanto, presumivelmente, gostaria de verificar uma das partições "pais".
Eu verifico /dev/nvme0
ou /dev/nvme0n1
?
/dev/nvme0
representa o dispositivo bruto e é o nó do dispositivo de "controle" que você usa para configurar o hardware, enquanto/dev/nvme0n1
representa o armazenamento em bloco - ou um pedaço dele. (Especificamente, nvme0n1 é um namespace - uma divisão lógica semelhante a partições, mas no nível de "hardware", ligeiramente semelhante a SCSI LUNs. Um único dispositivo NVMe poderia, em teoria, ter vários namespaces com, por exemplo, diferentes configurações de criptografia.)Em geral, as informações SMART (e qualquer outro tipo de status de hardware) são globais para o dispositivo, portanto, usar o
nvme0
nó seria mais apropriado, mas nas versões atuais do Linux, o dispositivo de controle e os dispositivos de armazenamento em bloco aceitarão SMART ioctls todos os mesmo. (Especialmente em SSDs de consumo em que apenas um namespace estará presente.)(Também: Esses não são pontos de montagem – são nós de dispositivo. O diretório em que algo está montado se torna um ponto de montagem, como /home.)
Você parece ter um equívoco sobre os recursos do SMART.
SMART não é para verificar partições, mas para verificar as estatísticas/erros das unidades de hardware. Não fará diferença se você executar ou ,
smartctl
a saída sempre fará referência à unidade física ./dev/sda
/dev/sda1
/dev/sda