[linux-lvm] dynamic lvm snapshots (auto-resize)

Dusty Mabe dustymabe at yahoo.com
Mon Mar 5 22:46:32 UTC 2012


Hey guys,

I notice that the work for this has now been complete (bugzilla report # 427298 ). If anyone is interested I wrote a small how-to on using the automatic resize for snapshot LVs at http://dustymabe.com/2012/03/04/automatically-extend-lvm-snapshots/ 

Dusty 

________________________________
From: Ray Morris <support at bettercgi.com>
To: Dusty Mabe <dustymabe at yahoo.com> 
Sent: Friday, October 14, 2011 10:22 AM
Subject: Re: [linux-lvm] dynamic lvm snapshots (auto-resize)

I don't really know anything about the work being done.
-- 
Ray Morris
support at bettercgi.com

Strongbox - The next generation in site security:
http://www.bettercgi.com/strongbox/

Throttlebox - Intelligent Bandwidth Control
http://www.bettercgi.com/throttlebox/

Strongbox / Throttlebox affiliate program:
http://www.bettercgi.com/affiliates/user/register.php




On Fri, 14 Oct 2011 06:07:57 -0700 (PDT)
Dusty Mabe <dustymabe at yahoo.com> wrote:

> Ray, 
> 
> Thanks so much for your answer. You said the feature is being "worked
> on". I see some work related to thin provisioning "pools" in the
> latest LVM code. Is this the work you are referring to? If so do you
> know anything about it (maybe just a paragraph about how it works)?
> This has peaked my interest and I look forward to what LVM has to
> offer in the future.
> 
> Have a good day!
> 
> Dusty 
> 
> 
> ----- Original Message -----
> From: Ray Morris <support at bettercgi.com>
> To: linux-lvm at redhat.com
> Cc: Dusty Mabe <dustymabe at yahoo.com>
> Sent: Thursday, October 13, 2011 2:25 PM
> Subject: ASO- Re: [linux-lvm] dynamic lvm snapshots (auto-resize)
> 
> I think that's being worked on / beta. Until it's ready, we
> implemented it in a daemon that is 49 lines of Perl. This particular
> implementation is set to match our environment but you can modify it
> to your needs:
> 
> #!/usr/bin/perl
> 
> use Getopt::Long;
> use lib 'lib';
> use Linux::LVM;
> 
> my $lvname;
> my $usage = "usage: $0 --lvname lvname\n";
> die $usage unless ( GetOptions ( "lvname=s" => \$lvname ) );
> die $usage unless ($lvname);
> 
> my $ppid = getppid();
> while ( -e "/proc/$ppid") {
>   &check_snaps($lvname);
>   sleep(60);
> }
> 
> sub check_snaps {
>   my $lvname = shift();
>   for ($snapnum = 2; $snapnum >= 0; $snapnum--) {
>     if (-e "/dev/clones/${lvname}_snap${snapnum}") {
>       my %lv = get_lv_info("/dev/clones/${lvname}_snap${snapnum}");
>       next unless ($lv{'lv_name'});
>       unless ($lv{'allocated_to_snapshot'}) {
>           system('lvremove', '-f', "clones/${lvname}_snap${snapnum}");
>           next;
>       }
>       if ($lv{'allocated_to_snapshot'} > 80) {
>           print "live extending ${lvname}_snap${snapnum}\n";
>           system('lvextend', '-f', '-l', '+20%LV',
> "clones/${lvname}_snap${snapnum}"); }
>     }
>   }
> }




More information about the linux-lvm mailing list