Título original: Mapeamento de disco LVM indesejado e surpresa causando problemas com o ataque do linux
Eu fiz um ataque linux no Ubuntu por quase uma década, mas nunca mexi com o LVM, embora eu esteja vagamente ciente de que existe.
Eu adicionei um segundo array no meu servidor recentemente, o deixei totalmente funcional, copiei alguns arquivos para ele (é apenas um sistema de backup, nenhum arquivo crítico em risco aqui).
Uma semana se passou e, quando olhei para o array de backup, vi que ele é somente leitura. Além disso, os dispositivos mostrados em /proc/mdstat para o array, em vez de serem /dev/sdX como eram quando estava funcionando e eu estava usando antes, parecem /dev/dm-X.
$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md1 : active (read-only) raid5 dm-0[0] dm-2[3] dm-1[1]
31249539072 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
bitmap: 0/117 pages [0KB], 65536KB chunk
md0 : active raid6 sdj1[6] sdm1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1] sda1[0]
29296547840 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
bitmap: 0/44 pages [0KB], 65536KB chunk
unused devices: <none>
Pesquisando no Google, descobri que os dispositivos dm-X são mapeamento de disco LVM. dmsetup mostra que são os discos que eu espero
# dmsetup ls
osprober-linux-sdh1 (253:1)
osprober-linux-sdi1 (253:2)
osprober-linux-sdg1 (253:0)
# lvdisplay -a
# lvs
# pvs
#
Meu entendimento era que o LVM era algo que você tinha que planejar muito explicitamente para usar e configurar? Tanto quanto sei, acima, é o primeiro comando relacionado ao LVM que eu já executei na minha vida, então não sei como isso foi ativado e especificamente apenas para 3 dispositivos no meu novo array md (mas nenhum outro dispositivo liga ou desliga minha outra matriz).
Para configurar as coisas, particionei manualmente os dispositivos com parted, criei manualmente um array raid com mdadm, formatei o array para ext4, copiei arquivos para ele e deixei-o lá. Nada disso envolvia LVM e os dispositivos montados com mdadm eram as partições de disco padrão (/dev/sdX1) que eu tinha acabado de criar. As únicas operações em que posso pensar em agir em qualquer dispositivo relacionado na semana foram executadas mdadm --assemble --scan
para encontrar os volumes md e seus dispositivos dinamicamente e mount -a
remontar as entradas fstab.
Talvez eu tenha feito outra coisa que esqueci, embora não possa ter sido alguma configuração específica do LVM, porque não tenho idéia de como fazer isso. Eu fiz algumas experiências com o prometheus e o node-exporter, gostaria de saber se isso pode ser um efeito colateral disso?
O problema que está causando é que o LVM está bloqueando os "arquivos" /dev/sdX reais, então agora não posso usá-los para montar manualmente o array
# mdadm --assemble /dev/md1 /dev/sdg1 /dev/sdh1 /dev/sdi1
mdadm: /dev/sdg1 is busy - skipping
mdadm: /dev/sdh1 is busy - skipping
mdadm: /dev/sdi1 is busy - skipping
Eu só posso montá-los manualmente nos dispositivos dm-X
# mdadm --assemble /dev/md1 /dev/dm-0 /dev/dm-1 /dev/dm-2
mdadm: /dev/md1 has been started with 3 drives.
ou montar automaticamente
# mdadm --assemble --scan
mdadm: /dev/md/1 has been started with 3 drives.
# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md1 : active (read-only) raid5 dm-0[0] dm-2[3] dm-1[1]
31249539072 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
bitmap: 0/117 pages [0KB], 65536KB chunk
Por qualquer motivo, os dispositivos dm-X são (efetivamente ou formalmente) somente leitura e, portanto, a matriz montada a partir deles também é somente leitura.
Não entendendo realmente o que estou vendo ou como ficou assim, não tenho certeza de como formular a pergunta final aqui, mas quero montar meu array no modo de leitura/gravação e fazê-lo como sempre fiz , sem qualquer envolvimento do LVM. Como eu posso fazer isso?