> Collie vdi track without the -i option just tracks where the vdi > metadata object is located. Given that you formatted with --nr-copies=1 > there is just one copy. > > Try adding -i 0, -i 1, etc. > I wrote a little script, maybe useful - looks like # not preallocated vdi root at sheep01:/home/jens/sheepdog/tools# ./vdidetails test2 Node List Id Host:Port 0 172.30.0.80:7000 1 172.30.0.80:7001 Details of vdi test2, size 12 MB, blocks 3 - : block does not exist or not allocated, # : block is here 4MB block [node0,node1,...] metadata object : [#-] 0 : [--] 1 : [--] 2 : [--] # preallocated vdi root at sheep01:/home/jens/sheepdog/tools# ./vdidetails test Node List Id Host:Port 0 172.30.0.80:7000 1 172.30.0.80:7001 Details of vdi test, size 400 MB, blocks 100 - : block does not exist or not allocated, # : block is here 4MB block [node0,node1,...] metadata object : [#-] 0 : [#-] 1 : [#-] 2 : [#-] 3 : [-#] 4 : [-#] 5 : [#-] 6 : [-#] 7 : [#-] #!/usr/bin/perl -w # # Copyright: # # Copyright (C) 2012 Jens Weber <jweber at tek2b.org> # # License: # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 as published by # the Free Software Foundation. use strict; my $vdi = $ARGV[0] || ""; my @nodes = qx(collie node list); print "Node List\n\n"; print "\tId\tHost:Port\n"; foreach my $line (@nodes) { if ( $line =~ /-\s+(\d)+\s+([0-9,.]+:[0-9]+)\s+\d+\s+.*/ ) { my $id = $1; my $node = $2; print "\t$id\t$node\n"; } } my $size = 0; my $unit = "MB"; my @details = qx(collie vdi list $vdi); foreach my $line (@details) { if ( $line =~ /$vdi\s+\d+\s+(\d+)\s+([M,G,T]+B+)\s+\d+/ ) { $size = $1; $unit = $2; } } my $sumindex = $size / 4; $sumindex = $sumindex * 1024 if ( $unit eq "GB" ); $sumindex = $sumindex * 1024 *1024 if ( $unit eq "TB" ); print "\nDetails of vdi $vdi, size $size $unit, blocks $sumindex\n"; print " - : block does not exist or not allocated, # : block is here\n\n"; print "\t4MB block\t [node0,node1,...]\n"; my @object = qx(collie vdi object $vdi); my $indi = "["; foreach my $line (@object) { if ( $line =~ /[0-9,.,]+:[0-9]+\s+(.*)/ ) { if ( $1 =~ /has the object/ ) { $indi .= "#"; } else { $indi .= "-"; } } } $indi .= "]"; print "\tmetadata object\t: $indi\n"; for ( my $index=0; $index < $sumindex; $index++ ) { my @object = qx(collie vdi object $vdi -i $index); my $indi = "["; foreach my $line (@object) { if ( $line =~ /[0-9,.,]+:[0-9]+\s+(.*)/ ) { if ( $1 =~ /has the object/ ) { $indi .= "#"; } else { $indi .= "-"; } } } $indi .= "]"; print "\t$index\t\t: $indi\n"; } |