Mdadm: Difference between revisions
Created page with "Mdadm is used to create linux MD raids. ==Usage== <syntaxhighlight> # Check the status of /dev/md0 mdadm -D /dev/md0 </syntaxhighlight> ===Create a raid array=== See https://www.tecmint.com/create-raid-6-in-linux/ First use gdisk to create a linux raid partition (FD00) on all your disks. Note that is purely convention and is optional. Then run the following to create /dev/md0. <syntaxhighlight lang="bash"> mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /..." |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
==Usage== | ==Usage== | ||
<syntaxhighlight> | <syntaxhighlight lang="bash"> | ||
# Check the status of /dev/md0 | # Check the status of /dev/md0 | ||
mdadm -D /dev/md0 | mdadm -D /dev/md0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Create a raid array=== | ===Create a raid array=== | ||
See https://www. | See https://www.digitalocean.com/community/tutorials/how-to-create-raid-arrays-with-mdadm-on-ubuntu#creating-a-raid-1-array | ||
First use gdisk to create a linux raid partition (FD00) on all your disks. | First use gdisk to create a linux raid partition (FD00) on all your disks. | ||
Line 14: | Line 14: | ||
Then run the following to create /dev/md0. | Then run the following to create /dev/md0. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
# Raid 1 example with 2 disks | |||
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 | |||
# Raid 6 example with 4 disks | |||
mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 | mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 | ||
# Now you have a block device /dev/md0 on which you can add LUKS, LVM, or a filesystem. | # Now you have a block device /dev/md0 on which you can add LUKS, LVM, or a filesystem. | ||
# Check sync progress | |||
cat /proc/mdstat | |||
</syntaxhighlight> | |||
===Add hot spare=== | |||
See https://tuxfixer.com/how-to-add-hot-spare-volume-to-the-existing-mdadm-software-raid-array/ | |||
<syntaxhighlight lang="bash"> | |||
mdadm --add /dev/md0 $DEVICE | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Scrubs== | ==Scrubs== | ||
On Ubuntu, md will automatically scrub on the first Sunday of every month using a systemd timer. | {{main | Archwiki:RAID#RAID_Maintenance}} | ||
On Ubuntu, md will automatically scrub on the first Sunday of every month using a systemd timer.<br> | |||
During a scrub, you can check the status with | |||
<pre> | |||
cat /proc/mdstat | |||
</pre> | |||
You can check for bad blocks using | |||
<pre> | |||
cat /sys/block/md0/md/mismatch_cnt | |||
</pre> | |||
==Changing Raid Levels== | |||
Note: I haven't tested this.<br/> | |||
This procedure is primarilly for expanding when you get a new disk. | |||
===Raid 1 to Raid 5=== | |||
https://unix.stackexchange.com/questions/610100/is-it-possible-to-keep-data-in-procedure-raid1-growing-to-raid5 | |||
===Raid 5 to Raid 6=== | |||
==See Also== | |||
# [[LUKS]] |
Latest revision as of 06:42, 4 December 2024
Mdadm is used to create linux MD raids.
Usage
# Check the status of /dev/md0
mdadm -D /dev/md0
Create a raid array
First use gdisk to create a linux raid partition (FD00) on all your disks. Note that is purely convention and is optional.
Then run the following to create /dev/md0.
# Raid 1 example with 2 disks
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
# Raid 6 example with 4 disks
mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
# Now you have a block device /dev/md0 on which you can add LUKS, LVM, or a filesystem.
# Check sync progress
cat /proc/mdstat
Add hot spare
See https://tuxfixer.com/how-to-add-hot-spare-volume-to-the-existing-mdadm-software-raid-array/
mdadm --add /dev/md0 $DEVICE
Scrubs
On Ubuntu, md will automatically scrub on the first Sunday of every month using a systemd timer.
During a scrub, you can check the status with
cat /proc/mdstat
You can check for bad blocks using
cat /sys/block/md0/md/mismatch_cnt
Changing Raid Levels
Note: I haven't tested this.
This procedure is primarilly for expanding when you get a new disk.