bji wrote:
Has anyone played with compressed filesystems under Linux? I did a little searching but the results were not encouraging; it doesn't look like there are many 'seamless' options for doing this, and using a compressed filesystem has the added worry of possibly interacting badly with Linode's virtual disk management tools.
Given that most of your space is going to photos, a compressed filesystem is unlikely to help much, since your data is already compressed.
Quote:
Any other creative ideas? Anything with the bandwidth and latency problems similar to S3 is basically out of the question, so most if not all network based storage solutions are probably not feasable - unless the networked storage was local to the data center.
Is there any opportunity for you to shard your albums by frequency of access to separate frequently accessed stuff from less so? If I were in your shoes, I might consider storing the less frequently accessed stuff right at home (essentially free, unlimited storage), with a network mounted filesystem (preferably over a secure VPN tunnel from the home server to my Linode), and then push older or less accessed stuff down there.
My guess is that growth is slow enough that you could manage the division of photos manually, say selecting the top 'n' oldest albums once a month and replacing them on your Linode with symbolic links to the network mount from home. Were I doing this I'd probably have an automated sync script always keeping the home storage completely in sync with anything stored locally on the Linode so when you need to shift something, it's just removing the local copy and making the link to the matching directory already present over the network share.
I'm sure there must be some other more automated way (say a generic caching layer above the network filesystem), but I'd bet some simple manual management would be fine, and you'd still have the basic Linux filesystem cache for short term accesses.
Yes, this would mean that accesses to the older stuff would make your Linode pull the data from your house, and then push it to the client but much of that I/O should overlap so the timing need not be much worse than the basic retrieval from home, and it's for less frequently accessed stuff. And given that the images would have existed initially on the Linode before being shuffled off home, gallery's thumbnails/cache could still exist locally. And yes, if your home's link or server went down you'd lose access to those photos for the outage.
Now this may not be practical for any number of reasons (everything accessed frequently, unbearably slow or unstable link at home, etc...) but it may be worth considering or at least testing.
-- David