Coda File System

Re: I want to remove all the volumes and restart freshly

From: Pierre LEBRECH <pierre.lebrech_at_laposte.net>
Date: Wed, 09 Apr 2008 18:18:58 +0200
Jan Harkes wrote :
> On Wed, Apr 09, 2008 at 10:44:24AM +0200, Pierre LEBRECH wrote:
>   
>> by the getvolumelist option. But now it is OK. I'm
>> just wondering why there is a letter before the volume ID (that I had to
>> ignore, ex : I1000002) and why there is a 'W' letter before the volume
>> name, and also why I had to use the small number after the volume name!
>> (test.1 instead of just test). C'est la vie!
>>     
>
> Internal implementation details, I think those letters are used to make
> the format somewhat extensible, effectively those letters indicate the
> type of the data that follows.
>
> So W<volname> means "replicated volume named 'volname'", and I<volid>
> indicates "volume identifier 'volid'". If anyone wants to add some new
> data and prefixes it with a unique character it shouldn't mess up
> existing parsers.
>
> The extra number is because the volume you are removing is a low-level
> (underlying) replica. So we have a replicated volume test, which
> consists of two replicas, named test.0 and test.1. The user normally
> doesn't see the individual replicas separately, but only accesses
> the data through the replicated volume abstraction.
>
>   
>> But my VRList file was not empty. So I removed the content of that file
>> with vi.
>> Then I ran this command : volutil -h localhost makevrdb /vice/db/VRList
>>     
>
> That works.
>
>   
>>> The second layer is where we have the volume location database (VLDB),
>>> which is built by pulling the individual volume lists from all servers,
>>> combining them into a single /vice/vol/VolumeList file and then hashing
>>> that into a the binary lookup table that is stored as /vice/db/VLDB.
>>>   
>>>       
>> The name I have is : /vice/vol/BigVolumeList
>> It is updated by bldvldb.sh
>>     
>
> Correct.
>
>   
>> So with the steps I've done above, everything seams to be clean. Now, I
>> ran this command :
>> createvol_rep rootvol server1 server2
>> result was OK.
>>     
> ...
>   
>> Oh one more question : when I removed my rootvol volume (with volutil
>> purge), the VRList was not updated. I had to manually remove it from
>> VRList and make the /vice/vol/BigVolumeList updated manually as well. Why?
>>     
>
> That where the 'purgevol_rep' script comes in. It will remove the entry
> from the VRList and run volutil purge for any replicas on the servers
> and automatically rebuild the VLDB and VRDB files (i.e. it tries to
> automate the same things you were doing by hand).
>
> Jan
>
>   
Oh yes! Super! Thanks very much! I didn't know that little tool. It's cool.
Received on 2008-04-09 12:21:36