Long term storage management in the field
I've recently been thinking about what features we need for painless long term storage management, and in the process I've been thinking about what we actually do here with our SAN-based NFS fileserver storage over time. Somewhat condensed, we seem to:
- add new storage units.
- replace existing old storage units with new ones, possibly with
some consolidation because disk and thus unit capacities keep growing
over time (so that it's not a one to one replacement of units).
(We have relatively undemanding random IO data rates, so we don't feel that we need to keep up the number of spindles.)
- have a group buy a storage unit and:
- some of it is used for new storage
- some of it is used to add redundancy to the group's existing storage, so that they keep things that they feel are especially important going if either their unit or our unit(s) are still alive and intact.
We keep equipment for a fairly long time; our oldest SAN RAID unit is SCSI-based, for example. (And not fast modern SCSI either; it dates from the days when SCSI was your only viable choice in this space.)
We make no attempt to keep the number of front-end fileservers the same as the number of SAN RAID controllers; we have had more, less, and the same as circumstances change. The net effect is that natural evolution causes every fileserver to have disk space on more than one controller and each controller being used by more than one fileserver.
(Avoiding this would be nice but it's hard. Adding and consolidating storage without necessarily changing the number of fileservers makes this happen naturally over time, so we would have to contrive some painless and user-transparent way of moving filesystems between fileservers. Our fileservers are virtual ones, which makes it somewhat easier, but I don't think anyone's systems currently support this.)