mdadm enable bitmap to speed up rebuilds

Have you ever unplugged the wrong drive and then had to rebuild the entire array?  It may not be a big deal in some ways but it does make your system vulnerable until the rebuild is done.

Many distros often enable the "bitmap" feature and this basically keeps track of what parts need to be resynced in the case of a temporary removal of a drive from the array, this way it only needs to sync what has changed.

To enable bitmap to speed up rebuilds and sync only the changed data

mdadm --grow /dev/md12 --bitmap=internal

Once you do that when you do a cat /proc/mdstat you\'ll see the change (with bitmap: being mentioned):

md12 : active raid1 sde1[0] sdd1[1]
      1953511936 blocks [2/2] [UU]
      bitmap: 233/233 pages [932KB], 4096KB chunk

 

Here's what happens when unpulgging a drive from  a RAID 1:

[46911.392690] raid1: sde1: rescheduling sector 1953247352
[46911.425512] raid1: Disk failure on sde1, disabling device.
[46911.425513] raid1: Operation continuing on 1 devices.
[46911.425529] raid1: sdd1: redirecting sector 1953247352 to another mirror
[46911.544209] RAID1 conf printout:
[46911.544213]  --- wd:1 rd:2
[46911.544215]  disk 0, wo:1, o:0, dev:sde1
[46911.544216]  disk 1, wo:0, o:1, dev:sdd1
[46911.560862] RAID1 conf printout:
[46911.560864]  --- wd:1 rd:2
[46911.560867]  disk 1, wo:0, o:1, dev:sdd1


When readding it, they were both still sync'd almost instantly, this is because no changes were really made.

md12 : active raid1 sdf1[0] sde1[2](F) sdd1[1]
      1953511936 blocks [2/2] [UU]
      bitmap: 0/233 pages [0KB], 4096KB chunk


Tags:

mdadm, enable, bitmap, rebuildshave, unplugged, rebuild, array, distros, quot, feature, resynced, removal, sync, rebuilds, dev, md, proc, mdstat, ll, active, raid, sde, sdd, uu, kb, chunk, unpulgging, rescheduling, sector, disk, disabling, continuing, devices, redirecting, conf, printout, wd, rd, wo, readding, instantly, sdf,

Latest Articles

  • Linux tftp listens on all interfaces and IPs by DEFAULT Security Risk Hole Solution
  • python import docx error
  • Cisco Unified Communications Manager Express Cheatsheet CUCME CME
  • Linux Ubuntu Debian Missing privilege separation directory: /var/run/sshd
  • bash how to count the number of columns or words in a line
  • bash if statement how to test program output without assigning to variable
  • RTNETLINK answers: Network is unreachable
  • Centos 7 how to save iptables rules like Centos 6
  • nfs tuning maximum amount of connections
  • qemu-kvm error "Could not initialize SDL(No available video device) - exiting"
  • Centos 7 tftpd will not work with selinux enabled
  • Debian Ubuntu Mint Howto Create Bridge (br0)
  • How To Control Interface that dhcpd server listens to on Debian based Linux like Mint and Ubuntu
  • LUKS unable to type password to unlock during boot on Debian, Ubuntu and Mint
  • Debian Ubuntu and Linux Mint Broken Kernel After Date - New Extra Module Naming Convention
  • Wordpress overwrites and wipes out custom htaccess rules and changes soluton
  • Apache htaccess and mod_rewrite how to redirect and force all URLs and visitors to the SSL / HTTPS version
  • python 3 pip cannot install mysql module
  • QEMU-KVM won't boot Windows 2016 or 2019 server on an Intel Core i3
  • Virtualbox vbox not starting