I'm adding a new storage device to our SAN, and this is a good opportunity to
reexamine our config and make changes. I'm looking for recommendation
about storage configuration decisions.
Environment:
RHCS-clustered Linux NFS servers with SAN attached storage, serving
~45 Linux clients (scientific computing cluster and stand-alone
computational servers)--mainly CentOS 5.4, some CentOS 4.8.
Multi-vendor SAN (currently EMC and Nexsan, likely to include other
vendors in the future)
~12TB (raw) in use, ~18TB (raw) being added. About 6TB from legacy
devices (direct-attached SCSI, SOHO NAS, etc.) who's data will be
migrated to the new 18TB SAN storage.
Current LUNs are 168GB to 2.5TB in size, depending on the size of
underlying RAID groups or individual disks.
Current Linux filesystems use ext3fs. Ext4fs is being tested outside
of production.
4 major conceptual uses for storage: home directories, project space,
scratch space and archival. Currently about 2~6 TB each, will expand
by 1~3TB/year.
Capacity and managment are much greater priorities than performance
Goals:
Provide end-users with increased space in the 4 categories (home,
project, scratch, and archive).
Select technology that allows for expansion of space in those categories
as new physical storage is added in the future.
Minimize future downtime due to regular maintenace (ie., fsck may take
~1.5TB/hr)
Concerns:
Within our environment, allocation has been a greater problem than
performance--individual volumes are be full, while others have
lots of space. A configuration where storage can be flexibility
allocated to individuals or projects is desireable.
A unified presentation to end-users is desirable. We're using automount
extensively now, and this produces a confusion among end-users
(typically resulting in a desperate question about why "my project
directory is missing").
I've had very bad experience with automount in a mixed environment
(Linux automount clients mounting from Linux, Solaris and Irix NFS
servers) and would prefer to avoid automount...but the non-Linux
NFS servers are going away soon, so this isn't an absolute requirement.
As filesystems grow, I have concerns about management--fsck time becomes
excessive, and I've heard annecdotes about filesystem stability over
certain sizes (8TB, etc.). For this reason, a solution that virtually
consolidates separate back-end filesystems of moderate sizes may be
preferable (sounds like automount!).
Some possible choices for managing the environment (with pros and cons) are:
* union mounts
Virtually combine separate filesystems by overlaying directory
trees. Data sources are ranked by priority, to determine which
directory takes precendece. There are kernel and user-land (FUSE)
implementations.
- lack of personal experience
- overhead (~12% for the kernel version, possibly more for the
FUSE version)
- complexity of NFS client configuration, possible limitations
with NFS exports
- not in current RHEL5/CentOS5 distributions
+ simple NFS server configuration
+ clean presentation to end-users
+ flexible use of back-end space
+ virtual consolidation of small back-end filesystems
* LVM
Logically group unformatted storage volumes (LUNS) into virtual
LUNs, formatting those as filesystems. Logical volumes can grow
in size (depending on available storage and the capability of
the filesystem on the logical volume). Using
LVM would likely mean having 4 large virtual volumes (home,
project, scratch, and archive directories), each made of from LUNs
from different storage devices.
- difficult to address performance issues when a filesystem is
made up of LUNs from different storage devices
potentially using different RAID levels, etc.
- complexity on NFS server
- potential filesystem issues at large sizes (fsck time,
ext3fs stability over 8TB, etc.)
+ existing familiarity with LVM
+ simple presentation to user
+ simple management on NFS clients (ie., a single
mount point per data type)
* automount
Similar to unionfs, individual filesystems would provide separate
directories.
- historical poor experience with automount
- managment of automount maps
- end-user confusion
- smaller filesystems = allocation problems
+ simplicity on NFS server
+ widespread use
+ flexible use of back-end space
+ virtual consolidation of small back-end filesystems
* Hybrid
The technologies can be combined--such as using LVM to manage
smaller (~1TB) logical volumes, with data from those presented
to NFS clients via automount. This would allow for filesystem
growth and allocation from specific devices--at the expense of
increased complexity.
So, if you've managed to read this far...is there anything that I'm missing?
Any suggested alternatives?
Thanks,
Mark
_______________________________________________
Discuss mailing list
[email protected]
http://lopsa.org/cgi-bin/mailman/listinfo/discuss
This list provided by the League of Professional System Administrators
http://lopsa.org/