How to clone data VG & restore to other system without downtime/fast clone. ( Well tested)
or
How to take backup of running system if application availability is high priority and offline backup takes near 5-8 hrs to get completed.
========================================================================
Map the hdisky or lun to both the system
On system1:-
lspv
cfgmgr ** to get new hdiskY/lun
Now Extendvg
extendvg vgname hdisky/lun
******if you are unable to extendvg due to Max pp limitation then change the Vg properties.
chvg -t 2|3|4 (etc) vgname
extendvg vgname hdiskY
mirrorvg vgname hdiskY
lsvg -l vgname * check all fs are syncd and consistent, else wait to get it consistent.
Freeze the Filesystems to keep the consistency and to clear the chace so that all data will be written on disk.
chfs -a freeze=120 filesystem_names ( all filesystem of that VG and application )
This will freeze the filesystem no I/O will be happen. Users will get the application hanging issue for 2 mins but these 2 mins will be enough for you to split the consistent VG.
Now split the VG
splitvg -y new_vgname -c 2 -i old_vgname ( -i is used so that hdiskY cant join the vg again and lv/fs remain consistent, else if you need the hdisk to rejoin the vg then dont use -i , -c 2 is to separate the second copy of lv i.e hdiskY)
Activate or thawn the filesystems:- Now activate the filesystems to be accessed by the application and Users.
chfs -a freeze= 0 filesystem_names ( fielsystems whch were made frozen above)
Now you have only taken or say frozen the application for 2 -3 mins and you can take the backup of the consistent datavg as shown below:-
varyoffvg new_vgname
exportvg new_vgname
rmdev -Rdl hdiskY
=======================
ON System 2 or TSM
Then map same hdiskY/lun to different system if you have not done earlier
lpsv
cfgmgr
lspv
importvg -y vgname( name you like to put) hdiskY
cp -p /etc/filesystems /etc/filesystems_copy
edit /etc/filesystems remove unwanted prefix like /fs/fs etc
mount all
check VG doesn’t have any stale Lv.
Check files and application.
Remove mapping of hdisky/lun from system1.
Mount the filesystems
Take the backup on TSM for consistent datavg with the down time of 2-3 mins only on actual host and user will now keep on accessing the server or run the application as cloned server if your mksysb is also cloned on the target server.
That its.
Done!
=========================================================================
Extra using script to change lv or fs prefix if you want or else u can do it in /etc/filesystems file as I tested that also as stated above:-
the filesystems still have the "/fs/fs" prefix. So, a quick and dirty script cleans that up:
for fs in `lsvg -l datavg | grep fs | awk '{ print $7 }' | cut -d'/' -f 4-`
do
chfs -m /$fs /fs/fs/$fs ****chfs -m newmount oldmount******
done
And, the LVs still have the "fs" prefix, I could leave them, but my OCD won't let me:
for fs in `lsvg -l datavg | grep fs | awk '{ print $1 }' | cut -d's' -f 2-`
do
chlv -n $fs fs$fs
done
Then I used "mount -a" to mount all the filesystems.
That its.
Done!
=========================================================================
Extra using script to change lv or fs prefix if you want or else u can do it in /etc/filesystems file as I tested that also as stated above:-
the filesystems still have the "/fs/fs" prefix. So, a quick and dirty script cleans that up:
for fs in `lsvg -l datavg | grep fs | awk '{ print $7 }' | cut -d'/' -f 4-`
do
chfs -m /$fs /fs/fs/$fs ****chfs -m newmount oldmount******
done
And, the LVs still have the "fs" prefix, I could leave them, but my OCD won't let me:
for fs in `lsvg -l datavg | grep fs | awk '{ print $1 }' | cut -d's' -f 2-`
do
chlv -n $fs fs$fs
done
Then I used "mount -a" to mount all the filesystems.
I done it 2 years back via mklvcopy command. This is Useful info. Thanks a lot
ReplyDeleteGreat, as you know there are numbers of other ways; but what made me happy that it seems to be useful to you also.
Delete