Eu tenho uma instalação do Ubuntu 17.10 x86_64 (kernel 4.13 de estoque) com um SSD e três HDDs de 1 TB WD, cada um com uma partição de 750 GB que é usada em um array RAID5 de 1.45TB. O SSD tem o meu /
, e o array RAID tem o LVM definido que eu uso para /home
.
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdc1[3] sdd1[1] sdb1[0]
1572601856 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
[====>................] resync = 21.3% (168261416/786300928) finish=64.7min speed=159157K/sec
bitmap: 6/6 pages [24KB], 65536KB chunk
Funcionou bem até a época do Natal, desde quando eu tenho repetidamente ligado meu computador e descobri:
[ 2.334153] md/raid:md0: not clean -- starting background reconstruction
[ 2.334164] md/raid:md0: device sdc1 operational as raid disk 2
[ 2.334165] md/raid:md0: device sdd1 operational as raid disk 1
[ 2.334165] md/raid:md0: device sdb1 operational as raid disk 0
[ 2.334333] md/raid:md0: raid level 5 active with 3 out of 3 devices, algorithm 2
[ 2.334479] md0: bitmap file is out of date (39126 < 39127) -- forcing full recovery
[ 2.334493] md0: bitmap file is out of date, doing full recovery
[ 2.422418] md0: detected capacity change from 0 to 1610344300544
[ 2.422606] md: resync of RAID array md0
...
[ 9.537010] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
Portanto, para ficar claro, este é o bitmap em si está desatualizado e, portanto, uma ressincronização completa (lenta) ocorre. O sistema de arquivos é limpo. Eu suponho que é um problema de temporização no desligamento e o LVM está sendo desmontado, mas o RAID não parou antes de ser desligado? Não vejo nenhum comportamento estranho quando desligo a máquina. Os syslogs mostram algumas coisas desligando e é isso.
Se eu fizer uma parada em vez de um poweroff isso reduz drasticamente as chances de isso acontecer, mas isso ainda acontece esta manhã, portanto, finalmente escrevendo sobre isso depois de ficar sem idéias por três meses.
Detalhe da matriz RAID:
/dev/md0:
Version : 1.2
Creation Time : Fri Sep 11 17:49:27 2015
Raid Level : raid5
Array Size : 1572601856 (1499.75 GiB 1610.34 GB)
Used Dev Size : 786300928 (749.88 GiB 805.17 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Apr 2 08:38:28 2018
State : active, resyncing
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Resync Status : 52% complete
Name : underlay:0 (local to host underlay)
UUID : 520c8995:8d934562:0e2f5b8e:d460bfed
Events : 40381
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 49 1 active sync /dev/sdd1
3 8 33 2 active sync /dev/sdc1
Eu nem sei como investigar isso ainda mais. Eu configurei o GRUB para desabilitar as telas iniciais para que eu possa assistir ao dmesg na tela e não ver nada de interessante. Às vezes, os serviços falharam em sair e o systemd esperou pelos anos 90 antes de matá-los. Eu não fui capaz de descobrir quais são e se eles seriam os únicos que causam um desmembramento seguro, mas um RAID inseguro (desativar, desativar, desmontar?). Eu nem entendo como o kernel normalmente desativa os RAIDs para ver o que está fazendo errado aqui.
Em segundo lugar, qualquer sugestão sobre uma ressincronização de RAID que não destrua totalmente a interatividade da minha área de trabalho seria apreciada. O afogamento de IO via /proc/sys/dev/raid/speed_limit_max
não funciona da maneira que eu esperava, meu computador apenas sincroniza a toda velocidade, por exemplo, 10s então espera por 3s, então ele sincroniza mais devagar e ainda é chato de usar por duas horas.