What we want out of our new fileserver design
We're still in the process of designing our next generation of fileserver architecture, so I've decided to write down what we want out of the design.
- good long term storage management, as we are likely to keep the architecture for at least five years and probably more.
- we'd like be able to do highly available storage that has no single
point of failure, because we have some filesystems that are crucial
to our entire infrastructure.
- we should be able to add special purpose capacity without huge
expense. While SATA RAID-5 or RAID-6 bulk storage meets our general
needs, we may someday really need some fast RAID-1 storage or the like.
- people (and groups) should be able to incrementally buy chunks of
additional storage for a relatively modest cost, on the order of a few
In a sense, charging people for it is an unfair way of allocating storage, but we have to allocate it somehow and we know that not all groups want or need the same amount of disk space. Keeping the price low is necessary so that no one gets frozen out; a professor can always afford to buy another unit of space if they really need it.
(The cost is a one-time cost for similar reasons.)
- expanding the overall storage pool should be cheap, not expensive.
This implies that both the storage units and the infrastructure
needed to hook a new one up shouldn't cost lots of money.
- groups should be able to buy large amounts of storage with grant
It turns out that the easiest way to buy storage with grant funding is to buy commodity servers with disks from a large vendor that is set up to do the special grant funding dances. This means that we want to be able to plug general servers into our environment, even if we're not building our own storage pool out of them.
(Disclaimer: when I saw 'we' here I really mean it. I owe a big debt to my co-workers for educating me about a lot of the issues involved, including things like the peculiar constraints of grant funding.)