How do I create Software RAID 1 arrays on Linux systems without using GUI tools or installer options? How do I setup RAID 1 array under Linux systems?
You need to install mdadm which is used to create, manage, and monitor Linux software MD (RAID) devices. RAID devices are virtual devices created from two or more real block devices. This allows multiple devices (typically disk drives or partitions) to be combined into a single device to hold (for example) a single filesystem. Some RAID levels include redundancy and can survive some degree of device failure.
Linux Support For Software RAID
Currently, Linux supports the following RAID levels (quoting from the man page):
- RAID0 (striping)
- RAID1 (mirroring)
- MULTIPATH, and FAULTY.
MULTIPATH is not a Software RAID mechanism, but does involve multiple devices: each device is a path to one common physical storage device. FAULTY is also not true RAID, and it only involves one device. It provides a layer over a true device that can be used to inject faults.
How Do I Create RAID1 Using mdadm?
Type the following command to create RAID1 using /dev/sdc1 and /dev/sdd1 (20GB size each). First run fdisk on /dev/sdc and /dev/sdd with "Software Raid" type i.e. type 0xfd:
# fdisk /dev/sdc
# fdisk /dev/sdd
See fdisk(8) man page to setup partition type. Do not format partition. Just create the same. Now, create RAID-1 as follows.
If the device contains a valid md superblock, the block is overwritten with zeros:
# mdadm --zero-superblock /dev/sdc /dev/sdd
Create RAID1 using /dev/sdc1 and /dev/sdd1
# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1
Format /dev/md0 as ext3:
# mkfs.ext3 /dev/md0
# mkdir /raid1
# mount /dev/md0 /raid1
# df -H
Make sure RAID1 get mounted automatically. Edit /etc/fstab and append the following line:
/dev/md0 /raid1 ext3 noatime,rw 0 0
Save and close the file.
How Do I See RAID Array Building Progress and Current Status?
Type the following command:
# watch -n 2 cat /proc/mdstat
# tail -f /proc/mdstat
Update /etc/mdadm.conf File
Update or edit /etc/mdadm/mdadm.conf or /etc/mdadm.conf (distro specific location) file as follows:
ARRAY /dev/md0 devices=/dev/sdc1,/dev/sdd1 level=1 num-devices=2 auto=yes
This config file lists which devices may be scanned to see if they contain MD super block, and gives identifying information (e.g. UUID) about known MD arrays. Please note that Linux kernel v2.6.xx above can use both /dev/mdX or /dev/md/XX names. You can also create partitions for /dev/md/XX as /dev/md/d1/p2.
How Do I Get Information On Existing Array?
Type the following command
# mdadm --query /dev/md0
This will find out if a given device is a raid array, or is part of one, and will provide brief information about the device.
- See man pages: mdadm(8) and mdadm.conf(5)
- RAID 5 vs RAID 10: Recommended RAID For Safety and Performance
- 30 Cool Open Source Software I Discovered in 2013
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012
- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop