Link to home
Start Free TrialLog in
Avatar of kenshaw
kenshaw

asked on

using NAS as the storage sub-system

I'm interested in learning about using NAS as the storage subsystem for a cluster i'm setting up.

I've been looking at using DAS but its not scalable enough and SAN seems out of my price range.

my questions are:

1. is NAS a viable option?  i.e. whenever i want more storage can i just another NAS box to my network?

2. does NAS scale well?

3.  how do we deal with the fact that gigabit ethernet is only 125 mbps compared to Ultra320's 320 mbps?  do we just put two network cards in each of my app servers and two network cards in each of the NAS boxes?

4. how does NAS appear?  just as network drives?  i.e. is it just "map a network drive" to find the drives?

5. in reality - is the gigabit ethernet thing a real restriction on NAS?

6. how does NAS work for clustering?  does windows server 2003 support NAS for clustering?  where do you configure the quorum disk?  on one of the NAS machines?
Avatar of Lee W, MVP
Lee W, MVP
Flag of United States of America image

You don't mention what kind of NAS you're looking at.  An EMC NAS solution?  A SNAP drive from Quantum or similar company?  This is vital information for an answer to your question.

1.  Yes* - Whenever you need more storage you can add a NAS box, but the NAS box would be seen as another server.  NAS is NETWORK Attached Storage.
2.  In my opinion, NO.  UNLESS you get an EXPENSIVE NAS system that uses fibre channel as a backend of storage.  MOST NAS units that are "cheap" cap out at whatever they have when you buy them.  You MIGHT be able to swap out the existing drives and replace them with larger ones, but you won't scale well with this.
3.  GbE MAXES out at 125 Mbits - less actually when you figure overhead and signal loss if you're not using Cat 6 cable.  Realistically, I'd figure you'll see ~500 Mb at best, consistantly.  You could (if the NAS box you choose supports it) do NIC teaming to get increased bandwidth, but you'd still max out PER CLIENT at 125/62.5 MB/s.  But also consider, even with SCSI 320, your bottleneck is still going to be the NICs - your data from the SCSI servers has to go out a NIC to the client.  Even with GbE NICs in a SCSI system, they will need networking and that's where the bottleneck will be.  (If you were talking about using NAS with Exchange or SQL, then network might NOT be your throughput - but it's actually irrellevent as I'll get to a little later).
4.  NAS appears as a server with shares you configure.  It's really a customized OS on a customized computer, optimized for file sharing.
5.  No, I wouldn't consider it one - see the next point.
6.  Clustering and NAS is a BIG NO NO.  Windows requires a shared disk for clustering.  I don't mean a network shared disk, I mean one that's connected via a SCSI bus or Fibre Channel Bus.  A disk that can be seen as LOCAL on BOTH systems, but when the cluster is running, only one system will have access to it.  Trying to setup a cluster using NAS would also be akin to using a Windows workstation with a shared D: drive and trying to configure it to use NAS.  It's just not going to work.  This means the Quorum simply could NOT go a NAS device.

I've been through 3 presentations by Dell and 1 by EMC on NAS and SAN technologies, also with comments from Microsoft representatives.  In short:

SAN is MOST appropriate for Database applications.  SQL, Exchange, CLUSTERED file sharing
NAS is MOST appropriate for User storage - Home Directories, Profile directories, Shared Group drives.

See this article for information on Exchange and NAS:
http://www.winnetmag.com/windowsstorage/Article/ArticleID/43547/windowsstorage_43547.html
Microsoft doesn't recommend it, but they have tried OCCASIONALLY to make it work.  Given the Microsoft history with NAS and exchange - limited support for 5.5, NO OFFICIAL SUPPORT for 2000, only recent support for 2003, using NAS could seriously complicate your future upgrades, should you choose NAS for an Exchange solution.

Now, the one POSSIBLY way you could make NAS work is to find a NAS device that supports exporting disks via iSCSI.  Then you could setup a seperate network using a NAS device and connecting it to Windows servers via iSCSI - which will THEN see the disks on that NAS device as LOCAL disks.  iSCSI is still relatively new - I don't know that I'd recommend doing things this way.

My advice - go with Direct Attach storage OR shell out the low six figures on a decent EMC (Dell/EMC) solution - depending on what you need the storage space for.  (What DO you need the storage space for?)
Avatar of kenshaw
kenshaw

ASKER

ok... what I want to do is this.

I have a web applciatoin that is a document management system.  The web app is an .NET app that exposes a bunch of webservices to VB6 clients.  the webservices  rely on SQL server 2000 which will be hosted on its own cluster on the network.  The config we want is this:

1.  WEB SERVERS
i want to have 3 webservers running our .NET applciation with a hardware load balancer - i.e. I want to divide the incoming connections accross 3 computers.  

2. DB SERVERS
SQL server 2000
two IBM x345's each with dual CPU's and 4 GB of ram running in an active/passive failover cluster on win server 2k3
these share an IBM EXP400 DAS with 2 7 drive RAID 5 arrays in int

3. STORAGE SYSTEM
So this is where my problem is.  I want at least 3 webservers doing the work - but they need access to a LOT of storage.  therefore I can't use DAS because i'd be limited to two nodes sharing one box.  I also want the scalability of being able to add new webservers when the three are getting slower.

I wanted to do was use NAS and setup shared network drives in windows on teh webservers so that they all saw x:\ z:\ and y:\ where each of those could be NAS boxes on teh network with a couple of TB each.  I thought that with NAS whenever I wanted to add capacity i could just add a new NAS to the network and map new network drives.

Couldn't I do this?
OK
Done this at one of our clients:
This thing is possible greatly if you use MS products base line and it could be achieved using the following product:
Windows Storage server 2003 with Service Pack 1 (and it is important to note it is SP1) - see the link below.

If you use Exchange Server for instance, you cannot relocate its database to any SAN system due to its structure. The best way to do this, and other MS storage related tasks, is to use the Windows Storage Server. SAN is a good solution for data storage (i.e. documents and SQL databases).

Heres a link to the MS Windows Storage Server SP1:
http://www.microsoft.com/windowsserversystem/wss2003/productinformation/overview/default.mspx

I know you may need additional help... It is a so much flexable solution so you need to be careful in what you may choose...

Please feel free to ask additional questions for that matter...

Cyber
PS

SAN/NAS

Cyber
Avatar of kenshaw

ASKER

i don't know what you mean by SAN/NAS?

It sounds like you support my solution.  What if I do use a cluster - i.e. instead of using a hardware load balancer - i would use windows server 2k4 web edition and run a network load balancing cluster on my three webservers.  Then i'd have one virtual server right?  I'd configure the NAS boxes as network drives on my virtual server yes?

Would that work?

>SAN/NAT = Is supports NAS and SAN.

The ONLY way for you to do true clusterring is via the product I described.

The architecture will typically will look like this:

[LAN]<---->[SQL Server]
                  [Exchange Server]
                  [Web servers]<------------->[Windows Storage Server SP1]<------->[SAN/NAS]

Cyber
Avatar of kenshaw

ASKER

ok... if I do attach NAS devices as mapped network drives - how much bandwidth to each drive would i have?

i.e. most NAS drives have multiple ethernet ports - but these will each have their own IP address right?  so I map network drives on my webservers using those IP addresses then I'm limited by the bandwidth of a single gigabit ethernet connection aren't I?

Is there anyway to make the storage in a NAS box available to the webservers in a way where there's aggregate bandwidth?
You can set bandwidth in many ways. But the most common way to manage your bandwidth is via using the QoS protocol. Implementing it may be worthawhile.
As for NAS; well, it is important for you to understand that NAS is like a hugh container of drives for storage purposes. It may be abailable for any purpose you deside but, you will have to use a management usint for data managability isues (i.e. data references, directory services and forth). You may use SAN which is a total different storage management architecture:

Links:
Here is a great report that may explain to you the SAN/NAS concepts:
http://compnetworking.about.com/gi/dynamic/offsite.htm?site=http%3A%2F%2Fwww.nas-san.com%2Fdiffer.html

More about the QoS protocol and implementation instructions:
http://www.microsoft.com/technet/prodtechnol/windows2000serv/maintain/featusability/qosforth.mspx

Hope that helped:

Cyber

ASKER CERTIFIED SOLUTION
Avatar of Member_2_231077
Member_2_231077

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kenshaw

ASKER

well - the way the software works is that the web servers are querying the SQL server - but also writing to and reading from the data disks.  Its a file management app - so when files are recieved by the web servers they store meta data about file in the SQL server but store the file data directly onto the disks themselves.  So for this reason - the webservers DO need access to the data disks.

would SAN be appropriate?
andyalder, Exchange wont be 'happy' not with NAS nor with SAN my dear friend, that is if you talk about using an Exchange server in one part and the Exchange database on the other. See, you cannot relocate the database due to the Exchange database specific structure. The Exchange database will reside on the Exchange server and will use part of the SAN system thus what you suggest is a good solution (i.e. HP DAS concept) but it is still a limmited one.

Those are the reasons my offer is much better and more flexable;
Using the Storage Server SP1, you can use a <<<single Exchange database>>> that can be shared with a <<<few Exchange servers>>> (this is a true cluster) as opposed the HP DAS solution that you will need to add an Exchange Server for each task (i.e. Prime and Backup). This will increase speed as well as reliability and will lower the price.
Also, try to figure out the implecations a SQL database will have as well as WEB servers.

kenhaw, there is no doubt that the solution you are looking for relays on the Storage Server SP1 due to the fact it can share a single database with few servers.

:)

Cyber
Cyber, I think you are mistaken. I've seen quite a few Exchange servers with their data and logfiles on a SAN, it's the only way to cluster them past 4 nodes. As far as Windows is concerned it treats SAN asif it was DAS storage. They cannot access the same database at the same time of course but that is true with any other attachment method as well. So for an 8 node cluster you mount one storage group on each of seven servers and the other one sits idle ready to kick in if one goes down. Take http://h18004.www1.hp.com/solutions/enterprise/highavailability/microsoft/index.html for example, the MSA1000 is listed there specially for MS clustering and it contains an 8 port fibre switch.

I agree with leew, I wouldn't put SQL data on NAS - and windows storage server is a NAS OS for OEMs. SQL can off-load tables to NAS but the transaction logs need to be on the fastest media available and that means DAS or SAN. I don't think either SQL or exchange would work clustered on NAS, the quorum drive needs very fast/exclusive access and NAS doesn't offer this. Where it says server clustering in the windows storage server 2003 documentation it means you can cluster the storage server based NAS boxes. They still have the same shared back end storage. Where it says 'make full use of existing SAN environment it means it can be used as a NAS header.

If the web servers are read only then they can use the same data on a NAS box of course, just like 2 users can read the same file on a fileserver. Gets a bit complicated when more than one of them wants to write data though, can't both write the same file at once.


I don't know where you get the bit about 2 servers accessing the same database at the same time, wouldn't one get upset if data appeared in the database when it hadn't previously appeared in its transaction log? To do that you'd need something like Oracle parallel cluster. MS SQL doesn't scale like Oracle does.
andyalder,
>They cannot access the same database at the same time of course but that is true with any other attachment method as well.

But the MS Storage Server SP1.

Cyber
Can you find some documentation that supports that? Just that I've never heard of 2 SQL boxes using the same data and HP who use storage server on their NAS boxes don't say anything about using it that way.
Yap I do, I'll support that tomorrow... now I'll get some sleep...
:)

PS

You can read about it using the link I provided. It is important to note that the 'SP1' is a big and important issue here. You can take any NAS/SAN device, store there the database while using several; say Exchange Servers on the same database in conjunction with the Storage Server SP1. It is a great solution and it is possible for implementation... I know; I didn't believe it my-self but we managed to pull this off...

Good night for now...

Cyber
OK
Im sorry, but I had a minor mistake referring the products name: its not Storage Serevr SP1 but Storage Server FP1 (FP1 stands for Feature Pack 1).
As I prommissed,  here by provide you with specific links referring two magor issues:
1. Managing the Exchange database in a way to enable sharing it thus allowing a high quality true cluster.
2. Product consept guide thus allowing you to understand how to share SQL database, IIS services and forth.

A few notes before:
The Storage Server FP1 is not a replace to any NAS nor SAN devices but more like a management platform to allow you manage MS products in terms of storage; somthing other products may not provide you with; As mentioned in the articles I sent above.
Also, you may use Storage Server in conjunction with HP StorageWorks to get an additional features.

Enough talking; links:
1. Manage the Exchange Server database and how to share it:
http://www.microsoft.com/windowsserversystem/wss2003/techinfo/plandeploy/exchange_fp.mspx
2. Interactive product guide to guide you through the product's features:
http://www.microsoft.com/windowsserversystem/wss2003/productinformation/prodguide/default.mspx
3. Nice feature we implemented on one of our clients which enables more efficient device management:
http://www.microsoft.com/windowsserversystem/wss2003/techinfo/plandeploy/BootfromSANinWindows.mspx

Hope that helps
:)

Enjoy...

Cyber
Nothing there about more than one server using the same database at the same time, just two servers both having their data on the same NAS box. OK, you can get away without a quorum disk using a majority node set and replicate the data to seperate NAS boxes but both nodes can't be running on the same data at the same time unless one is read only.

Since only one node is active in both scenarios then it would be slower to have the data on NAS than on SAN since 2Gb SAN gives 200MB and fibrechannel overhead is only a couple of percent. Over ethernet you only get 1Gb or 125MB and the TCP/IP overhead (without taking the SMB overhead into account) is about 20%. Since mirror copy software can be used on a SAN as well as over ethernet the SAN solution should be about 3 times as fast. Admittedly it would cost more, but it's a speed trade off, SQL replication would be even cheaper but slower.

It is NSS that makes it what you call a 'true' cluster without any shared resource, not Exchange 2003's support for NAS. Thank you anyway, I hadn't heard of NSS, I'll certainly consider it next time someone wants a geographically seperated cluster. That's always been very expensive previously needing fiber between sites for SAN replication or third party software like doubletake.

Good night, sleep well, you've helped me although I think we might be confusing kenshaw.

Talking about kenshaw, are the web servers storing their data on SQL or just using this for an index of where the data is located?
MNS not NSS, I'll learn to type one day.
andyalder... You can share Exchange database... read the document... This idea is implemented already...

:)

Whats the catch? You can indeed share the Information Stote using several Exchange Servers but you cannot share Transaction logs. Surprising? It worked...

But... if your not so sure why wont the author turn to MS support team and ask them? Easy...

Cyber
So one mailbox is available at two locations?
Not two locations but two servers. Depens on the traffic, a user may get an e-Mail, set an appointment or assembling tasks on two different servers acting as a single unit.

:)

Cyber
Problem is he's got SQL not Exchange and I think SQL still needs block level access to the data using SCSI commands except for the ability to offload some tables onto NAS.
Avatar of kenshaw

ASKER

this has all got me confused.... :-(

Would my solution work or not?

My SQL servers won't be using the NAS - they will have a DAS share.

its my front end webservers that are going to be using the NAS and i wanted to map them as network drives directly from the webserver.

Could I put in NAS, map the same network drives on all of my webservers, and use connection teaming to increase the bandwidth between my webservers and the NAS boxes?
Using MS Storage Server; in-short - yes!

This is one of the reasons MS built the Storage Server system; so that you would be able to manage storage in a way that all MS applications (i.e. Exchange, SQL and IIS servers) would be able to communicate with supported storage container as if it was the local hard drive of the machine.

I would truely suggest you read the documents and links I posted. You will understand the product better. It is not replacing ANY of the NAS/DAS/SAN solutions but rather making them more flexable.

Cyber

If it's storage that the web servers access directly rather than through SQL then you can indeed use NAS, whether it is based on Windows, Linux or a proprietory OS. If you want redundancy for the data just copy the same thing to two places rather than use DFS or replication software.