views:

22

answers:

2

Hi, We have a NTFS volume used for storing large number of files(currently at 500GB and growing). Currently the same is accessed via a file share by a single application. We are looking at options to scale out the file server for access by multiple applications. The other applications would only be reading files and not performing any updates. What are the options available in designing such a file server so that it doesnt become a single point of failure and provides scalability, replication and availability? Some people have suggested moving the files to the database and thus achieve all of these. Are there any better options? Thanks in advance

+1  A: 

Microsoft Distributed File System.

DFS Replication. New state-based, multimaster replication engine that is optimized for WAN environments. DFS Replication supports replication scheduling, bandwidth throttling, and a new byte-level compression algorithm known as remote differential compression (RDC).

Wikipedia has a good overview here

Romain Hippeau
A: 

RAID (redundant array of inexpensive/independent disks) would be your best option. RAID is a system where multiple drives can be grouped into one volume for added space, backup, or a combination of both. You can dynamically add, change and remove disks without having to lose data.

For example:

  • RAID 0 groups drives into one volume, but no backing up
  • RAID 1 uses half of an array's drives as a 1:1 backup for the other half
  • RAID 4 uses one of the array's disks as dedicated parity, essentially a compressed backup
  • RAID 5 is the same as the above, except the parity is spread out among all drives
  • RAID 6 is the same as RAID 5 except twice the amount of parity is used, which is safer

You can also dynamically switch between RAID configurations.

Delan Azabani
This will protect you against drive failure, but not against any other failure. Does not provide scalability.
Romain Hippeau
RAID does provide scalability, as you can dynamically expand the array to suit your needs.
Delan Azabani
@Delan Azabani You still need to go through one interface. For the most part RAID is slower than just writing to a single disk. You have to calculate parity (in most cases) write to multiple disks and synchronize the writes to make sure that all have properly received the data.
Romain Hippeau