Way to do that is to rent a dedicated server with enough hard drives and to put them in RAID (so in case of HDD failure your data is safe). 1GBPS port and lots of bandwidth is a must. Also hosting that in Europe is better then in US (because of legal shit) so probably best location for that is NL so checkout LeaseWeb.com
Other way is to use some kind of object storage + CDN for distribution.
Now this is very reliable and easy to use (fuck free) solution but VERY expensive.
You may find more about that on following places:
http://aws.amazon.com - Amazon S3 + Amazon CloudFront
http://www.maxcdn.com
http://www.isprime.com/cdn.html
http://www.cdn77.com