é / dev / dm-1 uma partição ou um dispositivo de bloco inteiro?

5

Existe uma maneira de descobrir se /dev/dm-1 é uma partição de dispositivo de bloco ou um dispositivo de bloco inteiro? Se /dev/dm-1 for uma partição, existe uma maneira de descobrir o caminho para o dispositivo de bloco inteiro correspondente?

    
por Loic Dachary 15.08.2015 / 12:57

4 respostas

2

Para um dado dm-x com M maior, menor m, existe um arquivo /sys/dev/block/M:m/dm/uuid correspondente. Se o conteúdo do arquivo uuid começar com part , é seguro assumir que é uma partição. O dispositivo inteiro correspondente é encontrado em /sys/dev/block/M:n/slaves/ . Por exemplo:

[centos@try ~]$ cat /sys/dev/block/253:0/dm/uuid
mpath-353333330000007d0
[centos@try ~]$ cat /sys/dev/block/253:1/dm/uuid
part1-mpath-353333330000007d0
[centos@try ~]$ ls -l /sys/dev/block/253:1/slaves
total 0
lrwxrwxrwx. 1 root root 0 15 août  22:06 dm-0 -> ../../dm-0
    
por 16.08.2015 / 00:08
7

Cada partição é um dispositivo de bloco "inteiro". Você poderia subdividir qualquer partição e, em seguida, subdividi-la novamente e novamente ...

No seu exemplo, dm-1 poderia ser mapeado para qualquer coisa, um dispositivo bruto, uma abstração de dispositivo dmcrypt, um volume lógico em um grupo de volumes cryed por MD-RAID, multi-caminho e dm.

O número dm-X basicamente era apenas um número livre arbitrário quando o dispositivo foi inicializado. Em hosts sem muitas alterações na camada de dispositivo de bloco durante o tempo de execução, esses números são apenas alocados em ordem natural na inicialização.

Mas a maioria dos mecanismos de mapeamento de dispositivos também permite que você especifique um alias para o seu mapeamento. Confira ls -l /dev/mapper/ .

Para visualizar as relações hierárquicas entre dispositivos de bloco, você pode usar o lsblk (List block-devices). Exemplo de saída abreviada abaixo:

$ lsblk /dev/sdb
NAME                   MAJ:MIN  TYPE
sdb                      8:128  disk
├─sdb1                   8:129  part
└─sdb5                   8:133  part
  └─crypto (dm-0)        252:0  crypt
    ├─ubuntu-root (dm-1) 252:1  lvm
    └─ubuntu-swap (dm-2) 252:2  lvm
    
por 15.08.2015 / 23:59
2

O comando lsblk é uma maneira conveniente de exibir informações sobre dispositivos de bloco, incluindo quais dispositivo de mapeamento de dispositivo vai para onde.

    
por 15.08.2015 / 15:54
1

/ dev / dm-1 é para "mapeador de dispositivos n.1".

Basicamente, é uma unidade lógica criada usando a camada de mapeamento de dispositivo incorporado do kernel. Do ponto de vista de um aplicativo do espaço do usuário, é um dispositivo de bloco RAW.

Usando pvs e lvdisplay , poderemos lhe informar o disco físico / partição específico que o suporta.

    
por 15.08.2015 / 15:30