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

  • FreePBX 17 How To Add a Trunk
  • Docker Container Onboot Policy - How to make sure a container is always running
  • FreePBX 17 How To Add Phones / Extensions and Register
  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer
  • Cisco CME How To Configure SIP Trunk VOIP
  • Virtualbox host Only Network Error Failed to save host network interface parameter - Cannot change gateway IP of host only network
  • Cisco CME and C7200 Router Testing and Learning Environment on Ubuntu 20+ Setup Tutorial Guide
  • Abusive IP ranges blacklist