In my approach , I am doing this in VmWare by choosing 3 virtual harddisks with equal 1 GB Size. Our first step is we need to make those harddisks as ready for RAID.
Today I am writing about how to create Software RAID. Creating Software RAID is pretty easy. All we need either 3 equal size partitions on different harddisks or 3 equal size harddisks.
In your terminal type as
# fdisk -l
To see available partitions and then try to create RAID partitions in that.
If We assume my 3 harddisks as /dev/sdb,/dev/sdc,/dev/sdd then in your terminal
# fdisk /dev/sdb
Then
[root@ns1 sysadmin]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended toI am selecting new partition here as primary with default size ,( all my 3 VHDS having same size)
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n
Command actionNow we have to change Partition type to RAID , so
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130):
Using default value 130
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): fd ( fd for auto RAID)
Now just verify
Command (m for help): pAll good , we can commit our changes.
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8a6b2eca
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ fd Linux raid autodetect
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Same as above do the same for /dev/sdc and /dev/sdd and then finally it will be like
Now we have to create RAID, Here I am choosing RAID 5 which needs minimum 3 RAID Harddisks
[root@ns1 sysadmin]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00092c9c
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 2611 20458496 8e Linux LVM
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8a6b2eca
Device Boot Start End Blocks Id System
/dev/sdb1 1 130 1044193+ fd Linux raid autodetect
Disk /dev/sdc: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6429c3f4
Device Boot Start End Blocks Id System
/dev/sdc1 1 130 1044193+ fd Linux raid autodetect
Disk /dev/sdd: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe883f58a
Device Boot Start End Blocks Id System
/dev/sdd1 1 130 1044193+ fd Linux raid autodetect
Disk /dev/mapper/VolGroup-lv_root: 18.9 GB, 18865979392 bytes
255 heads, 63 sectors/track, 2293 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 2080 MB, 2080374784 bytes
255 heads, 63 sectors/track, 252 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
RAID 5 Created. --level indicates RAID level and after number and name of the devices.
[root@ns1 sysadmin]# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
To see your RAID Information execute this command
Then we have to save our RAID Configuration.
[root@ns1 sysadmin]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Nov 11 00:05:20 2014
Raid Level : raid5
Array Size : 2086912 (2038.34 MiB 2137.00 MB)
Used Dev Size : 1043456 (1019.17 MiB 1068.50 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Tue Nov 11 00:05:26 2014
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : ns1.example.com:0 (local to host ns1.example.com)
UUID : af2998ef:acc6cb1e:feb832f1:7f9b2f1b
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 49 2 active sync /dev/sdd1
In CentOS configuration file : /etc/mdadm.conf
In Debain baed /etc/mdadm/mdadm.conf
So save the configuration with
[root@ns1 sysadmin]# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=ns1.example.com:0 UUID=af2998ef:acc6cb1e:feb832f1:7f9b2f1b
[root@ns1 sysadmin]# mdadm --detail --scan > /etc/mdadm.conf
[root@ns1 sysadmin]#
if you want to see stats of your RAID
[root@ns1 sysadmin]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[3] sdc1[1] sdb1[0]
2086912 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
To set any RAID Disk as failed/faulty
# mdadm --fail /dev/md0 /dev/sdb1
To Remove any Disk from RAID
# mdamd --remove /dev/md0 /dev/sdb1
To add new disk
# mdadm --add /dev/md0 /dev/sdb1
If harddisk/partition has taken from another RAID , to flush all data in it before using into a new RAID
# mdadm --zero-superblock /dev/sda1
Stop a Running RAID
# mdadm --stop /dev/md0
and to start
# mdadm --run /dev/md0
Its supposed to run but with research i have done it wont run/start.
To start it we have to do like assembling again
# mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1
If you UUID of /dev/md0 it will be more easier and perfect.
# mdadm --assemble --scan --uuid=af2998ef:acc6cb1e:feb832f1:7f9b2f1b
Source:
http://www.devil-linux.org/documentation/1.0.x/ch01s05.html
https://raid.wiki.kernel.org/index.php/RAID_setup
nice
ReplyDelete