User mapping scheme
This is the first idea, it should already work nicely, but we may need to adjust it in the future.
Initial user mapping
We will start with 10 X4500 boxes (s01,...,s10) and users will be placed on those following this scheme:
1 + MD5('loginname') mod 10 --> number
Then the user will be placed on the storage server with the according number. As the system grows we will eventually move away from this scheme (placing users needing larger storage volume on separate servers, etc.).
We will snapshot the users' directories once a day and copy the snapshot over to a target host. Currently we plan on having two copies following this algorithm:
( User's source server + 4 * ( 1 + ( int (Epoch/86400) ) % 2 ) ) % 12
E.g. users living on server s07 will have their backups pushed to s11 (even days) and s03 (odd days).
- 07 Jul 2008