WHAT’S RAID 0 AND HOW TO CONFIGURE / DELETE IN LINUX .

raid 0 in linux

Raid0 also known as data stripping . Raid 0  breaks up a file and spreads the data

across all the disk drives. RAID0 requires 2 harddisk And both harddisk should be of same size . RAID0 does not provide any kind of redundancy that means if one drive fails your all data would be lost. In diagram , let data be 1,2,3,4 so raid 0 spreads data like 1 and 3 data goes to sda 5 harddisk and 2 and 4 goes to sda6 . And its uses data of both drives so size of raid 0 will be 2000MB  . But if its raid 1 then its size will be 1000MB because it distributes data equally .

CONFIGURE RAID0 IN LINUX

  • Create partitions
  • command n (to create partition )
  • command p ( to print)
  • command w  ( to save )
[root@localhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 65399.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (57368-65399, default 57368):
Using default value 57368
Last cylinder or +size or +sizeM or +sizeK (57368-65399, default 65399): +1000M

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (57491-65399, default 57491):
Using default value 57491
Last cylinder or +size or +sizeM or +sizeK (57491-65399, default 65399): +1000M

Command (m for help): p
Disk /dev/sda: 537.9 GB, 537932857344 bytes
255 heads, 63 sectors/track, 65399 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       50993   409601241   83  Linux
/dev/sda2           50994       57367    51199155   82  Linux swap / Solaris
/dev/sda4           57368       65399    64517040    5  Extended
/dev/sda5           57368       57490      987966   83  Linux
/dev/sda6           57491       57613      987966   83  Linux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
  • Again run fdisk  /dev/sda  command to change partition type .
  • Command t ( to change partition type )
  •  Linux raid code – fd
  • Don’t forget to run partprobe command to save all changes made in harddisk .
[root@localhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 65399.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): l
 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris
 1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx
 5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data
 6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT
Hex code (type L to list codes): fd
Changed system type of partition 6 to fd (Linux raid autodetect)

Command (m for help): t
Partition number (1-6): 5
Hex code (type L to list codes): fd
Changed system type of partition 5 to fd (Linux raid autodetect)

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@localhost ~]# partprobe /dev/sda
  • Check by fdisk  -l command whether your raid partitions been created or not .
[root@localhost ~]# fdisk -l
Disk /dev/sda: 537.9 GB, 537932857344 bytes
255 heads, 63 sectors/track, 65399 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       50993   409601241   83  Linux
/dev/sda2           50994       57367    51199155   82  Linux swap / Solaris
/dev/sda4           57368       65399    64517040    5  Extended
/dev/sda5           57368       57490      987966   fd  Linux raid autodetect
/dev/sda6           57491       57613      987966   fd  Linux raid autodetect
  • Now we can create raid0
  • After mdadm –create type raid name like /dev/md0 or /dev/md1 ,2,3,4
  • –level =0 means /dev/md0 you want it to be raid 0
  • Then give raid devices you wanna add like i’m adding sda5 and sda6
  • It will ask you “Continue creating array ?” Type yes and hit Enter .
[root@localhost ~]# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda5 /dev/sda6
mdadm: /dev/sda5 appears to contain an ext2fs file system
    size=1975552K  mtime=Sat Jan 14 23:33:07 2017
mdadm: /dev/sda5 appears to be part of a raid array:
    level=raid1 devices=2 ctime=Sat Jan 14 23:26:57 2017
mdadm: /dev/sda6 appears to contain an ext2fs file system
    size=1975552K  mtime=Sat Jan 14 23:33:07 2017
mdadm: /dev/sda6 appears to be part of a raid array:
    level=raid1 devices=2 ctime=Sat Jan 14 23:26:57 2017
Continue creating array? yes
mdadm: array /dev/md0 started.
  • You can check by cat  /proc/mdstat command
  • Like md0(raid 0) is active having sda5 and sda6
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] [raid0]
md0 : active raid0 sda6[1] sda5[0]
      1975680 blocks 64k chunks
unused devices: <none>
  • To use it first we have to format it first . ext3 explains what type of file it is .
[root@localhost ~]# mkfs.ext3 /dev/md0
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
247296 inodes, 493920 blocks
24696 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=507510784
16 block groups
32768 blocks per group, 32768 fragments per group
15456 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
  • After formatting . Create a folder where we will mount /dev/md0 to save our data .
  • Type mount  raidname  foldername  ( to mount )
  • Check by df  -h command whether its been mounted or not
[root@localhost ~]# mkdir 3usageeks
[root@localhost ~]# mount /dev/md0 3usageeks
[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             379G  4.8G  355G   2% /
tmpfs                 947M     0  947M   0% /dev/shm
/dev/md0              1.9G   35M  1.8G   2% /root/3usageeks
  • For permanent mounting go to fstab file .
[root@localhost ~]# vim /etc/fstab
  • First type what you want to mount
  • Second where you want to mount
  • Third file type like what we created is ext3 type
  • Rest will be same
LABEL=/                 /                       ext3    defaults        1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/md0                /root/3usageeks         ext3     defaults        0 0
~
~
~
~
~
~
~
  • Press ESC and type :wq (to save and quit )
~
~
~
:wq

HOW TO REMOVE RAID0

  • Go to fstab file
[root@localhost ~]# vim /etc/fstab
  • Add # in front of that entry .
#/dev/md0                /root/3usageeks         ext3     defaults        0 0
  • To check where its mounted type df  -h command
  • Then type umount foldername   (to unmount)
[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             379G  4.8G  355G   2% /
tmpfs                 947M     0  947M   0% /dev/shm
/dev/md0              1.9G   35M  1.8G   2% /root/3usageeks
[root@localhost ~]# umount 3usageeks
  • Now first stop raid then remove it
  • To stop  type  =  mdadm  –stop  raidname 
  • To remove type =    mdadm  –remove  raidname 
[root@localhost ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# mdadm --remove /dev/md0
  • Then delete the partition
  • Don’t forget to run partprobe command to save changes .
[root@localhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 65399.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): d
Partition number (1-6): 6

Command (m for help): d
Partition number (1-5): 5

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@localhost ~]# partprobe /dev/sda
  • To check partition in your system type fdisk  -l command
[root@localhost ~]# fdisk -l
Disk /dev/sda: 537.9 GB, 537932857344 bytes
255 heads, 63 sectors/track, 65399 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       50993   409601241   83  Linux
/dev/sda2           50994       57367    51199155   82  Linux swap / Solaris
/dev/sda4           57368       65399    64517040    5  Extended

Don’t hesitate to comment if you got any problem .

 

One thought on “WHAT’S RAID 0 AND HOW TO CONFIGURE / DELETE IN LINUX .

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s