Qual é o significado do bitmap no mdstat

11

Há pouco tempo, criei uma nova matriz RAID de software ( mdadm) com 4 unidades em RAID6 . Parece funcionar muito bem. mdstatsegue:

Personalities : [raid6] [raid5] [raid4] 
md0 : active raid6 sda1[0] sde1[3] sdd1[2] sdb1[1]
      1953260544 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>

O que está me incomodando é a bitmap: 0/8 pagesparte que eu não entendo.

A questão é: esse é um problema em potencial ou não? E, por favor, elabore um pouco sobre o que realmente é o bitmap .

A seguir, detalhes completos dessa matriz:

/dev/md0:
        Version : 1.2
  Creation Time : Tue Nov  1 13:44:13 2016
     Raid Level : raid6
     Array Size : 1953260544 (1862.77 GiB 2000.14 GB)
  Used Dev Size : 976630272 (931.39 GiB 1000.07 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Fri Dec  2 13:05:18 2016
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : backup-server:0  (local to host backup-server)
           UUID : 023f115d:212b130c:f05b072b:b14c2819
         Events : 1664

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1
LinuxSecurityFreak
fonte

Respostas:

13

A linha de bitmap/proc/mdstat indica quanto de memória está sendo usado para armazenar em cache o bitmap com intenção de gravação .

Basicamente, nas configurações de RAID com dispositivos redundantes, é mdadmpossível usar um "bitmap" para rastrear quais blocos podem estar fora de sincronia (porque eles foram gravados). Quando um bloco é gravado no mdadmdispositivo, ele é sinalizado no bitmap e, em seguida, gravado nos dispositivos subjacentes; depois que o tempo passa sem atividade no bloco que mdadmpode ter certeza de que foi gravado em todos os dispositivos, o sinalizador é removido do bitmap. É útil acelerar as ressincronizações após uma falha no sistema ou depois que um disco é removido e adicionado novamente (sem ser alterado).

No seu caso, 0/8 significa que nenhuma memória está sendo usada para o cache de bitmap na memória. Isso é bom: há uma boa chance de que todos os dispositivos subjacentes sejam sincronizados. (Em teoria, pode haver entradas no bitmap do disco que não são armazenadas em cache na memória, mas isso é improvável se o cache estiver completamente vazio.)

md(4) tem mais informações.

Stephen Kitt
fonte