
This is a very quick guide to setting up a Linux software RAID.
All these examples are same for RAID0 and RAID1
0. Disclaimer
Make sure you back up all your data, or you have empty hdds before you proceed.
1. Disk management
I’m using 2 same HDDs with 400Gigs.
1
2
| Disk /dev/sdb: 400.0 GB, 400088457216 bytes
Disk /dev/sdc: 400.0 GB, 400088457216 bytes |
I created on both disks new partitions with parted (also you can use gparted):
1
2
| /dev/sdb1 1 48641 390708801 83 Linux
/dev/sdc1 1 48641 390708801 83 Linux |
2. Raid creation
1
2
| $ aptitude update
$ aptitude install mdadm |
For RAID-0
1
| $ mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1 |
For RAID-1
1
| $ mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 |
3. Get RAID information
1
2
| $ fdisk -l
Disk /dev/md0: 800.1 GB, 800171491328 bytes |
1
2
3
4
5
6
| $ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdc1[1] sdb1[0]
781417472 blocks 64k chunks
unused devices: <none> |
1
2
| $ mdadm --detail --scan
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=00.90 UUID=fb3d1fd3:5dd2b871:01f9e43d:ac30fbff |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| $ mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Fri Aug 27 21:27:51 2010
Raid Level : raid0
Array Size : 781417472 (745.22 GiB 800.17 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri Aug 27 22:46:13 2010
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 64K
UUID : fb3d1fd3:5dd2b871:2ce552e4:6d63ea58
Events : 0.3
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1 |
4. Create file system
That all you have a running RAID array, to use it you need to create a filesystem for example ext3 one.
Delete RAID array:
To make sure it doesn’t come back, you need to delete the RAID super blocks…
1
2
| mdadm --misc --zero-superblock /dev/sdb1
mdadm --misc --zero-superblock /dev/sdc1 |
You can mount your raid partition automatically on server start:
And add this line to it:
1
| /dev/md0 /mnt ext3 defaults 0 0 |
md0 will automatically mounted to /mnt/
Start a partially built array:
1
2
3
4
5
6
7
| $ mdadm --run /dev/md0
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[0] sdc1[1]
390708736 blocks [2/2] [UU]
[>....................] resync = 0.0% (277568/390708736) finish=70.3min speed=92522K/sec |
Don’t forget the RAM usage:
