Skip to content

Instantly share code, notes, and snippets.

@irvingpop
Created March 19, 2014 06:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save irvingpop/9636290 to your computer and use it in GitHub Desktop.
Save irvingpop/9636290 to your computer and use it in GitHub Desktop.
RHEL6.5 LVM thin volumes and snapshots
[root@backend1 ~]# vgcreate opscode /dev/sdb
Volume group "opscode" successfully created
[root@backend1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 2 0 wz--n- 39.51g 0
opscode 1 0 0 wz--n- 2.00g 2.00g
[root@backend1 ~]# lvcreate -L 2G -T opscode/thinpool
Logical volume "lvol0" created
Volume group "opscode" has insufficient free space (510 extents): 512 required.
[root@backend1 ~]# lvcreate -L 2000M -T opscode/thinpool
Logical volume "lvol1" created
Logical volume "thinpool" created
[root@backend1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 1 2 0 wz--n- 39.51g 0
opscode 1 2 0 wz--n- 2.00g 32.00m
[root@backend1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 38.60g
lv_swap VolGroup -wi-ao---- 928.00m
lvol0 opscode -wi------- 4.00m
thinpool opscode twi-a-tz-- 1.95g 0.00
[root@backend1 ~]# lvcreate -T opscode/thinpool -n drbd
Please specify device size(s).
[root@backend1 ~]# #Need to set a virtual size like -V1G
[root@backend1 ~]# lvcreate -V1G -T opscode/thinpool -n drbd
Logical volume "drbd" created
[root@backend1 ~]# # technically the virtual size could be up to 100% of the physical size
[root@backend1 ~]#
[root@backend1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 38.60g
lv_swap VolGroup -wi-ao---- 928.00m
drbd opscode Vwi-a-tz-- 1.00g thinpool 0.00
lvol0 opscode -wi------- 4.00m
thinpool opscode twi-a-tz-- 1.95g 0.00
[root@backend1 ~]# # now to snapshot it
[root@backend1 ~]# lvcreate -s --thinpool opscode/thinpool drbd --name mythinsnap1
Logical volume "mythinsnap1" created
[root@backend1 ~]#
[root@backend1 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 38.60g
lv_swap VolGroup -wi-ao---- 928.00m
drbd opscode Vwi-a-tz-- 1.00g thinpool 0.00
lvol0 opscode -wi------- 4.00m
mythinsnap1 opscode Vwi---tz-k 1.00g thinpool drbd
thinpool opscode twi-a-tz-- 1.95g 0.00
[root@backend1 ~]# mkfs
mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.msdos mkfs.vfat
[root@backend1 ~]# # make a filesystem and write some data
[root@backend1 ~]# mkfs.ext4 /dev/opscode/drbd
mke2fs 1.41.12 (17-May-2010)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=16 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@backend1 ~]#
[root@backend1 ~]# mkdir /mnt/drbd
[root@backend1 ~]# mount /dev/opscode/drbd /mnt/drbd
[root@backend1 ~]# cd /mnt/drbd
[root@backend1 drbd]# df -kh .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/opscode-drbd
1008M 34M 924M 4% /mnt/drbd
[root@backend1 drbd]# # write out 500M
[root@backend1 drbd]# dd if=/dev/zero of=500Mfile bs=1M count=512
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 1.62417 s, 331 MB/s
[root@backend1 drbd]#
[root@backend1 drbd]# df -kh .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/opscode-drbd
1008M 546M 412M 58% /mnt/drbd
[root@backend1 drbd]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 38.60g
lv_swap VolGroup -wi-ao---- 928.00m
drbd opscode Vwi-aotz-- 1.00g thinpool 45.32
lvol0 opscode -wi------- 4.00m
mythinsnap1 opscode Vwi---tz-k 1.00g thinpool drbd
thinpool opscode twi-a-tz-- 1.95g 23.20
[root@backend1 drbd]#
[root@backend1 drbd]# lvcreate -s --thinpool opscode/thinpool drbd --name mythinsnap2
Logical volume "mythinsnap2" created
[root@backend1 drbd]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 38.60g
lv_swap VolGroup -wi-ao---- 928.00m
drbd opscode Vwi-aotz-- 1.00g thinpool 54.77
lvol0 opscode -wi------- 4.00m
mythinsnap1 opscode Vwi---tz-k 1.00g thinpool drbd
mythinsnap2 opscode Vwi---tz-k 1.00g thinpool drbd
thinpool opscode twi-a-tz-- 1.95g 28.04
[root@backend1 drbd]#
[root@backend1 drbd]# dd if=/dev/zero of=256Mfile bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.261732 s, 1.0 GB/s
[root@backend1 drbd]#
[root@backend1 drbd]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao---- 38.60g
lv_swap VolGroup -wi-ao---- 928.00m
drbd opscode Vwi-aotz-- 1.00g thinpool 79.77
lvol0 opscode -wi------- 4.00m
mythinsnap1 opscode Vwi---tz-k 1.00g thinpool drbd
mythinsnap2 opscode Vwi---tz-k 1.00g thinpool drbd
thinpool opscode twi-a-tz-- 1.95g 40.85
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment