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

  • VMWare Pro Workstation Nic Disconnected and No IP Using NAT
  • Linux How To Create A RamDisk
  • mdadm force resync when resync=PENDING solution
  • Proxmox Breaks Storage/LVM Backing If Killing QEMU-IMG
  • Proxmox trying to acquire lock... TASK ERROR: can't lock file '/var/lock/qemu-server/lock-102.conf' - got timeout
  • Debian 9 SSH root password authentication failure password not working problem / solution
  • QEMU / KVM How To Manually Create Basic Virtual Machine VM
  • Linux wlan0 check all wireless clients
  • PHP Issues With Decoding Strange Smart Quotes And Non-Standard ASCII Characters
  • /etc/iproute2/rt_tables default settings file in Linux Centos 6,7 and most other NIX's
  • bind named error solutions named[2169]: error (no valid DS) resolving / error (broken trust chain) resolving / : error (no valid RRSIG) resolving 'com/DS/IN':
  • iptables how to log ALL dropped incoming packets
  • How To Edit Linux Based NM Network Manager Connection Settings Without GUI
  • Linux Disable IPV6 Centos / Debian / Mint Howto
  • Linux use growisofs to burn a larger file on a BD-R / Bluray Disc
  • Linux partprobe/partx cannot access last and 4th partition
  • DRBD Errors Caused By Physical Corruption
  • mdadm: add new device failed for /dev/sdb4 as 3: Invalid argument solution
  • Linux named / bind how to dump, view and clear the cache!
  • Centos 6 / 7 / 8 How To Change Default nameservers in /etc/resolv.conf when using DHCP / dhclient