<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://k2.ixota.com/index.php?action=history&amp;feed=atom&amp;title=Linux%2Fmdadm</id>
	<title>Linux/mdadm - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://k2.ixota.com/index.php?action=history&amp;feed=atom&amp;title=Linux%2Fmdadm"/>
	<link rel="alternate" type="text/html" href="https://k2.ixota.com/index.php?title=Linux/mdadm&amp;action=history"/>
	<updated>2026-06-26T12:33:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>https://k2.ixota.com/index.php?title=Linux/mdadm&amp;diff=5099&amp;oldid=prev</id>
		<title>Kenneth: /* Notes */</title>
		<link rel="alternate" type="text/html" href="https://k2.ixota.com/index.php?title=Linux/mdadm&amp;diff=5099&amp;oldid=prev"/>
		<updated>2019-02-22T16:20:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Notes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== mdadm ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;mdadm is a Linux utility by Neil Brown that is used to manage RAID devices, previously known as mdctl. Besides managing, it can create, delete, or monitor Linux software RAIDs. Available under version 2 or later of the GNU General Public License, mdadm is free software. Mdadm derives its name from the “md” (multiple disk) device nodes it manages.&amp;quot; [http://en.wikipedia.org/wiki/Mdadm]&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
Show all md devices status:&lt;br /&gt;
 cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Show md device details:&lt;br /&gt;
 mdadm --detail /dev/md0&lt;br /&gt;
&lt;br /&gt;
Create RAID 0 (stripe):&lt;br /&gt;
 mdadm --create --verbose /dev/md0 --level=raid0 --raid-devices=3 /dev/hd[cde]1&lt;br /&gt;
&lt;br /&gt;
Create RAID 5 (stripe with parity):&lt;br /&gt;
 mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sd[cde]1&lt;br /&gt;
 mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[cdef]1&lt;br /&gt;
&lt;br /&gt;
Add partition to md device:&lt;br /&gt;
 mdadm /dev/md0 --add /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Fail and remove partition of md device:&lt;br /&gt;
 mdadm /dev/md0 --fail /dev/sdb1&lt;br /&gt;
 mdadm /dev/md0 --remove /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Start drive without resync:&lt;br /&gt;
 mdadm -S /dev/md0&lt;br /&gt;
 mdadm -A --assume-clean /dev/md0&lt;br /&gt;
&lt;br /&gt;
Create /etc/mdadm.conf (high to low detail, any will work) [https://serverfault.com/questions/170817/software-mdadm-raid-5-inactive-md0-showing]&lt;br /&gt;
 mdadm --detail --scan --verbose &amp;gt; /etc/mdadm.conf&lt;br /&gt;
 mdadm --detail --scan &amp;gt; /etc/mdadm.conf&lt;br /&gt;
 mdadm --examine --scan &amp;gt; /etc/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
 # ubuntu uses /etc/mdadm/mdadm.conf&lt;br /&gt;
 sudo mdadm --examine --scan --config=/etc/mdadm/mdadm.conf&lt;br /&gt;
 sudo mdadm --examine --scan --config=/etc/mdadm/mdadm.conf &amp;gt;&amp;gt; /etc/mdadm/mdadm.conf&lt;br /&gt;
 sudo mdadm -A /dev/md0&lt;br /&gt;
&lt;br /&gt;
Stop array:&lt;br /&gt;
 mdadm --stop /dev/md0&lt;br /&gt;
&lt;br /&gt;
Start (assemble) array:&lt;br /&gt;
 mdadm --assemble /dev/md0&lt;br /&gt;
&lt;br /&gt;
Add disk to RAID 5:&lt;br /&gt;
 unmount /dev/md1&lt;br /&gt;
 mdadm --add /dev/md1 /dev/sdb3&lt;br /&gt;
 mdadm --grow --raid-devices=4 /dev/md1&lt;br /&gt;
 &lt;br /&gt;
 # wait for rebuild...&lt;br /&gt;
 watch -dc cat /proc/mdstat&lt;br /&gt;
 e2fsck -f /dev/md3&lt;br /&gt;
 resize2fs /dev/md3&lt;br /&gt;
&lt;br /&gt;
fdisk to &amp;#039;Linux raid&amp;#039;:&lt;br /&gt;
 type &amp;#039;fd&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
 /dev/sdb1            2048  1953525167   976761560   fd  Linux raid autodetect&lt;br /&gt;
&lt;br /&gt;
== Common mdadm commands ==&lt;br /&gt;
&lt;br /&gt;
Generate mdadm.conf&lt;br /&gt;
 cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.save&lt;br /&gt;
 /usr/share/mdadm/mkconf --generate &amp;gt; /etc/mdadm/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
Create RAID&lt;br /&gt;
 mdadm --create /dev/md2 --raid-devices=3 --spare-devices=0 --level=5 --run /dev/sd[cde]1&lt;br /&gt;
&lt;br /&gt;
Remove disk from RAID&lt;br /&gt;
 mdadm --fail /dev/md0 /dev/sda1&lt;br /&gt;
 mdadm --remove /dev/md0 /dev/sda1&lt;br /&gt;
&lt;br /&gt;
Copy the partition structure (when replacing a failed drive)&lt;br /&gt;
 sfdisk -d /dev/sda | sfdisk /dev/sdb &lt;br /&gt;
 mdadm --zero-superblock /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Add a disk to a RAID array (to replace a removed failed drive)&lt;br /&gt;
 mdadm --add /dev/md0 /dev/sdf1&lt;br /&gt;
&lt;br /&gt;
Check RAID status&lt;br /&gt;
 cat /proc/mdstat&lt;br /&gt;
 mdadm --detail /dev/md0&lt;br /&gt;
&lt;br /&gt;
Reassemble a group of RAID disks&lt;br /&gt;
 #This works to move an assembly from one physical machine to another.&lt;br /&gt;
 mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1&lt;br /&gt;
&lt;br /&gt;
Steps to emulate mdrun (which has been depreciated)&lt;br /&gt;
 # haven&amp;#039;t tested this. Use with care&lt;br /&gt;
 mdadm --examine --scan --config=partitions &amp;gt; /tmp/mdadm.conf&lt;br /&gt;
 mdadm --assemble --scan --config=/tmp/mdadm.conf&lt;br /&gt;
&lt;br /&gt;
Add a disk to an existing RAID and resize the filesystem&lt;br /&gt;
 mdadm --add /dev/md0 /dev/sdg1&lt;br /&gt;
 mdadm --grow /dev/md0 -n 5&lt;br /&gt;
 e2fsck -f /dev/md0&lt;br /&gt;
 resize2fs /dev/md0&lt;br /&gt;
 e2fsck -f /dev/md0&lt;br /&gt;
&lt;br /&gt;
Replace all disks in an array with larger drives and resize&lt;br /&gt;
 # For each drive in the existing array&lt;br /&gt;
 mdadm --fail /dev/md0 /dev/sda1&lt;br /&gt;
 mdadm --remove /dev/md0 /dev/sda1&lt;br /&gt;
 # physically replace the drive&lt;br /&gt;
 mdadm --add /dev/md0 /dev/sda1&lt;br /&gt;
 # now, wait until md0 is rebuilt.&lt;br /&gt;
 # this can literally take days&lt;br /&gt;
&lt;br /&gt;
 # All drives have been replaced and sync&amp;#039;d, but they still use the original size.&lt;br /&gt;
 # Issue the following command to use all available space:&lt;br /&gt;
 mdadm --grow /dev/md0  --size=max&lt;br /&gt;
&lt;br /&gt;
 # Do not forget to resized the file system which sits on the raid set:&lt;br /&gt;
 # for ext2/3/4&lt;br /&gt;
 e2fsck -f /dev/md0 &amp;amp;&amp;amp; resize2fs /dev/md0 &amp;amp;&amp;amp; e2fsck -f /dev/md0&lt;br /&gt;
 # for lvm pv&lt;br /&gt;
 pvresize /dev/md0&lt;br /&gt;
 # for ntfs&lt;br /&gt;
 ntfsresize /dev/md0&lt;br /&gt;
 # note, most likely ntfs is NOT exported as a single partition. In the case&lt;br /&gt;
 # of a Xen hvm machine, it is a &amp;quot;disk device&amp;quot; so you will need to resize the&lt;br /&gt;
 # partition itself, then resize ntfs.&lt;br /&gt;
&lt;br /&gt;
Stop and remove the RAID device&lt;br /&gt;
 mdadm --stop /dev/md0&lt;br /&gt;
 mdadm --remove /dev/md0&lt;br /&gt;
&lt;br /&gt;
Destroy an existing array&lt;br /&gt;
 mdadm --manage /dev/md2 --fail /dev/sd[cde]1&lt;br /&gt;
 mdadm --manage /dev/md2 --remove /dev/sd[cde]1&lt;br /&gt;
 mdadm --manage /dev/md2 --stop&lt;br /&gt;
 mdadm --zero-superblock /dev/sd[cde]1&lt;br /&gt;
&lt;br /&gt;
Speed up a sync (after drive replacement)&lt;br /&gt;
 cat /proc/sys/dev/raid/speed_limit_max&lt;br /&gt;
 200000&lt;br /&gt;
&lt;br /&gt;
Rename an existing array&lt;br /&gt;
 mdadm --stop /dev/md127&lt;br /&gt;
 mdadm -A /dev/md0 -m127 --update=super-minor /dev/sd[bcd]&lt;br /&gt;
&lt;br /&gt;
Source: Linux Server Tech FAQ - Common mdadm commands - http://wiki.linuxservertech.com/index.php?action=artikel&amp;amp;cat=7&amp;amp;id=11&amp;amp;artlang=en&lt;br /&gt;
&lt;br /&gt;
== LVM ==&lt;br /&gt;
&lt;br /&gt;
See [[LVM]]&lt;br /&gt;
&lt;br /&gt;
== Larger than 2TB RAID ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get larger than 2TB you need GPTs&lt;br /&gt;
&lt;br /&gt;
 parted /dev/sdb&lt;br /&gt;
  mklabel gpt&lt;br /&gt;
  print free&lt;br /&gt;
  mkpart primary 1M 4001GB&lt;br /&gt;
  p&lt;br /&gt;
  set 1 raid on&lt;br /&gt;
  align-check&lt;br /&gt;
     optimal&lt;br /&gt;
     1&lt;br /&gt;
  q&lt;br /&gt;
&lt;br /&gt;
 mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sd[bcd]1&lt;br /&gt;
 mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sd[bcde]1&lt;br /&gt;
&lt;br /&gt;
 mkfs.ext4 /dev/md0 -L /ci&lt;br /&gt;
&lt;br /&gt;
 cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
 parted -a optimal /dev/sdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ref:&lt;br /&gt;
* server - How can I create a RAID array with &amp;gt;2TB disks? - Ask Ubuntu - https://askubuntu.com/questions/350266/how-can-i-create-a-raid-array-with-2tb-disks&lt;br /&gt;
* A guide to mdadm - Linux Raid Wiki - https://raid.wiki.kernel.org/index.php/A_guide_to_mdadm&lt;br /&gt;
* Using parted to create a RAID primary partition — Lucid Solutions - https://plone.lucidsolutions.co.nz/linux/io/using-parted-to-create-a-raid-primary-partition&lt;br /&gt;
&lt;br /&gt;
== Handle Drive Failure ==&lt;br /&gt;
&lt;br /&gt;
Fail device:&lt;br /&gt;
 mdadm /dev/md0 --fail /dev/sdb1    # -f&lt;br /&gt;
   mdadm: set /dev/sdb1 faulty in /dev/md0&lt;br /&gt;
&lt;br /&gt;
Remove failed device:&lt;br /&gt;
 mdadm /dev/md0 --remove /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
Verify failed device:&lt;br /&gt;
 mdadm --detail /dev/md0&lt;br /&gt;
&lt;br /&gt;
Add device to md:&lt;br /&gt;
 mdadm /dev/md0 --add /dev/sdb1    # -a&lt;br /&gt;
&lt;br /&gt;
Verify rebuild:&lt;br /&gt;
 mdadm --detail /dev/md0&lt;br /&gt;
 cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Handling a Drive Failure - http://www.gagme.com/greg/linux/raid-lvm.php#failure&lt;br /&gt;
&lt;br /&gt;
=== Force Partial Failure Recovery ===&lt;br /&gt;
&lt;br /&gt;
inactive array (missing 2 devices due to io failure)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
md4 : inactive sdf3[5] sde3[4] sdd3[3] sdc3[2]&lt;br /&gt;
      5780957696 blocks&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/mdadm.conf&lt;br /&gt;
 ARRAY /dev/md4 level=raid5 num-devices=6 UUID=f0ce1e02:2cd38a68:6ffb704c:fe6e32b0&lt;br /&gt;
&lt;br /&gt;
Stop array:&lt;br /&gt;
 mdadm --stop /dev/md4&lt;br /&gt;
&lt;br /&gt;
Forcefully Rebuild Array:&lt;br /&gt;
 mdadm -A --force /dev/md4 /dev/sd[acdef]3&lt;br /&gt;
 # notice &amp;#039;b&amp;#039; is missing as it is dead dead&lt;br /&gt;
 # but &amp;#039;a&amp;#039; is only partially dead (random io errors)&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* linux - How to get an inactive RAID device working again? - Super User - http://superuser.com/questions/117824/how-to-get-an-inactive-raid-device-working-again&lt;br /&gt;
&lt;br /&gt;
== Bring online auto-read-only ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /proc/mdstat &lt;br /&gt;
Personalities : [raid1] &lt;br /&gt;
md1 : active (auto-read-only) raid1 sde1[1] sdd1[0]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bring online:&lt;br /&gt;
&lt;br /&gt;
 mdadm --readwrite /dev/md1&lt;br /&gt;
&lt;br /&gt;
Ref:&lt;br /&gt;
* raid - New md array is auto-read-only and has resync=PENDING - Unix &amp;amp; Linux Stack Exchange - https://unix.stackexchange.com/questions/101072/new-md-array-is-auto-read-only-and-has-resync-pending&lt;br /&gt;
* linux - How do I reactivate my MDADM RAID5 array? - Super User - https://superuser.com/questions/603481/how-do-i-reactivate-my-mdadm-raid5-array&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
See [[mdadm/Notes]]&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
		
	</entry>
</feed>