[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