11

Not long ago, I have created new Software RAID array (mdadm) with 4 drives in RAID6. It seems to work just fine. mdstat follows:

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>

What is bugging me, is the bitmap: 0/8 pages part, which I don't understand.

The question is: Is this a potential problem or not? And please, elaborate a little on what the bitmap is actually about.

Full detail of this array follows:

/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
13

The bitmap line in /proc/mdstat indicates how much memory is being used to cache the write-intent bitmap.

Basically, in RAID setups with redundant devices, mdadm can use a "bitmap" to keep track of which blocks may be out of sync (because they've been written to). When a block is written to the mdadm device, it is flagged in the bitmap, and then written to the underlying devices; once enough time has passed without activity in the block that mdadm can be sure that it's been written to all the devices, the flag is removed from the bitmap. It's useful to speed up resyncs after a system crash, or after a disk is removed and re-added (without being changed).

In your case, 0/8 means that no memory is being used for the in-memory bitmap cache. This is a good thing: there's a good chance that all the underlying devices are synced. (In theory there could be entries in the on-disk bitmap that aren't cached in memory, but that's unlikely if the cache is completely empty.)

md(4) has more information.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.