nomeação de dispositivo persistente para dispositivos de armazenamento NVMe

1

A nomeação simples do kernel do Linux para um dispositivo de armazenamento (por exemplo, / dev / sda, / dev / sdb) pode mudar aleatoriamente entre as inicializações. Isso é verdade para dispositivos de armazenamento NVMe também? Estes têm nomes como / dev / nvme0n1p1 e / dev / nvme0n1p2, etc.

    
por MountainX 27.06.2018 / 01:51

1 resposta

2

Short: Não. Você não pode confiar no nome do descritor. E você provavelmente nunca irá.

O padrão de nomenclatura NVMe descreve:

  • nvme0: primeiro controlador de dispositivo do dispositivo registrado
  • nvme0n1: primeiro namespace do primeiro dispositivo registrado
  • nvme0n1p1: primeiro primeiro namespace do dispositivo registrado partição

Portanto, a nomenclatura geral depende do layout físico. E isso pode mudar dependendo do caso de uso, adicionando / removendo dispositivos de bloco, falhas de unidade, etc.

Basicamente o mesmo que com os descritores sd_.

O que você pode confiar é a ordem das partições listadas para cada dispositivo, pois elas são armazenadas e lidas na tabela de partições do dispositivo de bloco. Contanto que você não altere o layout da partição, a ordem permanece a mesma.

No final, referir-se ao dispositivo UUID ou PARTUUID ainda é a melhor prática, mesmo com o NVMe. Dependendo do caso de uso, referir-se ao LABEL pode ser mais conveniente.

    
por 27.06.2018 / 06:45