How to make RAID 1 in simple steps.
In Lab i have:
1- RHEL 6 system
2- two 2GB disks
i - disk_4 -> i'll refer this disk as p_disk
ii - disk_5 -> i'll refer this disk as s_disk
Note: disk_4 and disk_5 are names reported by OS in vxdisk -e list
"Making Mirror"
1- Create a disk group "mdg" with disk_4 as p_disk
vxdg init mdg p_disk=disk_4
check vxprint output for new DG
vxprint -g mdg
Output is as follow:
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg mdg mdg - - - - - -
dm p_disk disk_4 - 4099840 - - - -
2- Now add second disk in "mdg" as s_disk
vxdg -g mdg adddisk s_disk=disk_5
Verify disk addition in vxprint output:
[root@lab1 ~]# vxprint -g mdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg mdg mdg - - - - - -
dm p_disk disk_4 - 4099840 - - - -
dm s_disk disk_5 - 4099840 - - - -
3- Create a volume in DG "mdg" on disk s_disk named "mvol"
vxassist -g mdg make mvol 4099840 s_disk
Verify volume creation from vxprint output
[root@lab1 ~]# vxprint -g mdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg mdg mdg - - - - - -
dm p_disk disk_4 - 4099840 - - - -
dm s_disk disk_5 - 4099840 - - - -
v mvol fsgen ENABLED 4099840 - ACTIVE - -
pl mvol-01 mvol ENABLED 4099840 - ACTIVE - -
sd s_disk-01 mvol-01 ENABLED 4099840 0 - - -
4- Add mirror to "mvol" on disk p_disk
vxassist -g mdg -b mirror mvol p_disk
Verify status using vxprint as follow:
[root@lab1 ~]# vxprint -g mdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg mdg mdg - - - - - -
dm p_disk disk_4 - 4099840 - - - -
dm s_disk disk_5 - 4099840 - - - -
v mvol fsgen ENABLED 4099840 - ACTIVE ATT1 -
pl mvol-01 mvol ENABLED 4099840 - ACTIVE - -
sd s_disk-01 mvol-01 ENABLED 4099840 0 - - -
pl mvol-02 mvol ENABLED 4099840 - TEMPRMSD ATT -
sd p_disk-01 mvol-02 ENABLED 4099840 0 - - -
NOTE: "TEMPRMSD" status of mvol-02 states that mirror is in process of sync.
verify sync process from vxtask list
[root@lab1 ~]# vxtask list
TASKID PTID TYPE/STATE PCT PROGRESS
191 - ATCOPY/R 23.33% 0/4099840/956416 PLXATT mvol mvol-02 mdg auto-throttled
vxprint output after sync is complete:
[root@lab1 ~]# vxprint -g mdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg mdg mdg - - - - - -
dm p_disk disk_4 - 4099840 - - - -
dm s_disk disk_5 - 4099840 - - - -
v mvol fsgen ENABLED 4099840 - ACTIVE - -
pl mvol-01 mvol ENABLED 4099840 - ACTIVE - -
sd s_disk-01 mvol-01 ENABLED 4099840 0 - - -
pl mvol-02 mvol ENABLED 4099840 - ACTIVE - -
sd p_disk-01 mvol-02 ENABLED 4099840 0 - - -
Removing Mirror
Decide which disk is to remain active - Let's say i want p_disk to remain in DG and remove s_disk (remember we created volume originally on s_disk and then add p_disk for mirror - so logically p_disk is a secondary copy which will be primary after removal of s_disk from DG)1- Remove mirror copy on disk s_disk
vxassist -g mdg remove mirror mvol '!s_disk'
NOTE: '!s_disk' -- single quotes have been used since any command starting with ! on linux sometimes refers to some shell keyword and consequently failing of the command.
Verify results from vxprint:
[root@lab1 ~]# vxprint -g mdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg mdg mdg - - - - - -
dm p_disk disk_4 - 4099840 - - - -
dm s_disk disk_5 - 4099840 - - - -
v mvol fsgen ENABLED 4099840 - ACTIVE - -
pl mvol-02 mvol ENABLED 4099840 - ACTIVE - -
sd p_disk-01 mvol-02 ENABLED 4099840 0 - - -
Note: "mvol" is left with just one copy on plex mvol-02 while mvol-01 is removed. although mirror is removed but disk s_disk is still part of DG "mdg".
2- Let's remove s_disk from DG as well.
vxdg -g mdg rmdisk s_disk
Verify results from vxprint:
[root@lab1 ~]# vxprint -g mdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg mdg mdg - - - - - -
dm p_disk disk_4 - 4099840 - - - -
v mvol fsgen ENABLED 4099840 - ACTIVE - -
pl mvol-02 mvol ENABLED 4099840 - ACTIVE - -
sd p_disk-01 mvol-02 ENABLED 4099840 0 - - -
Good Luck with VERITAS mirroring.