Decidi aumentar meu array raid6:
- from: 7x 2TB drives (giving usable space of ~9TB in ext4/raid6)
- to: 7x 4TB drives (giving usable space of ~18TB in ext4/raid6)
Substituí todas as sete unidades e todas elas contêm a seguinte estrutura e foram adicionadas de forma limpa à matriz.
sda 3.6T
└─sda1 linux_raid_member 3.6T
└─md0 LVM2_member 18.2T
└─shared-c ext4 9.1T /shared
sdb 3.6T
└─sdb1 linux_raid_member 3.6T
└─md0 LVM2_member 18.2T
└─shared-c ext4 9.1T /shared
sdc 3.6T
└─sdc1 linux_raid_member 3.6T
└─md0 LVM2_member 18.2T
└─shared-c ext4 9.1T /shared
.. continues thru to sdg in same way ...
Em seguida, executei o comando grow no array, que o expandiu para o tamanho esperado:
// command I ran:
mdadm --grow /dev/md0 --size=max
// output from mdadm --detail /dev/md0 after grow command
/dev/md0:
Version : 1.2
Creation Time : Sun May 15 08:22:07 2016
Raid Level : raid6
Array Size : 19535080000 (18.19 TiB 20.00 TB)
Used Dev Size : 3907016000 (3.64 TiB 4.00 TB)
Raid Devices : 7
Total Devices : 7
Persistence : Superblock is persistent
Update Time : Tue Jun 11 01:26:08 2024
State : clean
Active Devices : 7
Working Devices : 7
Failed Devices : 0
Spare Devices : 0
Em seguida, tentei redimensionar o sistema de arquivos usando resize2fs usando o seguinte comando:
resize2fs /dev/mapper/shared-c
Mas disse que não havia nada a fazer - meu palpite é que não está reconhecendo o espaço adicional na matriz. Desde então, fiz algumas pesquisas que sugerem que eu deveria fazer algo com o volume físico e os volumes lógicos, mas nenhum espaço livre está sendo mostrado lá também...
// output of pvdisplay
--- Physical volume ---
PV Name /dev/md0
VG Name shared
PV Size 9.07 TiB / not usable <5.38 MiB
Allocatable yes
PE Size 64.00 MiB
Total PE 148681
Free PE 160
Allocated PE 148521
PV UUID 7wxoRZ-LhVL-3WV5-pRcs-LT9q-r0Em-KHClad
// output of lvdisplay
--- Logical volume ---
LV Path /dev/shared/c
LV Name c
VG Name shared
LV UUID IR9ohg-TWPk-loPX-OcVg-vajS-hSb9-eubJMa
LV Write Access read/write
LV Creation host, time ,
LV Status available
# open 1
LV Size <9.07 TiB
Current LE 148521
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 1280
Block device 253:0
Não tenho certeza de qual é o próximo passo neste processo agora - parte de mim pensa que deveria estar fazendo um pvresize, mas o resultado disso mostra apenas 5,38 MB de espaço não utilizado, enquanto eu presumiria que o número deveria estar no TB território para o pvresize funcionar.
A matriz está funcionando no momento e todos os arquivos da matriz estão intactos e corretos - o ideal é mantê-lo assim.
Decidi vestir minha calça de garotão, cerrar os dentes e seguir em frente.
Se o seu sistema estiver usando LVM, recomendo uma introdução ao LVM porque tornará as coisas um pouco mais claras: https://www.techtarget.com/searchdatacenter/definition/logical-volume-management-LVM
Esta resposta também ajudou muito: https://serverfault.com/questions/695902/extending-lvm-volume-groups-with-physical-extents-pvresize
pvdisplay estava mostrando isso ...
no entanto, lvmdiskscan estava mostrando isso ...
Isso me disse que as partições subjacentes estavam reportando a capacidade total ao LVM, mas o volume físico [LVM] (localizado em /dev/md0) não estava ocupando a quantidade de espaço disponível.
Então os próximos passos foram:
Montado, todos os dados presentes e expandidos com sucesso. Processo muito estressante, mas de muito aprendizado. Espero que isso ajude as pessoas no futuro.