On 05/04/2011 23:42, James Hawtin wrote:
On 05/04/2011 21:36, Jonathan Tripathy wrote:
Hi James,
Interesting, didn't know you could do that! However, how do I know
that the PEs aren't being used by LVs? Also, could you please explain
the syntax? Normally to create a snapshot, I would do:
lvcreate -L20G -s -n backup /dev/vg0/customerID
Hmmm well you have two options, you could use pvdisplay --map or
lvdisplay --map to work out exactly which PEs have been used to build
you snapshot cow and then use that information to allow you to create
a blanking PV in the same place or you could do it the easy way :-
1 hog the space to specific PEs
2 delete the hog
3 create the snapshot on same PEs
4 backup
5 delete the snapshot
6 create the hog on the same PEs
7 zero the hog
This has the advantage that the creation commands will fail if the PEs
you want are not available the problem with it is you probably need
more space for snapshots. As its less flexible in space use. Below i
have illustrated all the commands, you need to do this. you don;t need
all the display commands but they are there to prove to you this has
worked, and the lvs are in the same place.
#pvdisplay --map /dev/cciss/c0d1p1
--- Physical volume ---
PV Name /dev/cciss/c0d1p1
VG Name test_vg
PV Size 683.51 GB / not usable 5.97 MB
Allocatable yes
PE Size (KByte) 131072
Total PE 5468
Free PE 4332
Allocated PE 1136
PV UUID YXjplf-EfLh-8Jkr-2utT-gmi5-gjAH-UOCcN0
--- Physical Segments ---
Physical extent 0 to 15:
Logical volume /dev/test_vg/test_lv
Logical extents 0 to 15
Physical extent 16 to 815:
Logical volume /dev/test_vg/mail_lv
Logical extents 0 to 799
Physical extent 816 to 975:
Logical volume /dev/test_vg/data_lv
Logical extents 0 to 159
Physical extent 976 to 2255:
FREE
Physical extent 2256 to 2335:
Logical volume /dev/test_vg/srv_lv
Logical extents 0 to 79
Physical extent 2336 to 2415:
Logical volume /dev/test_vg/data_lv
Logical extents 160 to 239
Physical extent 2416 to 5467:
FREE
#lvcreate -l 20 -n hog_lv test_vg /dev/cciss/c0d1p1:5448-5467
#pvdisplay --map /dev/cciss/c0d1p1
--- Physical volume ---
PV Name /dev/cciss/c0d1p1
VG Name test_vg
PV Size 683.51 GB / not usable 5.97 MB
Allocatable yes
PE Size (KByte) 131072
Total PE 5468
Free PE 4312
Allocated PE 1156
PV UUID YXjplf-EfLh-8Jkr-2utT-gmi5-gjAH-UOCcN0
--- Physical Segments ---
Physical extent 0 to 15:
Logical volume /dev/test_vg/test_lv
Logical extents 0 to 15
Physical extent 16 to 815:
Logical volume /dev/test_vg/mail_lv
Logical extents 0 to 799
Physical extent 816 to 975:
Logical volume /dev/test_vg/data_lv
Logical extents 0 to 159
Physical extent 976 to 2255:
FREE
Physical extent 2256 to 2335:
Logical volume /dev/test_vg/srv_lv
Logical extents 0 to 79
Physical extent 2336 to 2415:
Logical volume /dev/test_vg/data_lv
Logical extents 160 to 239
Physical extent 2416 to 5447:
FREE
Physical extent 5448 to 5467:
Logical volume /dev/test_vg/hog_lv
Logical extents 0 to 19
#lvremove /dev/test_vg/hog_lv
Do you really want to remove active logical volume hog_lv? [y/n]: y
Logical volume "hog_lv" successfully removed
#lvcreate -l 20 -s -n data_snap /dev/test_vg/data_lv
/dev/cciss/c0d1p1:5448-5467
Logical volume "data_snap" created
#pvdisplay --map /dev/cciss/c0d1p1
--- Physical volume ---
PV Name /dev/cciss/c0d1p1
VG Name test_vg
PV Size 683.51 GB / not usable 5.97 MB
Allocatable yes
PE Size (KByte) 131072
Total PE 5468
Free PE 4312
Allocated PE 1156
PV UUID YXjplf-EfLh-8Jkr-2utT-gmi5-gjAH-UOCcN0
--- Physical Segments ---
Physical extent 0 to 15:
Logical volume /dev/test_vg/restricted_lv
Logical extents 0 to 15
Physical extent 16 to 815:
Logical volume /dev/test_vg/mail_lv
Logical extents 0 to 799
Physical extent 816 to 975:
Logical volume /dev/test_vg/data_lv
Logical extents 0 to 159
Physical extent 976 to 2255:
FREE
Physical extent 2256 to 2335:
Logical volume /dev/test_vg/srv_lv
Logical extents 0 to 79
Physical extent 2336 to 2415:
Logical volume /dev/test_vg/data_lv
Logical extents 160 to 239
Physical extent 2416 to 5447:
FREE
Physical extent 5448 to 5467:
Logical volume /dev/test_vg/data_snap
Logical extents 0 to 19
#lvdisplay /dev/test_vg/data_snap
--- Logical volume ---
LV Name /dev/test_vg/data_snap
VG Name test_vg
LV UUID bdqB77-f0vb-ZucS-Ka1l-pCr3-Ebeq-kOchmk
LV Write Access read/write
LV snapshot status active destination for /dev/test_vg/data_lv
LV Status available
# open 0
LV Size 30.00 GB
Current LE 240
COW-table size 2.50 GB
COW-table LE 20
Allocated to snapshot 0.00%
Snapshot chunk size 4.00 KB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:5
#lvdisplay --map /dev/test_vg/data_snap
--- Logical volume ---
LV Name /dev/test_vg/data_snap
VG Name test_vg
LV UUID IBBvOq-Bg0U-c69v-p7fQ-tR63-T8UV-gM1Ncu
LV Write Access read/write
LV snapshot status active destination for /dev/test_vg/data_lv
LV Status available
# open 0
LV Size 30.00 GB
Current LE 240
COW-table size 2.50 GB
COW-table LE 20
Allocated to snapshot 0.00%
Snapshot chunk size 4.00 KB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:5
--- Segments ---
Logical extent 0 to 19:
Type linear
Physical volume /dev/cciss/c0d1p1
Physical extents 5448 to 5467
<NOW BACKUP>
#lvremove /dev/test_vg/data_snap
Do you really want to remove active logical volume data_snap? [y/n]: y
Logical volume "data_snap" successfully removed
#lvcreate -l 20 -n hog_lv test_vg /dev/cciss/c0d1p1:5448-5467
Logical volume "hog_lv" created
#pvdisplay --map /dev/cciss/c0d1p1
--- Physical volume ---
PV Name /dev/cciss/c0d1p1
VG Name test_vg
PV Size 683.51 GB / not usable 5.97 MB
Allocatable yes
PE Size (KByte) 131072
Total PE 5468
Free PE 4312
Allocated PE 1156
PV UUID YXjplf-EfLh-8Jkr-2utT-gmi5-gjAH-UOCcN0
--- Physical Segments ---
Physical extent 0 to 15:
Logical volume /dev/test_vg/restricted_lv
Logical extents 0 to 15
Physical extent 16 to 815:
Logical volume /dev/test_vg/mail_lv
Logical extents 0 to 799
Physical extent 816 to 975:
Logical volume /dev/test_vg/data_lv
Logical extents 0 to 159
Physical extent 976 to 2255:
FREE
Physical extent 2256 to 2335:
Logical volume /dev/test_vg/srv_lv
Logical extents 0 to 79
Physical extent 2336 to 2415:
Logical volume /dev/test_vg/data_lv
Logical extents 160 to 239
Physical extent 2416 to 5447:
FREE
Physical extent 5448 to 5467:
Logical volume /dev/test_vg/hog_lv
Logical extents 0 to 19
#dd if=/dev/zero of=/dev/hog_lv
#lvremove /dev/test_vg/hog_lv
Do you really want to remove active logical volume hog_lv? [y/n]: y
Logical volume "hog_lv" successfully removed
Enjoy
James
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
James,
That's fantastic! Thanks very much! I have a couple of questions:
1) If I wanted to create a script that backed up lots of customer-data
LVs, could I just do one zero at the end (and still have no data leakage)?
2) On average, each of my data LVs are 20GB each, and if I were to
create a snapshot of 20GB, this would take about 20 mins to erase. If I
made the snapshot only 1GB, that means it would be quick to erase at the
end (however only 1GB of data could be created on the respect origin,
correct?)
Thanks
_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/