Estou configurando duas matrizes RAID 1 usando mdadm
, parece estar funcionando bem, mas quando faço um check-in lsblk
, vejo o seguinte:
sda 8:0 0 5,5T 0 disk
└─md127 9:127 0 5,5T 0 raid1
├─data-crypt-1 253:5 0 5,5T 0 crypt
│ └─myVg-data 253:6 0 5,5T 0 lvm
├─md127p1 259:5 0 182,4G 0 md
└─md127p2 259:6 0 1,2T 0 md
sdb 8:16 0 5,5T 0 disk
└─md127 9:127 0 5,5T 0 raid1
├─data-crypt-1 253:5 0 5,5T 0 crypt
│ └─myVg-data 253:6 0 5,5T 0 lvm
├─md127p1 259:5 0 182,4G 0 md
└─md127p2 259:6 0 1,2T 0 md
sdc 8:32 0 5,5T 0 disk
└─md126 9:126 0 5,5T 0 raid1
sdd 8:48 0 5,5T 0 disk
└─md126 9:126 0 5,5T 0 raid1
Quais são essas partições (?) md127p1
e md127p2
no meu array? Devo removê-los e, em caso afirmativo, como?
Não parece interferir no array, parece estar ressincronizando conforme o esperado. Mas eu me preocupo que, por exemplo, se alguém montasse dizer md127p1
e escrevesse algo nele, isso corromperia os dados data-crypt-1
(que abrange toda a unidade).
EDITAR:
O problema (se for um problema) persiste após a reinicialização e remontagem.
sudo wipefs --no-act /dev/md127
# DEVICE OFFSET TYPE UUID LABEL
# md127 0x0 crypto_LUKS ba3eab9b-db06-4053-9eb8-4e674931148c
dmesg
relatam um comportamento ligeiramente diferente entre md126
e md127
. Não tenho certeza de como inspecionar a "reconstrução do plano de fundo".
dmesg | grep "md12[67]"
# [ 3.072445] md/raid1:md127: not clean -- starting background reconstruction
# [ 3.072445] md/raid1:md127: active with 2 out of 2 mirrors
# [ 3.107577] md127: detected capacity change from 0 to 6001039835136
# [ 3.112944] md127: AHDI p1 p2 p3
# [ 4.072578] md/raid1:md126: active with 2 out of 2 mirrors
# [ 4.105528] md126: detected capacity change from 0 to 6001039835136
# [ 175.221344] md127: AHDI p1 p2 p3
# [ 252.627169] md127: AHDI p1 p2 p3
# [ 337.950292] md127: AHDI p1 p2 p3
e udevadm
relatórios da seguinte forma:
udevadm info /dev/md127p1
# P: /devices/virtual/block/md127/md127p1
# N: md127p1
# L: 100
# S: disk/by-id/md-name-XYZ:data-array-1-part1
# S: disk/by-id/md-uuid-94gd622:d96sf22:9fb73768:dae5367e-part1
# S: md/XYZ:data-array-1p1
# E: DEVLINKS=/dev/md/XYZ:data-array-1p1 /dev/disk/by-id/md-name-XYZ:data-array-1-part1 /dev/disk/by-id/md-uuid-94gd622:d96sf22:9fb73768:dae5367e-part1
# E: DEVNAME=/dev/md127p1
# E: DEVPATH=/devices/virtual/block/md127/md127p1
# E: DEVTYPE=partition
# E: MAJOR=259
# E: MD_DEVICES=2
# E: MD_DEVICE_ev_sda_DEV=/dev/sda
# E: MD_DEVICE_ev_sda_ROLE=0
# E: MD_DEVICE_ev_sdb_DEV=/dev/sdb
# E: MD_DEVICE_ev_sdb_ROLE=1
# E: MD_DEVNAME=XYZ:data-array-1
# E: MD_LEVEL=raid1
# E: MD_METADATA=1.2
# E: MD_NAME=XYZ:data-array-1
# E: MD_UUID=94gd622:d96sf22:9fb73768:dae5367e
# E: MINOR=5
# E: PARTN=1
# E: SUBSYSTEM=block
# E: SYSTEMD_WANTS=mdmonitor.service
# E: TAGS=:systemd:
# E: USEC_INITIALIZED=337999178
udevadm info /dev/md127p2
# P: /devices/virtual/block/md127/md127p2
# N: md127p2
# L: 100
# S: disk/by-id/md-name-XYZ:data-array-1-part2
# S: disk/by-id/md-uuid-94gd622:d96sf22:9fb73768:dae5367e-part2
# S: md/XYZ:data-array-1p2
# E: DEVLINKS=/dev/disk/by-id/md-name-XYZ:data-array-1-part2 /dev/disk/by-id/md-uuid-94gd622:d96sf22:9fb73768:dae5367e-part2 /dev/md/XYZ:data-array-1p2
# E: DEVNAME=/dev/md127p2
# E: DEVPATH=/devices/virtual/block/md127/md127p2
# E: DEVTYPE=partition
# E: MAJOR=259
# E: MD_DEVICES=2
# E: MD_DEVICE_ev_sda_DEV=/dev/sda
# E: MD_DEVICE_ev_sda_ROLE=0
# E: MD_DEVICE_ev_sdb_DEV=/dev/sdb
# E: MD_DEVICE_ev_sdb_ROLE=1
# E: MD_DEVNAME=XYZ:data-array-1
# E: MD_LEVEL=raid1
# E: MD_METADATA=1.2
# E: MD_NAME=XYZ:data-array-1
# E: MD_UUID=94gd622:d96sf22:9fb73768:dae5367e
# E: MINOR=6
# E: PARTN=2
# E: SUBSYSTEM=block
# E: SYSTEMD_WANTS=mdmonitor.service
# E: TAGS=:systemd:
# E: USEC_INITIALIZED=337999612
hexdump
mostra:
sudo hexdump -C -n 512 /dev/md127
# *
# *
# 000001c0 7c e8 03 4d 62 32 d5 66 37 75 6b e9 12 6d 16 cc ||..Mb2.f7uk..m..|
# 000001d0 96 9e 6f 3d 32 e0 e7 fe 7f f4 9c a1 59 03 19 47 |..o=2.......Y..G|
# 000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
# *
Também observei que não vejo as partições "fantasmas" em algumas máquinas, em particular, não as minhas máquinas DietPi as mostram. Eles aparecem na minha máquina Ubuntu. Além disso, observei que ambos os arrays (md126 e md127) foram criados em uma das máquinas DietPi.
Portanto, este parece ser um caso de detecção incorreta de uma tabela de partição aleatória falsa.
Aqui está um exemplo de uma tabela de partição Atari / AHDI (criada com parted):
Portanto, o bit interessante é um de GEM, BGM, LNX, SWP, RAW em linhas de deslocamento 0x1c0/0x1d0, como pode ser visto em block/partitions/atari.c#L27-L32:
Aqui está um exemplo de um cabeçalho LUKS2:
Portanto, há dados aleatórios nas mesmas linhas 0x1c0 / 0x1d0.
Meu palpite é que você rolou aleatoriamente um GEM, BGM, LNX, SWP, RAW lá, então parece uma tabela de partição para o kernel e, portanto, você detectou suas partições estranhas.
A boa notícia é que, para o cabeçalho LUKS2, esse deslocamento parece representar a soma de verificação do cabeçalho. Ele muda completamente toda vez que você altera alguma coisa no cabeçalho do LUKS2, então... você pode, por exemplo, apenas adicionar outra senha. (e remova-o se você realmente não precisar dele).
Mesmo cabeçalho LUKS2 após a execução
cryptsetup luksAddKey
:Como você pode ver os dados nas linhas 0x1c0/0x1d0 mudaram completamente de antes, então, com alguma sorte, sua tabela de partição falsa também desaparecerá (depois de reler as tabelas de partição). Ao mesmo tempo, é algo que vale a pena observar, pois qualquer alteração futura no cabeçalho pode trazê-lo de volta ...
Suponho que você esteja usando o LUKS2 porque o antigo cabeçalho LUKS1 não armazena dados aleatórios nesse deslocamento e
luksFormat
também zera assim:Portanto, esse problema nem deveria estar ocorrendo com o antigo formato de cabeçalho LUKS1.