Exporting mogile files and db to another set of servers

dormando dormando at rydia.net
Fri Feb 1 08:08:29 UTC 2008

drpr0ctologist at gmail.com wrote:
> I have a few test servers in-house and now I'm migrating them to a live 
> server on another network.
> I'd like to export out all of the files in mogile as well as the 
> database, to a whole new set of servers.
> My test server setup has 2 mogile storage servers, while there's only 
> one production server.

That's defeating the purpose a little; and might actually expose some 
bugs we're still trying to track down. You should at _least_ have as 
many individual hosts as is the mindevcount for your files.

> As suggested, I've now set both of the test server mogstored devices to 
> "drain", and added the production server's mogstored device as active.  
> This is supposed to copy all of the files from the test servers to the 
> production server.  Thing is, it seems to be progressing rather slowly.  
> Anyone know how long it should take 20GBs to move over, and how I could 
> speed it up?

What _is_ the transfer rate? How many replicator processes do you have?
There're some inefficiencies in the way drain is presently ran that 
might cause it to run extra slowly in your situation. But you might have 
to try a bit to see what it's blocking on.

Try strace'ing one of your replicator processes and see if you can find 
out what it's spending most of its time actually doing. You can try 
increasing the number of replicator jobs (telnet to your tracker's 
management port:
(see how many replicators you have.. say ... 1)
!want 2 replicate
(I think that's the right name? Will fire up an extra replicator. also 
works for reducing the number of active jobs).

Increase it, see if the file rate goes up, blah blah.

> Lastly, once this is all done, do I just import the test server mogile 
> data to the production database, and then modify the host and remove 
> traces of the old servers?  I'm guessing after it's completed, there 
> won't be any files referencing the test servers, since they've been set 
> to drain?

You should mark them as dead once they're fully empty. Then you should 
leave those 'devices' marked as dead. You can do the same for the old 
hosts as well. They'll live on as rows in the DB, but won't really 
affect anything anymore. Something marked as dead should never ever come 
back to life.

> By the way, does drain mean the test server files will be removed after 
> they are moved over? 

They're removed one by one and copied to another device (that's not in 
drain mode). So they should actually be deleted as they go along.


More information about the mogilefs mailing list