(Illustration by Gaich Muramatsu)
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