I used to setup a separate admin database on each server. Use scripts to grab the size of each database, and you can find a few on this site.
Then use linked servers or a batch job, or even DTS to roll that up to one of the servers and get a report. Separating this to each server means that a failure or issue only affects that server. And it keeps the history with the server. If you move a db, be sure to move the server.