Slashdot Mirror


Ask Slashdot: Low Cost Way To Maximize SQL Server Uptime?

jdray writes "My wife and I own a mid-sized restaurant with a couple of Point of Sale (POS) terminals. The software, which runs on Windows and .NET, uses SQL Server on the back end. With an upgrade to the next major release of the software imminent, I'm considering upgrading the infrastructure it runs on to better ensure uptime (we're open seven days a week). We can't afford several thousand dollars' worth of server infrastructure (two cluster nodes and some shared storage, or some such), so I thought I'd ask Slashdot for some suggestions on enabling maximum uptime. I considered a single server node running VMWare with a limp-mode failover to a VMWare instance on a desktop, but I'm not sure how to set up a monitoring infrastructure to automate that, and manual failover isn't much of an option with non-tech staff. What suggestions do you have?"

284 comments

  1. If it a'int broke... by Anonymous Coward · · Score: 1

    ...don't upgrade.

    1. Re:If it a'int broke... by sureshot007 · · Score: 2

      While I always agree with this, you can't expect a business that is open 7 days a week to just wait for it to fail.

    2. Re:If it a'int broke... by Lennie · · Score: 1

      I assume a Point of Sale system is mostly a closed system and network right ? Why would it break ?

      --
      New things are always on the horizon
    3. Re:If it a'int broke... by sureshot007 · · Score: 1

      Because it runs software (that could crash) on hardware (that will fail at some point).

      Everything breaks at some point. If your business depends on it, why wait until it actually breaks.

    4. Re:If it a'int broke... by CSMoran · · Score: 1

      Roger Moore's law.

      --
      Every end has half a stick.
    5. Re:If it a'int broke... by Anonymous Coward · · Score: 3, Funny

      Roger Moore's law.

      What does James Bond have to do with this?

    6. Re:If it a'int broke... by sapgau · · Score: 1

      It can also break on the upgrade... so is not an easy answer.

    7. Re:If it a'int broke... by sapgau · · Score: 4, Informative

      Agreed but. How old is the hardware?
      If it's over 5 years then you should consider monitoring the following components that are exposed to physical degradation:
      - Hard drive
      - Cooling fans
      - Power Supply
      - Network equipment if your electrical current is flaky.

      Your uptime might be more impacted by the level of maintenance you do on your equipment. I'm afraid to ask but if in any way your equipment is close to kitchen smoke then you could experience nasty greasy deposits in fans and air vents.

      Your next step is have a disaster recovery at the ready with your most recent VM image backup.

    8. Re:If it a'int broke... by Anonymous Coward · · Score: 0

      He meant, "Roger" as in "10-4". So your question should be "What does Moore's Law have to do with this?

    9. Re:If it a'int broke... by sapgau · · Score: 1

      Oh and... check free disk space!

    10. Re:If it a'int broke... by TVDinner · · Score: 1

      If it ain't stirred, it must be shaken

    11. Re:If it a'int broke... by edittard · · Score: 4, Funny

      WTF? Software isn't subject to physical wear like an engine. Do you think friction will eventually turn a 1 into a 0 somewhere in the code?

      --
      At the bottom of the /. main page it says 'Yesterday's News'. Well they got that right.
    12. Re:If it a'int broke... by Anonymous Coward · · Score: 0

      in my world this is possible... multiple NAND flash reads can (and do) cause adjacent bits to flip! so we periodically pick em up and write em out again.

    13. Re:If it a'int broke... by CSMoran · · Score: 1

      You're right. Eddie Murphy's law then.

      --
      Every end has half a stick.
    14. Re:If it a'int broke... by Anonymous Coward · · Score: 0

      The solution any business would be looking for in this regard is called redundancy. If your main tool breaks then you need a secondary tool which can still get the job done, because we all know there is no such thing as a tool which will never fail on you nor is there any kind of one-solution-fits-all bandage to fix any kind of problem which might ever come up.
       
      In military circles, we call it a sidearm and you're never supposed to not have one.

    15. Re:If it a'int broke... by CSMoran · · Score: 2

      WTF? Software isn't subject to physical wear like an engine. Do you think friction will eventually turn a 1 into a 0 somewhere in the code?

      No, but if there's a race condition that occurs once in a blue moon, the cumulative probability of trouble can increase monotonically with time.

      --
      Every end has half a stick.
    16. Re:If it a'int broke... by Anonymous Coward · · Score: 0

      Go Cloud Virtual Server - pay per month access to redundant systems

    17. Re:If it a'int broke... by ajo_arctus · · Score: 2

      Why not? It's not friction that'll turn a 1 in to a 0, but simple entropy or cosmic rays (seriously). ECC RAM is designed specifically to guard against that kind of problem.

      Friction can kill anything that moves -- fans and hard-disks. If a fan dies, either in the PSU, the case or on the CPU, you could end up with a server that crashes and has all kinds of problems. That's why real servers beep incessantly to let you know if a fan is dying.

      And software can crash over time. I write software for a living, and a few months ago I had to change a bit of code I wrote in 2005 -- it was broken by a security update Microsoft released in November last year.

      Anyway, OP is asking about cheap-skate ways to emulate Microsoft's expensive fail-over clustering options. The only real answer (I can think of) is replication/log shipping and something in the software that detects the fault and enables the fail-over without any on-site technical expertise. But he's going to need to talk to the ISV about that, not us.

    18. Re:If it a'int broke... by dubbreak · · Score: 1

      At 5 years I'd just replace the power supply and fans. They have a finite lifespan and in my experience those two items (fans and PS) are most likely to take out other components with them.

      --
      "If you are going through hell, keep going." - Winston Churchill
    19. Re:If it a'int broke... by jimicus · · Score: 1

      No, but if he requires ongoing support, that may well be subject to running a particular version.

    20. Re:If it a'int broke... by spongman · · Score: 1

      pay per month access to redundant systems

      pay through the teeth for redundant fast internet connections and a router that can intelligently detect outage and fail over.

    21. Re:If it a'int broke... by philip.paradis · · Score: 1

      What happens when their Internet connection goes down? This tends to happen a bit more often than other modes of failure. How do they interface their POS hardware with a server hosted offsite? Assuming you can make the last bit work, who pays for the inevitable PCI DSS signoff on the remotely hosted servers? Did you read the summary at all?

      --
      Write failed: Broken pipe
    22. Re:If it a'int broke... by cusco · · Score: 1

      And leave all your data in the hands of someone who, if they're big enough to be stable won't give a shit about your piddly little account when their system has trouble, or if they're small enough to care are likely to have occasional day-long glitches.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    23. Re:If it a'int broke... by danomac · · Score: 1

      Also, make sure that you find a backup solution that does actually back up the entire VM and all its related config files! This was you just restore the entire virtual machine and power it back up and you should be good.

      If you only have the one server, you can't do in-house redundancy on multiple machines, but you could possibly hook up an external hard drive and use that for backups. Just make sure you have copies off-site! There are companies that can store tapes or drives for you on a weekly basis if you don't want to do it yourself. Not sure about the cost on that though.

      As with any backup/disaster recovery scenario, make sure you test it! Nothing like restoring an VM and finding out it doesn't work! There are some solutions on the market that allow you to sandbox your backed up virtual machines and power them up under a virtual network separate from your main one to ensure they work!

    24. Re:If it a'int broke... by DarwinSurvivor · · Score: 1

      Right, because this old system he's looking to upgrade probably runs on SSD drives...

    25. Re:If it a'int broke... by DarwinSurvivor · · Score: 1

      And how is an upgrade supposed to fix that? If you're talking about slow os corruption, then simply creating a backup mirror of everything but the data (which is backed up separately) would be even better.

    26. Re:If it a'int broke... by Lumpy · · Score: 1

      Actually if you rub a zero hard enough with a dusty fan you get a 2, and then all hell breaks out on the SQL server...

      --
      Do not look at laser with remaining good eye.
    27. Re:If it a'int broke... by datavirtue · · Score: 2

      Enough cloud paranoia. Small businesses often have shitty internet service, even business class, that can go out for a day at a time. The weakest link is the last mile.

      --
      I object to power without constructive purpose. --Spock
    28. Re:If it a'int broke... by datavirtue · · Score: 1

      Have commodity hardware that is already setup and working as your backup. Restore the database backups to it. It is called a test server. Very cheap insurance and GREAT peace of mind.

      --
      I object to power without constructive purpose. --Spock
    29. Re:If it a'int broke... by cusco · · Score: 1

      Indeed, that's the reason that my former employer stayed with their analog phone system so long. When the IP phone vendor almost had the owner convinced to change we asked her, "Margie, how much down time have we had on the phone system in the last year?" About an hour, and that was the fault of the building owner. "How many days were we without Internet service?" The total was 4 1/2 days.

      She stayed with the analog system.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    30. Re:If it a'int broke... by GigaplexNZ · · Score: 1

      No, but if there's a race condition that occurs once in a blue moon, the cumulative probability of trouble can increase monotonically with time.

      And how is an upgrade supposed to fix that?

      In an ideal world, updates fix bugs such as race conditions.

    31. Re:If it a'int broke... by CSMoran · · Score: 1

      And how is an upgrade supposed to fix that? If you're talking about slow os corruption, then simply creating a backup mirror of everything but the data (which is backed up separately) would be even better.

      I was not talking about OS corruption. I meant simple failures like all terminals locking up because a race has just materialized. An update that fixes the race condition, well..., fixes the bug.

      --
      Every end has half a stick.
    32. Re:If it a'int broke... by Robert+Zenz · · Score: 1
    33. Re:If it a'int broke... by elkto · · Score: 1

      I am a big ROI type so I concur with the "If it a'int broke.." crowd.

      That being said, a low power consumption (cool) CPU mixed with ECC RAM and a RAID 5 comprised of Enterprise disks will keep things up for years (or at least it has for myself and my clients). Power Supplies are an odd subject as I have not seen many failures, but some of my decade old ones are now losing caps.

    34. Re:If it a'int broke... by Agent0013 · · Score: 1

      In the real world, the update adds many new features and functionality. This added complexity creates many more bugs than the old system had.

      --

      -- ssoorrrryy,, dduupplleexx sswwiittcchh oonn.. -Quote found on actual fortune cookie.
    35. Re:If it a'int broke... by DarwinSurvivor · · Score: 1

      You're making a VERY big assumption that the updates are fixing more bugs than they are introducing.

    36. Re:If it a'int broke... by CSMoran · · Score: 1

      You're making a VERY big assumption that the updates are fixing more bugs than they are introducing.

      Not at all, if you read my original comment again. I merely pointed out that in the absence of updates and in the presence of a latent bug, the cumulative probability of the bug rearing its head increases.

      --
      Every end has half a stick.
    37. Re:If it a'int broke... by DarwinSurvivor · · Score: 1

      By definition, a latent bug is one you don't know about, so why would you be more worried about a pre-existing unknown bug than you are about a new unknown bug? You're actually probably better off with the existing one since there is a better chance it is documented with a work-around, the new one will probably be a while before a fix is released.

  2. What's your actual problem? by royallthefourth · · Score: 5, Insightful

    Why don't you have good uptime to begin with? I've SQL Server 2005 on a single unimpressive physical server with months of uptime. Is your restaurant open 24 hours? Is your current server flaking out? Concerns about uptime itself might be misplaced. What isn't made clear in the OP is why you think you need better uptime.

    1. Re:What's your actual problem? by Anonymous Coward · · Score: 5, Informative

      In addition to what the parent post said, recent editions of MS SQL Server have really nice mirroring capabilities in built in to the standard edition and you don't have to purchase a license for the "mirror" server. Even better, if you have enterprise edition, your .NET app can automatically fail-over to the mirror server. No shared disks, no windows clustering. It's pretty darn simple.

    2. Re:What's your actual problem? by Anonymous Coward · · Score: 1

      Parent is completely correct. The question you need to ask yourself is not, "Do I need to upgrade?".

      Here are the questions you should be asking:

      What is the required uptime? Do I need 99.9999% or is 98% or even 90% acceptable?
      What is are risks if the server goes down unexpectedly during a Saturday evening service (or other busy time)?
      How long can you accept the server being down in said service? 15 minutes? 30 minutes? How long can your POS terminals cache information before it needs to be flushed to the database?
      Have you had (to date) any significant problems with your SQL engine?

      I know VM is the flavour of the month, but waving magic VMWare and creating virtual servers all over the place won't actually solve stability problems. If your system is memory bound, it will continue to be memory bound after installing VM (if not much more due to VM overhead). If your system is network constrained then it will continue to be networked constrained. If you system is processor bound, the system will continue to be processor bound after installing VMWare (if not much more because of VM overhead).

      I can take a fairly standard desktop, create 4 virtual servers on it with SQL 2005, setup transaction log shipping, mirroring or clustering for high availablity but it won't do me any good if my power supply blows or the HDD motor burns out.

    3. Re:What's your actual problem? by markus_baertschi · · Score: 3, Interesting

      Good uptime is great, but unfortunately very expensive in terms of hardware, software and manpower. Questions you should ask yourself: - What is the maximum allowable downtime duration ? - How many outages can you tolerate per year ? - What is actual cost to you of a one day/evening outage ? - How many such outages did you have with your actual infrastructure ? I think the best option in your case is to have two identical servers/PCs of good quality with two mirrored harddrives each in hot-swap slots. If a harddrive fails, you can carry on for the evening and replace it the next day. If something else fails you swap the SQL server drives into the second server/PCs and fix the problem later. This is simple enough that you can instruct someone by phone to do that, when you are absent yourself.

    4. Re:What's your actual problem? by Anonymous Coward · · Score: 1, Insightful

      I think this may be a smart guy who is bored with the restaurant and is tinkering with the tech. Nothing wrong with that.

    5. Re:What's your actual problem? by Bengie · · Score: 3, Insightful

      In his shoes, I would be put more effort into quick recovery than really high up-time features like fail-over. While similar, they're not the same, and recovery is much simpler to handle. This is how I plan to handle my own hobbyist network/servers.

      I guess I'm saying I would rather spend money/effort on cheap/free virtualization(HyperV3 is coming out this fall-ish) to allow a quick recovery boot from another machine, than spending money on redundant hardware and real-time failover.

      Probably a server and a desktop. The desktop could load the image and start his SQL image just fine. Not optimal, but would work while waiting for his server to get fixed.

    6. Re:What's your actual problem? by Anonymous Coward · · Score: 1

      Given that it's in a restaurant, dust, grease, water, and corrosion are the actual problems, unless his restaurant is substantially different than the hundred or so restaurants that I've done IT work in.

    7. Re:What's your actual problem? by spongman · · Score: 4, Informative

      if you have enterprise edition, your .NET app can automatically fail-over to the mirror server.

      Actually, the Standard Edition will do this you just need to set up the connection strings to point to both servers.

      The Enterprise Edition will do asynchronous mirroring, but it's not worth paying extra for.

    8. Re:What's your actual problem? by Bigby · · Score: 1

      It sounds like they need to upgrade the software because of a license, contract, or support reason. Since there is a major change, it could make things more stable or less stable. The posting wants to make sure he gets the best dollar out of the upcoming refresh.

    9. Re:What's your actual problem? by Mad+Merlin · · Score: 1

      The importance of this question is not to be underestimated. Anything that adds availability also adds complexity, and if not done correctly will actually worsen your availability. More than once I've seen new "high availability" setups that were less reliable than the original "non-high availability" setup.

      If you want to protect against hardware failure, get a server with redundant power supplies and hard drives (can be had for under $2k), and monitor them. Now, redundant power supplies are a no-brainer, but keep in mind that for hardware RAID (both fakeraid and real hardware RAID), when your controller dies all your data is gone unless you have an identical replacement controller. You can go further and add redundant network cards plus redundant network paths (including switches), but again there's a non-trivial complexity cost associated.

      If you want availability during updates, then your life just got a whole lot more complicated.

    10. Re:What's your actual problem? by frisket · · Score: 1

      You can also apply the ultimate test: what currently happens when the power goes out? Assuming you don't have a UPS (so all systems are dead) and that your kitchen uses gas (so you can actually carry on cooking) and that you can use candles on the tables. Do you have a manual (paper) system that you can run with temporarily?

    11. Re:What's your actual problem? by danomac · · Score: 1

      Another thing to point out is that during the rebuild of the array it's possible that the other [old] drive can fail. Happened to me at home...

    12. Re:What's your actual problem? by Anonymous Coward · · Score: 0

      Actually, the Standard Edition will do this you just need to set up the connection strings to point to both servers.

      Automatic failover with an sql mirror requires a third server, the witness. If the sql client can't reach the primary server, but can reach the backup server, the client asks the witness.

    13. Re:What's your actual problem? by Zebra1024 · · Score: 2

      The witness server is required for automatic failover. The witness can run SQL Server Express which does not require a license. Standard edition will work fine for this and the mirror server does not require a license.

    14. Re:What's your actual problem? by datavirtue · · Score: 1, Flamebait

      You stupid fuck. Enterprise edition is $65000.00 dollars per server. He's asking about duct taping something together and you suggest a software license in this price range?

      --
      I object to power without constructive purpose. --Spock
    15. Re:What's your actual problem? by datavirtue · · Score: 1

      During a failure the likelihood of another failure, statistically, goes through the roof.

      --
      I object to power without constructive purpose. --Spock
    16. Re:What's your actual problem? by Anonymous Coward · · Score: 0

      How about changing software to something that runs on google appengine ? Or maybe heroku ?

    17. Re:What's your actual problem? by godefroi · · Score: 1

      Now you're dependent on your internet connection, which, for me at least, has historically been less stable than my hardware. YMMV.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    18. Re:What's your actual problem? by M1FCJ · · Score: 1

      I guess you really never worked in IT. It happens all the time especially when the MTBF of two disks are similar and they were installed at similar times, if they were from the same batch, all bets are off. If you are using RAID5, the likelihood of having two failures is massive, in some certain conditions a certainity.

    19. Re:What's your actual problem? by Anonymous Coward · · Score: 0

      After determining how much downtime you can tolerate and the "budget" for ensuring availability, and then figuring out how to achieve that availability... the most forgotten step is TESTING that response time... ENSURING that you actually CAN do what you need in the tolerated downtime.

  3. Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 1, Interesting

    Seriously put the SQL server up in Clound service and let them worry about it. If its a Microsoft SQL server then Azure is the place to be. Hell put a full instance of your service up in the cloud.

    1. Re:Not to get buzzwordy, but Azure...the Cloud! by Lennie · · Score: 4, Insightful

      Azure had multiple 24 hour outages.

      It's cloud so that seems like a great idea !

      --
      New things are always on the horizon
    2. Re:Not to get buzzwordy, but Azure...the Cloud! by raydobbs · · Score: 4, Insightful

      Sounds like an awesome idea - that way, you are TOTALLY FSCKED when your internet connection goes down. One thing if your online ordering for a business goes down - just take orders by phone. When it completed hoses your order taking system (offline and online), then your screwed.

    3. Re:Not to get buzzwordy, but Azure...the Cloud! by jellomizer · · Score: 0

      It sounds like the cloud may be good option.

      You are already using Microsoft Products so it doesn't sound like you big into the ideals of RMS's rants against everything. The cloud is an affordable option, Your risks of loosing your data you can mitigate by downloading locally nightly.

      Now the advertising for the cloud makes it seem like a magic bullet, it isn't, however if you are a small business you are usually better off running of the cloud then on your own infrastructure, especially if you cannot afford redundancies.

      Check your contract to see if you can get your data off. Backup to you existing equipment or back up to the cloud.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    4. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 1

      so has amazon...many times more.

    5. Re:Not to get buzzwordy, but Azure...the Cloud! by gl4ss · · Score: 4, Insightful

      sounds like a fucking stupid idea, the entire operation is local and can run easily on computers which can be bought 200 dollars a pop. two of them, set up mirroring and go - even azures pricing sounds stupid compared to that.

      the cloud is a stupid idea because a) azure can go down and b) their link to azure can go down. in both cases they're screwed.

      what they could need/want would be a totally separate backup, if they're american then maybe square - if they're european wtf does a restaurant need a complex POS system for when you can get self contained payment terminals that take chip cards and connect wirelessly(or cache those which don't need instant verfication) on the pennies? (ok, those don't take care of your actual orders and such, if the restaurant system is really fancy)

      --
      world was created 5 seconds before this post as it is.
    6. Re:Not to get buzzwordy, but Azure...the Cloud! by gmuslera · · Score: 4, Funny

      I don't understand why people complain so much about that service. 9.99999% of uptime should be good.

    7. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 0

      Forget Azure; they are years behind Amazon. Put a SQL Server instance on Amazon's RDS, use Amazon's VPC service to provide a VPN to your restaurant. Configure a dual WAN (cable and DSL) enabled router w/ VPN capabilities on a UPS. Chance of failure: near-zero.

    8. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 1

      If I owned a single-location store or business, I would make every effort to keep critical parts of my business OFF the internet. Especially if there's high-turnover staff getting near it. Downtime from hardware failure is a small threat compared to just one hour of a clean-up crew surfing the web while alone at night.

    9. Re:Not to get buzzwordy, but Azure...the Cloud! by moderatorrater · · Score: 1

      Most companies use their internet connection to process credit cards don't they?

    10. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 0

      Seriously put the SQL server up in Clown service and let them worry about it. If its a Microsoft SQL server then Azure is the place to be. Hell put a full instance of your service up in the cloud.

      There. FTFY.

    11. Re:Not to get buzzwordy, but Azure...the Cloud! by NotSanguine · · Score: 2

      Yup. Ten percent uptime is where it's at!

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    12. Re:Not to get buzzwordy, but Azure...the Cloud! by acoustix · · Score: 1

      There's also dialup for CC authorization and the old paper swipe machines that they can use for backups.

      "The cloud" is most definitely not the answer if SQL uptime is the goal.

      --
      "A plan fiendishly clever in its intricacies"- Homer Simpson
    13. Re:Not to get buzzwordy, but Azure...the Cloud! by cusco · · Score: 1

      Until their connection goes down and they do paper reciepts. For that matter, a LOT of restaurants and small stores still use dial-up modems for their CC connections.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    14. Re:Not to get buzzwordy, but Azure...the Cloud! by Kalriath · · Score: 1

      Except that many card schemes are refusing to allow paper charge forms now. In my country, everything's moved to "Offline Authorisation" in case of network failure - the system sees an outage and just approves the transaction and saves it for submission later.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    15. Re:Not to get buzzwordy, but Azure...the Cloud! by Kalriath · · Score: 1

      Until AWS collapses, like it's also done several times before. At which point you're screwed. Forget Amazon, they are years behind using your own damn hardware.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    16. Re:Not to get buzzwordy, but Azure...the Cloud! by danomac · · Score: 1

      Not just that, but if your local connection in the restaurant to the internet is flaky for whatever reason, using internet-based services is a disaster!

    17. Re:Not to get buzzwordy, but Azure...the Cloud! by DogDude · · Score: 1

      Retailers can also take cash and checks. They're not dead in the water if credit cards go down.

      --
      I don't respond to AC's.
    18. Re:Not to get buzzwordy, but Azure...the Cloud! by DarwinSurvivor · · Score: 1

      That *still* makes cloud services a bad idea for your SQL server, since the SQL server is where those "offline transactions" will be stored.

    19. Re:Not to get buzzwordy, but Azure...the Cloud! by raydobbs · · Score: 1

      ...but if they rely on the computer to perform real time inventory management, they are practically (if not completely) dead in the water. You can't sell items out of inventory, your pricing would be whatever the tag is (not whatever your instant savings might be), your staff would be bogged down handling inventory control and asset management, and most retailers won't take checks without the ability to electronically verify them. YES - you CAN run a store without computers, but you'd realistically be better off to only do so for your customers in the store, and then shut down until the system came back; you can't hope to run a modern retailer without real-time inventory management and control - at least without serious shrink (both accounting and realized).

    20. Re:Not to get buzzwordy, but Azure...the Cloud! by Lumpy · · Score: 1

      There is a magical device called the "menu" that has prices printed in them.

      Let me guess, you are the kind of person that believes if GPS quits all the planes fall out of the sky.

      If you cant operate a restaurant with the POS system down, you deserve to be out of business.

      --
      Do not look at laser with remaining good eye.
    21. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 0

      I don't understand why people complain so much about that service. 9.99999% of uptime should be good.

      Umm... as per the parent multiple 24 hour outages, (anyone have specifics?) but for the sake of argument lets assume 3x24 hour outages:

      1-3*24/(365*24) = 99.178% uptime.

      I'm assuming you intended to say 99.9999% uptime. Which since you plainly don't know is: 12 minutes and 37 seconds (ish) per year. Not multiple days.

    22. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 0

      Dial up is still a connection that can go down. It's ok as a backup, but that backup only protects your side, and really, if it's your phone that's gone down, your network and backup will both be down together. Alternately, look at the problems stores still have on boxing day (or black friday). The networks still can't handle huge volume well, that's the back end guys (cloud) not the store-fronts fault.

    23. Re:Not to get buzzwordy, but Azure...the Cloud! by DogDude · · Score: 1

      Of course you can sell items out of inventory! What are you talking about? You just take cash or check only until the Net connection is back up. Happens all of the time. You couldn't do this if you did everything via the "cloud" as per the post I was replying to.

      --
      I don't respond to AC's.
    24. Re:Not to get buzzwordy, but Azure...the Cloud! by datavirtue · · Score: 1

      Hell no. Most small businesses are using a dedicated, regulated POTS line. Regulated for quality by federal law. If something goes wrong someone is out to fix it immediately.

      --
      I object to power without constructive purpose. --Spock
    25. Re:Not to get buzzwordy, but Azure...the Cloud! by datavirtue · · Score: 1

      And restaurant POS systems print copious amount of paper trail, so if the system goes down the transactions aren't lost in a brain-dead computer system.

      --
      I object to power without constructive purpose. --Spock
    26. Re:Not to get buzzwordy, but Azure...the Cloud! by Confusador · · Score: 1

      Heck, I work for a bank and our branches still use dial up to process CCs

    27. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 0

      Woooosh.....

    28. Re:Not to get buzzwordy, but Azure...the Cloud! by AVee · · Score: 1

      That's an if there. AVM has a fritz!box which will failover to an attached UMTS dongle when DSL goes down for some reason. That might be a relativly cheap way to fix a flaky connection.

    29. Re:Not to get buzzwordy, but Azure...the Cloud! by Anonymous Coward · · Score: 0

      The repetitive structure of your response is cute but entirely false. Amazon uses the latest cutting edge technologies to keep their infrastructure available, and that is what is great about AWS. This restaurant does not need a couple of hot-swappable fully-redundant servers running in a air-conditioned controlled environment with UPS and generator backups --and all that times two for full co-location. AWS offers all of that and charges you $0.10/hr

      We have had our mail server and ftp/web servers running on the AWS for four years now, and there have been two outages attributable to Amazon in those two years. Both of them happened in the middle of the night and lasted for less than an hour. I am pretty certain this downtime will be better than what a well-meaninged restaurant owner could cobble together.

      Do what you do best and outsource the rest. In this case, it means make food.

    30. Re:Not to get buzzwordy, but Azure...the Cloud! by Kalriath · · Score: 1

      Cutting edge technologies? You mean they cobbled together already existing technology in a fashion that gives them better reliability than a service with no high availability. Linux, F5 Big-IP, that sort of thing. It all existed long before AWS, not cutting edge at all. And they do have outages, so it's not "entirely false" at all - you even admitted you had outages attributable to them.

      Frankly, your core sales systems should not require a server half-way across the planet to function. You keep it in house, because I'd bet your consumer grade internet connection is the weak link in any structure.

      So do what you do best, and the stuff you can reasonably expect to do well (but for gods sake don't outsource it). In this case, it means make food, and run a server or two that do the job - and keep backups.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  4. SQL 2012 by g0es · · Score: 4, Informative

    You may want to look at what they are doing with avalibility groups. You can avoid the shared storage with avaliblity groups and could cut your hardware costs a bit. assuming you your software support SQL 2012. Link http://msdn.microsoft.com/en-us/library/ff877884.aspx

    1. Re:SQL 2012 by Major+Blud · · Score: 1

      Exactly. FWIW, he could also do asynchronous DB Mirroring with SQL 2008, and have pretty good fail-over if his POS software supports the necessary connection string options. I'm having a hard time understanding the option with VMWare. Is he talking about having two nodes with bare-bones ESXi (and no VMotion)? He's still going to need shared storage to bring the SQL guest up on the other node even without VMotion). But seriously, is he really having problems with uptime? I've seen single-node SQL Servers that have been up for a year or more without a single reboot....and that was even in the SQL Server 2000 days. A decent mid-range server with a few redundant systems (fans, drives, PSU, etc) should suffice.

      --
      If you post as Anonymous Coward, don't expect a reply.
    2. Re:SQL 2012 by spongman · · Score: 1

      don't pay extra for asynchronous mirroring. it's only useful for distant DR scenarios where c is a factor. if you're trying to do cheap fail-over, use synhcronous mirroring on standard edition with a decent network connection (cross-over 1GB works great). it's cheaper and safer.

    3. Re:SQL 2012 by Major+Blud · · Score: 1

      You're right, synchronous is definitely the better option for local fail-over. I was confused about which option was available in Standard Edition...which only supports synchronous.

      --
      If you post as Anonymous Coward, don't expect a reply.
    4. Re:SQL 2012 by wwphx · · Score: 1

      One thing that the submitter doesn't mention is how big of an infrastructure they currently have: how many POS terminals, how many ticket printers, etc. We don't know how big the restaurant is. I've been administering SQL Server since the 4.21 days on OS/2 and I have extremely high uptime on all of my modern boxes, my biggest box has 16 cores and 48 gig of ram and I can't think of any 'crash' downtime that it's had in 4 years of service. My oldest box sometimes crashes due to power supply failure, but we're getting ready to retire it, so we're not bothering with servicing it.

      I would absolutely buy time from a decent DBA (such as myself) to remote in and make sure DBCCs are clean and backups are running properly. I would never count on the vender to set that up properly. Our ERP vendor (we are their biggest customer) thought it was a good idea to set our 100 gig database to simple recovery, truncate the log, then set it back to full recovery in order to shrink the log rather than just let it sit at 500 meg and never have to grow.

      My suggestion would be to invest in good hardware (i.e. buy corporate line rather than pick it up at Best Buy), have a backup credit card machine that directly prints a receipt, and make sure that your wait staff can write legibly in receipt copy books and can correctly do math on a calculator. Running in a cloud or having a backup in a cloud is stupid for something like this as communications to the outside internet are likely to be your biggest source of downtime. Setting up a spare server and doing something like transaction log shipping isn't a bad idea, but you're getting in to a more complex environment that should be monitored/inspected more often to ensure that it's working properly.

      Oh, and MAKE SURE your routers/switches are on UPS, and replace those batteries annually. Otherwise you're risking a lot of thumb-twiddling if you have a power blink and your server is up but all your network gear is recycling.

      --
      When you sympathize with stupidity, you start thinking like an idiot.
  5. Failover clustering by Anonymous Coward · · Score: 1

    You are probably looking at failover clustering with Node and File share majority here (http://technet.microsoft.com/en-us/library/bb676490(EXCHG.80).aspx).

    If you smb file share is not reliable, you should be using transaction log shipping, it's the cheap man's failover (http://msdn.microsoft.com/en-us/library/ms191233.aspx).

  6. Linux and MySQL - DUH!!!! by Anonymous Coward · · Score: 0

    Well I suggest immediately switching to Linux and MySQL - duh!

  7. Advice. by telix5000 · · Score: 2

    You are missing some critical details about this. How many transactions with this database are going per minute/hour/day? If this is a fairly basic SQL instance, I don't see the point of your fail over scenario. Simply create some jobs to run backups every few hour or half-hour (storing transaction logs and such) and roll that over to the "desktop" on a share or something. Obviously money is the issue for you, so don't make it so complicated you can't afford someone else to come in and fix things if you get stuck during production.

    1. Re:Advice. by spongman · · Score: 1

      i'm guessing he wants failover so he doesn't have to be rebuilding machines and restoring backups just to get his POS systems up and running 10 minutes before the lunchtime rush.

  8. Go to the cloud! by Anonymous Coward · · Score: 1, Informative

    have you considered alternatives like:
    - Amazon S3 (virtual)
    - Azure Cloud (virtual or sql-node upto 50gb)
    - Google App..something

    They all, claim, to have 99.99% uptime or more.

    1. Re:Go to the cloud! by LordGr8one · · Score: 1

      Outsourcing these kinds of things may also reduce your PCI Compliance profile, which would cut down on both your breach risk and compliance costs.

    2. Re:Go to the cloud! by sohmc · · Score: 1

      If I had to guess, the OP doesn't want to go to the cloud because, hell, why should he?

      The current state of affairs is that the data center owns the data ("possession is 9/10ths of the law"). Latency and bandwidth is also an issue. Everything is currently on-site. Trading latency and bandwidth for uptime may not be necessary nor desirable.

      Additionally, when it's hosted by someone else, you live under their rules. Rules that are subject to change and not necessarily to your liking. Having the hardware/software on-site where you control it has a lot of pros and few cons. Though, without more information, I can only speculate.

      --
      We don't live in Shouldland.
    3. Re:Go to the cloud! by Midnight_Falcon · · Score: 1
      Making the cloud PCI compliant is difficult in AWS and you'll spend a ton licensing software to make it happen.

      What happens if the internet goes down? Not only do credit cards not process, but everything -- including ordering, grinds to a halt. Not a good system if you ask me. Not everyone needs the cloud, especially small businesses with less than reliable internet.

    4. Re:Go to the cloud! by Kalriath · · Score: 1

      Actually, it increases it, since you have to ensure your provider meets the standards and is regularly audited, or you're already in breach.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    5. Re:Go to the cloud! by vux984 · · Score: 1

      Unless credit card processing occurs via a partner and his systems never touch the credit card data anyway, making PCI compliance a non-issue.

    6. Re:Go to the cloud! by LordGr8one · · Score: 1

      Actually, it probably decreases it. This is why those who outsource usually take shorter versions of the SAQ, namely version A (for outsourced shopping carts, usually) or C-VT (for those who use a virtual terminal instead of an in-house POS).

      Per the PCI DSS, you are not responsible for the PCI Compliance status of any service provider you may use; you are only responsible for knowing their PCI Compliance status, at which point you have to make a business decision. This is because the PCI DSS is about risk reduction, not lessening liability. Even if you're completely compliant, you are still 100% liable if sensitive information is determined to have been compromised while it was on "your turf."

      Most service providers have terms that clearly state who has responsibility for sensitive information. If you outsource, that information is no longer your responsibility.

    7. Re:Go to the cloud! by Midnight_Falcon · · Score: 1

      How is the credit card scanned? Does the partner telepathically read it? How is the information transported to the partner's systems? All this is in scope for PCI Compliance.

    8. Re:Go to the cloud! by vux984 · · Score: 1

      How is the credit card scanned? Does the partner telepathically read it? How is the information transported to the partner's systems? All this is in scope for PCI Compliance.

      And its all trivial. For online ordering the user is redirected to the partners server before entering their credit card. Its entirely on the partner to be PCI compliant.

      For the in store operations the scanning is usually done with a partner provided piece of hardware that again doesn't put the card information into your systems. On the older dialup ones, PCI compliance is a non-issue. On the newer ones, that plug into the network, in theory you could argue that the credit card passes through your lan, but it also passes through the internet. In any case its an encrypted communication between the hardware and the payment gateway.

      If the credit card ever touches your point of a sale systems either you have very unusual requirements*, or you are doing it wrong.

  9. use cloud by Anonymous Coward · · Score: 0

    if you wish to minimise infra cost + maintenance then EC2 + RDS might be a good option for you. If you have existed MSFT solution then migration to Azure platform is another option. I would prefer to go with EC2 but this is personal pereferenxe.

  10. You are asking the wrong question by xavdeman · · Score: 1, Insightful

    "I thought I'd ask Slashdot for some suggestions on enabling maximum uptime" - the answer: YOU don't enable maximum uptime, you get someone to do do it for you.
    It seems to me like you are ill-equiped to handle server hosting. If you're asking these kinds of questions it may honestly be wiser to just let a third party handle this task for you, so you can handle your main job: serving customers. How about you host your SQL database at one of the many hosting providers willing to tackle this for you? I bet a simple Google query would result in thousands of hits. But as seems to be the trend with Ask Slashdot lately: you probably didn't want to hear this answer.
    http://bit.ly/LaHOeu (I know how Slashdot frowns upon URL shortners, but I assure you, the person asking the question definitely needs to learn that Slashdot isn't a damn search engine).

    1. Re:You are asking the wrong question by Anonymous Coward · · Score: 0

      man, you are grumpy

    2. Re:You are asking the wrong question by Anonymous Coward · · Score: 5, Insightful

      Man, why is every askSlashdot these days full of people who don't think anyone can do their own backend infrastructure (or anything else, for that matter) unless that's their only job? Look, this guy has obviously been running his POS system for some time, already. Just because he isn't a whiz at SQL Server failover doesn't mean he should just throw up his hands and hire a contractor.

      Have you completely given up on learning new things and exploring your options, or do you just advocate that other people do so?

    3. Re:You are asking the wrong question by Anonymous Coward · · Score: 0

      This is the overall attitude where I work, it's a bit nauseating.

    4. Re:You are asking the wrong question by fmaresca · · Score: 2

      so +1

    5. Re:You are asking the wrong question by Anonymous Coward · · Score: 0

      There is something to be said for concentrating on what your business is. CAN he do it himself? Yes, probably. the agrument is SHOULD he. My vote, being a manager of small business computer systems, is no. Concentrate on your business and bringing more customers in; making better food; or, even marketing.

      NOW, if he has all of that taken care of, I say go for it! Get a box with sufficient memory and redundant disk capability and run 2 VM's setup for clustering. A reasonably competent person can handle this using M$.

    6. Re:You are asking the wrong question by Anonymous Coward · · Score: 1

      No, you're answering the wrong question. You mention a trend on Slashdot of people not wanting to hear the answers...its possibly because roughly 75.3% of responses are answering questions entirely different than what was asked.

      Just like hearing yourself type?

    7. Re:You are asking the wrong question by sapgau · · Score: 1

      And stay off his lawn, dammit!!

    8. Re:You are asking the wrong question by hazem · · Score: 2

      When running a business, you really have to draw lines between what you can/can't do, and what you want to/don't want to do. You also have to factor in what the cost will be if you mess it up while trying to learn.

      If I were currently running a business, I would hire an accountant do handle my taxes. It's not that I couldn't figure it out, but it's something I don't care to figure out. I'd rather focus on what my business is. But then again, if I did it myself and screw it up, who badly could it hurt my business?

      Here's a guy who knows some about running SQL Server and POS. But he has a business that's running 7 days a week that probably won't run if the SQL/POS is not operating. So what's the cost to the business if the POS doesn't work for a day or two because he hosed it up?

      In this case, the risk is high of a failure (because he's in learning mode). He needs to balance the cost of failure with what he gains by learning to do it himself. If the cost x risk is too great, then yes, I advocate he hire someone to do it. If he can tolerate the cost x risk, then by all means, I encourage him to go for it.

      If it were your business and you had a guy handling the mission-critical SQL/POS and you needed to add fail-over but your guy doesn't know how. Would you advocate him doing it on your production system? That's the situation this guy is in, except he's also the guy doing the SQL/POS work.

      A key part of being successful in business is knowing what you can do well and what you're better of hiring an expert to do it for you. Good things to consider are whether the work is critical to operations and if it's part of your core business.

    9. Re:You are asking the wrong question by Anonymous Coward · · Score: 1

      If I were currently running a business, I would hire an accountant do handle my taxes. It's not that I couldn't figure it out, but it's something I don't care to figure out. I'd rather focus on what my business is.

      If that's the way you think, you would be a terrible business owner. You're going to ignore what is going to cost you 30% of your profits, because you "don't care to figure it out"?!

      Please, stfu.. that's one of the dumbest, laziest things I've read all day.

      ( business owner for 10+ years )

    10. Re:You are asking the wrong question by Anonymous Coward · · Score: 0

      It's working for him. No need to call it a POS.

    11. Re:You are asking the wrong question by innocent_white_lamb · · Score: 1

      This is a restaurant. Why can't it run if the POS is down for a while?

      The waitresses can write orders on a pad, the kitchen staff can cook meals, the guy manning the front counter can grab a calculator to figure the taxes due on an individual order.

      It's less convenient. But the doors can stay open.

      --
      If you're a zombie and you know it, bite your friend!
    12. Re:You are asking the wrong question by innocent_white_lamb · · Score: 1

      Sure! I have a trustworthy accountant and I give him everything that he asks for once per year. He tells me how much to send in to the government and I write a cheque.

      I have little to no interest in accounting; that's why I hire someone who knows how to do it and have him do it for me.

      (business owner for 20 years)

      --
      If you're a zombie and you know it, bite your friend!
    13. Re:You are asking the wrong question by jacks0n · · Score: 4, Insightful

      Everybody thinks they know what restaurants do.
      This is why so many otherwise smart people get into the restaurant business and then fail.

      Forget the word restaurant.
      Instead, think highly competitive, low volume, high mix, low margin, short lead-time manufacturing.
      Think highly perishable inventory.

      Accurate inventory, accurate predictions of future demand, and data driven product design make all the difference between success and failure.

      Data collection and analysis is what really successful restaurants do. Or did you really think it was like Top Chef?

    14. Re:You are asking the wrong question by AlienIntelligence · · Score: 1

      "I thought I'd ask Slashdot for some suggestions on enabling maximum uptime" - the answer: YOU don't enable maximum uptime, you get someone to do do it for you.

      It seems to me like you are ill-equiped to handle server hosting.

      Shhh, with an uid like yours, you should realize by now 95% of ask /. questions are shills
      using questionable advertising tactics, trying to get us to name their product in front of a
      potential 'yeah me too' audience of buyers for their products.

      This one is failing miserably, since it's all over the place.

      -AI

      --
      For me, it is far better to grasp the Universe as it really is than to persist in delusion
    15. Re:You are asking the wrong question by AlienIntelligence · · Score: 1

      This is a restaurant. Why can't it run if the POS is down for a while?

      The waitresses can write orders on a pad, the kitchen staff can cook meals, the guy manning the front counter can grab a calculator to figure the taxes due on an individual order.

      It's less convenient. But the doors can stay open.

      I can tell by your UID why you think that.

      But haven't you seen kids try to count nowadays? Subtraction might as well be Aramaic
      for them. And want to cause some confusion or get the cops called on you? Try to spend
      some $2 bills when their POS is down, lol.

      http://articles.baltimoresun.com/2005-03-08/news/0503080089_1_bolesta-pole-baltimore-county

      -AI

      --
      For me, it is far better to grasp the Universe as it really is than to persist in delusion
    16. Re:You are asking the wrong question by swell · · Score: 1

      Yes, hire an expert.

      You are in the restaurant business. You have a full plate, so to speak, with managing many urgent activities. If you want to be an IT geek, an accountant, a dishwasher or a short-order cook, then you've made a mistake. Sell the restaurant.

      If you want the restaurant to be a success, then manage it full time and hire others to give you peace of mind handling the details of the operation. And spend some time with your wife instead of fussing over the stupid computer.

      --
      ...omphaloskepsis often...
    17. Re:You are asking the wrong question by hazem · · Score: 1

      In my mind, it's not so much a matter of inconvenience, but lost money. The whole reason you have a POS is because it helps you run your business more efficiently... faster, with lower costs, and probably fewer people. I mean it has to, right? Or there wouldn't be much point to having one in the first place.

      So if the thing goes down, you're running less efficiently. That means you may have to hire on more people (or add more shifts), and/or your restaurant will run slower (irritating customers) and you have a greater chance for errors (free food you're giving away), and if some of those customers are first-timers, they may never come back (or worse, will tell others how bad your service was).

      If your POS is down for one day, maybe that's survivable, but what if you really hose it and you're down for a week?

      I'm not saying that's likely but it's a possibility and if the guy's smart, he'll consider the odds of failure the costs of that failure and put that against the savings and benefits he gets from doing it himself vs having an expert do it.

      If it were me, and we're talking about mission-critical things to the business, I'm not sure I'd want to use my business as a place to experiment and learn now to do something like that.

      If the guy were asking, "hey, I've done some plumbing work and I need to upgrade the gas lines in restaurant, any tips on how to do that?", I'm sure most people would say he needs to hire an expert because it's a risky thing to learn "on the job" and where failure seriously impacts the business.

      It all has to be weighed to make a good decision. A lot of good businesses go down because they don't accurately gauge risk and one even takes them out. Just look at Lehman Bros. for an example of catastrophic failure, due in large part to mis-measuring/handling risk.

    18. Re:You are asking the wrong question by AVee · · Score: 1

      So you'll have to balance those things. There generally is no point in spending 100K to prevent a day of downtime every year, unless that down time costs you more. Actually, you might gain most by actually preparing for down time. When things become a big mess because your POS goes down it can become rather expensive. But if you make sure everybody knows how to deal with it the down-time might not be that expensive (e.g. two hours of work to type everything in when the system comes back). We're talking about 'a mid-size restaurant' here, people will walk in anyway. As such the POS system isn't mission critical.

    19. Re:You are asking the wrong question by SuiteSisterMary · · Score: 1

      Nah, the submitter is just one of those people who honestly thinks that you can have all three of 'fast, working, cheap.' TANSTAAFL.

      "I'd like the performance of a Bugatti, the lines of a Lamborghini, the gas economy of a Prius, and the price of a moped." False assumptions and spelling incorrectness on purpose, as part of the point.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    20. Re:You are asking the wrong question by SuiteSisterMary · · Score: 1

      In my mind, it's not so much a matter of inconvenience, but lost money.

      In that case, the submitter doesn't say 'we can't spend thousands of dollars.' He says 'We've run a cost analysis, figured out that being down for a weekend, busiest time of year, and moving to pen/paper will cost us X amount of dollars. We've had it happen Y times over the last five years. Therefore, we're willing to spend X*Y amount of money for a solution that will eliminate Y and last for five+ years. Cost must include ongoing maintenance and what not over those five years.'

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  11. True HA costs money by Anonymous Coward · · Score: 1

    "a mid-sized restaurant ... We can't afford several thousand dollars ... enabling maximum uptime ... with non-tech staff."

    You don't need HA. You need a pencil and paper.

    1. Re:True HA costs money by Anonymous Coward · · Score: 2, Insightful

      Agreed.

      I'm highly familiar with the POS system in US McDonald's restaurants. I'm sure they have more volume than you do.

      If the server goes down, the registers can limp along on their own but it isn't pretty, and there's no high availability anything going on. Depending on what fails, the KVS might or might not work.

      (For the uninitiated, KVS = Kitchen Video System. Those are the screens that tell the kitchen what food to make. Most busy restaurants - not just fast food - have them these days.)

      What you need is for the staff to have some pieces of paper with the menu items and prices printed on them, so they can check stuff off and add it up. You might round prices down to the dollar to make the math easier. If you round up the customers will complain.

      PS - If it ain't broke.... Getting the latest and greatest doesn't necessarily get you anything except the effort of getting stuff to work again.

    2. Re:True HA costs money by avandesande · · Score: 1

      Please mod- this was my initial thought

      --
      love is just extroverted narcissism
    3. Re:True HA costs money by Lumpy · · Score: 1

      " You might round prices down to the dollar to make the math easier."

      You are fricking kidding me? Sorry if you hire anyone that cant do simple addition and figure out tax and change.... you deserve to be out of business.

      --
      Do not look at laser with remaining good eye.
    4. Re:True HA costs money by bill_mcgonigle · · Score: 1

      You are fricking kidding me? Sorry if you hire anyone that cant do simple addition and figure out tax and change.... you deserve to be out of business.

      I think the GP was figuring on time as a premium in the situation. Nobody can add n+1 columns faster than n columns. Plus, .... look, I worked tech support with some waitstaff back in the day, so there certainly are smart waiters and waitresses but being fast at math ... isn't a dependable measure when hiring a waiter (or busboy). You'd much rather have somebody good at upselling food.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  12. Which POS software? by Anonymous Coward · · Score: 0

    Just checking as the offline modes of some allow for continuity of business if the server goes offline making it not as big an issue requiring failover, clustering, etc. Micros, Aloha, Focus?

  13. You're an Idiot by Anonymous Coward · · Score: 1

    My wife and I own a mid-sized restaurant with a couple of Point of Sale (POS) terminals. [...] We can't afford several thousand dollars' worth of server infrastructure (two cluster nodes and some shared storage, or some such), so I thought I'd ask Slashdot for some suggestions on enabling maximum uptime.

    How much money do you lose if and when it does go down? How many times does it take for $5-10k (or whatever for a couple servers and storage, power backup, etc) to pay for itself? How much do you pay the guy who keeps it up? Or do you run back and fix it when it goes down?

    If it takes years to pay itself off, then it doesn't really matter ... your servers don't go down enough, your time isn't worth enough, or the technology isn't benefitting you enough in the first place. If it only takes a few times, why hedge? And if you're working on razor-thin margins, maybe you should consider why you're spending even as much time and money on this solution in the first place... especially if it's costing you money when it goes down (presumably frequently, or why bother asking).

  14. What's your SLA and why? by Anonymous Coward · · Score: 1

    When people talk about redundancy they usually aim for the highest uptime they can think of without considering if they really need that.

    If you're a mid-sized restaurant and can't afford the big-boy's solution to redundancy, just make sure you have disk mirroring and backup's ready. Keep a spare machine installed with the same version of Windows, .NET and SQL Server and document what needs to be done to move data over the dead machine's disk onto the new one. Is it that much data? Do you need it all to keep the restaurant running? Can you bootstrap with enough data only and leave the sync'ing for when you're closed?

    It's business requirements first, technology second.

  15. MICROSOFT SQL Server by Anonymous Coward · · Score: 1, Interesting

    Could we please stop ceding generic terms like "SQL Server" to Microsoft? Oracle produces an SQL server, as does IBM (DB2), as do several other companies and open source organizations. Why does "Microsoft SQL Server" get to be "SQL Server"? Isn't it bad enough that we already given Microsoft the "Windows" name (how old is X Windows?) and "PC" has morphed from meaning "personal computer" to something that runs Microsoft Windows?

    1. Re:MICROSOFT SQL Server by Anonymous Coward · · Score: 0

      Your rant may have been relevant 24 years ago. Please try again then.

    2. Re:MICROSOFT SQL Server by TheRealMindChild · · Score: 1

      Oracle doesn't call their DB software "Oracle SQL Server". As a matter of fact, I think you would be hard pressed to find any product named "*companynamehere* SQL Server". Just like "Windows" means "Microsoft Windows", and not "X Windowing System"

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    3. Re:MICROSOFT SQL Server by Anonymous Coward · · Score: 0

      Right, they call it "Oracle Database." Should we just start saying "Database" whenever we mean "Oracle Database"? Without trying too hard, I can't think of any other database product that has "Database" explicitly in the name, so we should be perfectly happy to cede that piece of language to Oracle, right?

      The point is that "SQL Server" (much like "Database") is useful as a generic term (e.g. a product that uses ODBC to work with any database that supports SQL might want to refer to an "SQL server" in a generic way that is not limited to a Microsoft product). We shouldn't allow corporations to commandeer useful generic terms from the language.

    4. Re:MICROSOFT SQL Server by spongman · · Score: 2

      not that generic.

      i did a google search for 'SQL Server' and found 1 link on the first 6 pages that didn't use 'SQL Server' to refer to the Microsoft product. and that 1 link was mysql.com which didn't mention 'SQL Server' on the page at all (only 'MySql Server').

      the only other major DBMS to have 'SQL Server' in its name was Sybase SQL Server the ancestor of Microsoft's product.

  16. Easy enough by Stargoat · · Score: 4, Insightful

    Get a decent server, maybe an HP. Dual CPUs, Dual HDDs, Dual Power supplies. Get a UPS.

    Install Windows, SQL, and UPS controlling software. Install AV, but be certain to exclude AV scanning the SQL directory and SQL DBs and logs. You don't want AV killing your SQL server by accident. You might want to consider putting a firewall on the box and blocking all non-SQL traffic.

    Patch as needed.

    Install nothing else. No mine-sweeper, no restaurant food ordering software, no adobe. Nothing will kill a server faster than turning it into a desktop. Don't try to do anything on it. Just let it be a server running SQL and you'll be fine. Don't plug USB drives into it.

    You should be able to back up the SQL db every so often stopping SQL and then starting it. Try to do this around the monthly patch cycle. Don't patch immediately upon one becoming available, but rather wait a week. This will give Microsoft time to correct any patch issues they have. You'll be much more vulnerable to patch issues than you will from viruses if you follow the "don't turn it into a desktop" suggestion.

    --
    Hoist Number One and Number Six.
    1. Re:Easy enough by sirsnork · · Score: 2

      Uhh, what.... stop the SQL server to back it up.... have you never used SQL before?

      SQL can happily back itself up while running. In fact any decent backup program can backup the whole system while SQL is running and still get a clean DB copy

      --

      Normal people worry me!
    2. Re:Easy enough by Anonymous Coward · · Score: 1

      Have you done service calls in a restaurant?

      I have done LOTS. Having RAID 1 for the HDD is good but beyond that, dust and grease filters on the cabinet and siteing it FAR from dust, grease, and water will go a lot further than spending money on "server grade" redundant hardware.

      I absolutely agree on not useing a server as a workstation though.

    3. Re:Easy enough by TheRealMindChild · · Score: 2

      A LONG time ago (think SQL Server 6.5 era), you COULD back up a live DB server, but if it was large enough, an online copy could take longer than a day, where an offline file copy of the DB was as fast as your system could read/write it.

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    4. Re:Easy enough by bobcat7677 · · Score: 1

      Stargoat's answer is pretty good. I'll add the next step above that for when you just cant have stuff do down: hardware virtualization with clustering. You can do this with VMware, but it's expensive and you need a dedicated High Availability SAN which is $$$$$$. I have implemented a simple version running SAN software with failover on top of normal servers (Starwind does this and has some cool features). But the best solution would be the new fully integrated solutions that are coming out like this: http://scalecomputing.com/hc3/

      No matter how you slice it, it's expensive to do it right. That's just the nature of high availability. After many years of trying to do high availability "on the cheap". I can authoritatively say that there is no "silver bullet".

    5. Re:Easy enough by archen · · Score: 1

      Get a decent server, maybe an HP. Dual CPUs, Dual HDDs, Dual Power supplies. Get a UPS.

      Similar to this I often buy the same model machine for a spare. Usually I skimp on the CPU, possibly take out the RAM, but other than that it's the same hardware. I just had a server go down this morning. Simply would not power on, even though the power supply was fine. Just swapped drives with the spare and booted it back up. By the time the manufacturer could deploy a hardware tech where my company is at, it would take hours. I had the server back up in about 15 minutes, which isn't bad for a smaller company that doesn't have the resources for a full clustered approach. Depending upon the machine cost you're trying to duplicate, and cost averaging per server (say one spare for 4 servers as opposed to one 1), this can be a cost effective method of insurance.

    6. Re:Easy enough by KingMotley · · Score: 1

      Doing backups while online (still running) work just fine, and will run as fast as your little hard disk can write.

    7. Re:Easy enough by slazzy · · Score: 1

      Make sure staff can't use the computer to surf the internet with at least a password on the computer... this is a very common problem that causes a lot of server issues in this type of environment.

      --
      Website Just Down For Me? Find out
    8. Re:Easy enough by danomac · · Score: 1

      If you are thinking of virtualizing, there are antivirus vendors that will protect the host and all virtual machines as a whole, rather than running an agent on each one. Less resources consumed...

    9. Re:Easy enough by cusco · · Score: 1

      I disagree (slightly) with the "no USB drives" caveat. An external flash drive is actually an excellent backup storage unit for a machine which is on a private (or no) network. Faster and cheaper than tape, and these days almost as reliable. If they write their nightly backups to it they should be able to just swap in a new drive the first of each month and take the other home for off-site storage. That's assuming that POS system databases are still as small as I remember them being, of course.

      Other than that, I pretty much agree. Even though this thing is probably going to reside in the manager's office DO **NOT** under any conditions install Office on it! Go to Frys and get a cheap $350 desktop for that, never, ever install Office on your server, it's asking for a world of trouble. (Don't laugh, I've seen it done too many times.)

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    10. Re:Easy enough by mb.72 · · Score: 1

      re: backup, the I've setup this at the company I'm working for:
      http://sqlbackupandftp.com/

      The free version lets you configure backups of one or two databases, and the backup will run whilst the server is still running. We have it setup to take a local copy and also do an FTP transfer overnight.

    11. Re:Easy enough by Anonymous Coward · · Score: 0

      SQL 2005 and 2008 are pretty solid in my experience. I've rarely encountered an issue with the SQL Server for small to medium applications with moderate traffic. No need to manually start and stop or backup, just create a maintenance plan to take care of your backups (no downtime required) your indexing and rebuilding statistics. The "don't turn it into a desktop" is a very good suggestion - that and a firewall limiting network connectivity to only what's necessary (another good suggestion) will generally result in a pretty reliable system. Is there a real pressing or compelling reason to upgrade to the next major release (of whatever)? I have some customers hosted on a SQL 2005 instance sitting on a Windows 2003 server with relatively unremarkable specs and the whole setup has been rock solid for years. Early on I'd scheduled weekly reboots but that hasn't been necessary for quite some time (it's hosting 3 instances of SQL Server with close to 80 databases across all of them and a number of smaller services) and maintains quite a bit of traffic. It's all pretty locked down. I wouldn't dream of a major upgrade without a really compelling reason.

    12. Re:Easy enough by Anonymous Coward · · Score: 0

      Install Linux, Apache, PHP and MySQL, and...

      You'll be much less vulnerable to patch issues and viruses if you follow the "don't turn it into a windows server" suggestion.

      FTFY

    13. Re:Easy enough by Stargoat · · Score: 1

      Good suggestion on keeping the server far from grease, etc. Spot on.

      --
      Hoist Number One and Number Six.
    14. Re:Easy enough by Stargoat · · Score: 1

      Cusco, good call on the USB drive for backup purposes. I was just thinking of the risks associated with them from viruses, student papers, etc. That's a really good idea for a low-cost rather bullet proof backup option.

      --
      Hoist Number One and Number Six.
    15. Re:Easy enough by cusco · · Score: 1

      I work in physical security now (key cards, security cameras, alarm systems, and the like). We have a number of customers with either inadequate, incompetent or hostile IT departments. It's definitely a solution of last resort, but a few of them have the security system backed up to a flash drive (on a computer in a secure area, of course). The alternative (which I have done, at $135/hr to the customer) is to rebuild the system from scratch over the course of two or three days. It could be more if we didn't design the system.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
  17. Amazon RDL by wiedzmin · · Score: 1

    If you can't afford the infrastructure, rent a cloud server and charge it as recurring business expense.

    --
    Bow before me, for I am root.
    1. Re:Amazon RDL by FlipperPA · · Score: 0

      SQL Server on Amazon Web Services starts at $0.629 per hour, for about $15.10 per day. That comes out to be about $5,500.00 per year.

      http://aws.amazon.com/windows/

    2. Re:Amazon RDL by Anonymous Coward · · Score: 0

      LOL, really? The uptime of their internet connection is pretty much guaranteed to be the weakest link. If he can't afford redundant servers, he sure as heck won't be able to afford an internet connection with a 99.99%+ SLA guarantee to his little restaurant.

      The cloud isn't a catchall solution to every problem.

    3. Re:Amazon RDL by Anonymous Coward · · Score: 0

      If you're doing MS SQL in the almighty "cloud," the cheapest option is still to use Microsoft Azure, but even with only 20GB of storage and 100GB of bandwidth, you're looking at about $1,000 a year.

      With this being a non-depreciable operating expense versus a capital expense, spending $1,000+ a year might not be your first choice, but considering the alternative - hacked-together internal VMware solution requiring additional software, maintenance, expertise, etc. - it might be a *good* choice.

    4. Re:Amazon RDL by christianT · · Score: 1

      The cloud isn't a catchall solution to every problem.

      Say it ain't so!

    5. Re:Amazon RDL by KingMotley · · Score: 1

      It isn't difficult in most places to get a router capable of switching between two different internet connections, failing over from the primary to the secondary in a matter of a minute or so. Use cable & dsl, or cable & dial-up, or dsl & dish, or even cable & 4G.

    6. Re:Amazon RDL by wiedzmin · · Score: 1

      Perhaps, assuming they will use it 24x7x365... Have you ever heard of a 24x7 restaurant that isn't a fastfood chain? Instead of spreading FUD - Amazon offers a handy calculator that can be used to see the cost of your specific requirement, just pick the Amazon RDS tab on the left https://s3.amazonaws.com/calculator/calc5.html

      --
      Bow before me, for I am root.
    7. Re:Amazon RDL by DogDude · · Score: 1

      With your suggestion, they'd have to rely on an Internet connection and some other service(s). Your suggestion would make the situation worse, not better.

      --
      I don't respond to AC's.
    8. Re:Amazon RDL by Confusador · · Score: 1

      Have you ever heard of a 24x7 restaurant that isn't a fastfood chain?

      Sure. I don't think most of those types of places are dependent on the type of setup described by the OP, though. Actually, given the description of the problem I suspect he's made it for himself by having a setup that's more complicated than required.

  18. Quality hardware. by Anonymous Coward · · Score: 0

    Seriously, number one issue is quality hardware. If your power supply isn't regular, that's an issue. If you don't have proper ventilation and cooling? That's an issue.

  19. Easy solutions, what is the question by Melakh · · Score: 2

    Not enough information, you'll have something like failure possibilities in: the physical server, the VMs, the SQL Server instance, the Hard Disks, the hypervisor, the POS application, the queries, the backup process, the restore process, etc. All of them have tried and trusted solutions, but you need to establish what you're tackling first. If the answer is 'all of them' and you don't want to break it down and think about each item then you're better off pushing the problem out to an expert to manage it for you, you can take a range of hosted solutions or get someone to remote or local manage your infrastructure for you.

  20. 2-node cluster and a cheap NAS perhaps? by Anonymous Coward · · Score: 0

    Need automatic failover? Use your two hosts to build a 2-node cluster and buy a simple NAS for iSCSI shared storage between them. They are usually cheap.

    You could also skip the failover worries by setting up an active-active SQL cluster using hyper-v.
    http://blogs.technet.com/b/meamcs/archive/2012/04/10/creating-an-active-active-sql-cluster-using-hyper-v-part1-virtualized-storage.aspx

    If you build the servers yourself, you can keep the costs under $1k. (xeon 1230, asus P8B-M, iscsi capable nas)

  21. Re:Obvious solution by Anonymous Coward · · Score: 5, Funny

    MySQL is not web scale. He should use MondoDB. That is web scale.

  22. well the restaurant food ordering software or even by Joe_Dragon · · Score: 2

    restaurant food ordering software or even time clock software may need a backend sever for there own data bases or some stuff like the food system may tie into the main data base.

  23. Have you considered PostgreSQL? by Anonymous Coward · · Score: 0

    While being a fan of pg myself I have read that some SQL Server admins have grown very fond of new PostgreSQL features. Master-slave replication might be what you need, though I haven't ever had a problem with pg not staying up (in contrast to my own applications).

    Here's a nice intro/demo/presentation by Rob Conery: Five Things You Didn’t Know About PostgresSQL.

    No idea how could you convert your installation into working with pg (all I know about sql server syntax that it's very ugly compared to what I consider standard SQL; microsofty language extensions etc), but you could find some better POS software which would support pg, hopefully making you some savings in the process with less licensing fees.

  24. MySQL cluster by Animats · · Score: 3, Informative

    You can run MySQL Cluster on two machines. It's somewhat complex to set up. And your POS terminals have to be able to connect to either server. But it's available.

    If you're getting more than one crash a year, you have hardware problems. Commodity hardware may be unsuitable for a restaurant environment. You may need an industrial-grade PC, with a broad operating temperature range and resistance to dirt, dust, grease, and water. There are PCs and enclosures for restaurants, and the fast-food industry uses them extensively. Every McDonalds, Burger King, and KFC outlet uses industrial-quality POS systems.

    You wouldn't use a home-quality stove or a home-quality coffee maker in a restaurant. It wouldn't hold up. The same goes for a computer.

    1. Re:MySQL cluster by Midnight_Falcon · · Score: 1

      mySQL is not MS-SQL Server. While mySQL may offer more elegant out of the box failover options, it's unlikely a restaurant PoS application supports mySQL as a data source. .NET programers with MS-SQL knowledge are cheaper than unix guys slinging mySQL.

    2. Re:MySQL cluster by KingMotley · · Score: 1

      In all fairness, all decent .NET programmers can easily switch to using MySQL, Oracle, DB2, or Postgress. They all have .NET connectors that pretty much make switching between them fairly trivial. Even more trivial if you know this might be required beforehand.

    3. Re:MySQL cluster by mobby_6kl · · Score: 1

      Yes, however, there are very good reasons for never ever using MySQL, especially if SQL Server is already being used.

    4. Re:MySQL cluster by jdfox · · Score: 1
      A large multinational company I worked for until a year ago made a massive switch from SQL Server to MySQL, with support from a multinational DB support firm. We saved millions of dollars per year from year one in license and support fees, even after the (direct and indirect) costs of migration and cross-training the DBAs to MySQL. Performance improved significantly in three cases, improved slightly in a few others, and stayed the same in the rest. Nowhere did we see performance decreases or downtime increases. We kept one instance of SQL Server for the data warehouse, because the users preferred Microsoft's ETL and reporting tools.

      The company I'm currently working for has a mix of Oracle, MySQL, SQL Server and Informix. They've decided to standardized on SQL Server, for which they're shelling millions in license fees and migration costs, and so far there's been no performance or uptime gain. A critical multi-terabyte DB has been left for later in the migration project: everyone (apart from the consultants and a few managers) is worried it's not going to work, and wishes we could simply leave these perfectly good, working database servers alone.

      MySQL used to be thought of as a low-end RDBMS, but has evolved into a good choice for many applications, though of course no single RDBMS is the right choice for all types of DBs. For the point-of-sale application asked about here, if the .NET code is written to be DB-neutral, and if there are no stored procedures server-side, then MySQL may be a good choice: ask your app vendor, jdray. It offers several options for high availability, according to the application's requirements, including Windows Server Failover Clustering, Oracle's MySQL Cluster, Codership's Galera Cluster for MySQL, simple master-master replication, and a few others.

    5. Re:MySQL cluster by KingMotley · · Score: 1

      Ah yes. If you treat MSSQL as a dumb record manager with a couple indexes, the performance difference is a toss up. Complex queries tend to do better on MSSQL, where simple queries tend to do better under MySQL, especially if you make the choice that you don't want ACID compliance. And MySQL has a LOT of drawbacks to it, but if you know about them up front, you can often work around them in the application code.
      Bad choices for MySQL would be heavy geospacial workloads (mobile apps with "what's near me", business intelligence apps aggregating large amounts of data, data warehouses, and reporting databases). There are many features the MSSQL has that has no equivalent in MySQL, like BI, ACID & foreign keys at the same time, materialized views (absolutely necessary for enterprise apps with large amounts of aggregated data), geological indexes. I've yet to see anyone even using stored procedures and triggers beyond the moronically simple in MySQL.
      But like I said, if all you need/want is a simple record manager with a few indexes, which a lot of simple business apps want/need, then MySQL works extremely well. However, trying to say that it's a solid and mature database is silly. I've gone down that road, found bugs that were ridiculously simple (like backing up a small database with a hundred columns causes the backup to become corrupt, AND cause a buffer overflow -- yes the exploitable kind). I had to wait for a fix from MySQL, but it showed me just how immature the database was, when it couldn't even reliably backup or dump a table with a hundred columns in it. Really? Noone had ever done that before? Really opened my eyes.

    6. Re:MySQL cluster by KingMotley · · Score: 1

      I've also seen MySQL silently, and undetectably corrupt it's data tables, returning bad results from queries until I manually kicked off a table repair process. I've NEVER seen that happen in MSSQL, and I've been using MSSQL since 6.5 (20ish years give or take a couple). Worst I've seen in MSSQL is queries running slow, and needing an index rebuilt. Far difference from slow to giving completely wrong answers with no hint of a problem.

    7. Re:MySQL cluster by jdfox · · Score: 1

      It's possible you haven't used it in a while: the InnoDB engine has provided ACID and foreign keys, and has been part of MySQL since 2001. I agree that stored procedure and triggers are not particularly well supported in MySQL, but I prefer keeping app logic in the app or middle tier over stored procedures anyway, so that's never been a problem for me. I can't find that bug where backup were corrupt for 100-column tables: can you point me at a link for that?

    8. Re:MySQL cluster by jdfox · · Score: 1

      Again, sounds like you were using the old MyISAM engine: I've never seen that happen under InnoDB.

    9. Re:MySQL cluster by KingMotley · · Score: 1

      Http://bugs.mysql.com/bug.php?id=10286

    10. Re:MySQL cluster by Anonymous Coward · · Score: 0

      Dude, you're being trolled: "No foreign keys or ACID"... Get a freakin clue. If he said it was non-performant because it was all written in bash scripts, would you politely point out to him with facts and reason why that was incorrect?

  25. Check out this simple POS system by Anonymous Coward · · Score: 0

    http://www.whentomanage.com/

  26. Ask the POS vendor by Anonymous Coward · · Score: 2, Insightful

    Stop. Whoever makes the POS software is the expert that you want to consult. Call up their support and ask them what they recommend.

    1. Re:Ask the POS vendor by cusco · · Score: 1

      This. Absolutely. Also, even if your home-grown solution works correctly you might have trouble getting support from the POS software company if that configuration isn't on their 'supported' list.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
  27. Moving it elsewhere may not help by Eivind+Eklund · · Score: 1

    I would not immediately assume that moving it somewhere else will increase uptime; it puts uptime requirements on the Internet link(s) instead of on the server or software setup. Unless the present setup is quite unreliable or he has a surprisingly good link, I think that would likely be a worse problem.

    Now, the idea that you can't afford multiple server nodes: Servers can be very, very cheap. For my home server I use an Acer Revo 3600 I paid 200 euro for; the closest available today seems to be http://www.amazon.com/Acer-VN281-2G-320-Linex/dp/B005WUXW1C (at about $220 including shipping.) Assuming you don't have a license cost problem, this allows you to create a cluster for a very low cost.

    Apart from that, I'd analyse what your costs are for a failure, and what the odds of a failure are, and whether your tinkering increase or decrease the odds. I'd assume the odds were fairly small to start with; in that case, it may not make any sense to tinker with the setup to create something that is supposed to be more available. I've easily had several years of uptime on single systems; introducing complexity makes that harder, and if you lack the experience with how to deal with these systems, that's likely to increase the risk. (What happens if somebody start your failover by mistake? What happens if both instances are running? etc)

    For your particular use case, it sounds like I'd rather have a good alternative system for handling it if your system fails (pen and paper sounds good), and try to beef up the single machine - place it somewhere it won't have dust, vibration and heat problems, use multiple network cards to avoid risk of cable failure, use reliable disks & RAID, have a good UPS with monitoring, etc.

    --
    Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
  28. If you can't measure it, you can't manage it by gnetwerker · · Score: 4, Interesting

    If you can't measure it, you can't manage it. You haven't taken the first and most essential step in analyzing your problem: measuring it. Is your problem caused by network failure? By power? By software failure? Hardware? If hardware, by server hardware, disks, or something else?

    If software, by OS, database, or application software? All of these have different solutions. Going to the cloud won't solve a network failure, it will make things worse. Going to the cloud may improve persistent hardware failures. but the MTBF of most decent hardware is pretty good, so are you sure you have clean power and a good (cool, clean) environment?

    If your software or system is crashing, then that's its own problem.

    1. Re:If you can't measure it, you can't manage it by TheRealMindChild · · Score: 1

      If you can't measure it, you can't manage it.

      So all of us crazies are hopeless and should throw in the towel?

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:If you can't measure it, you can't manage it by Krishnoid · · Score: 1

      If you can't measure it, you can't manage it.

      Perhaps appropriate in this context, but misquoted.

  29. There are a couple options by Vrtigo1 · · Score: 1

    First, getting everything into a VM environment is a huge win as far as manageability as it buys you hardware agnosticism.

    The product description for VMware HA is exactly what you are talking about, but you do need a license to use it. I think you can get a barebones license for about $2k, which is expensive for a small shop, but it does buy you automated failover.

    There are plenty of desktop class machines out there that are compatible with VMware, so assuming your hardware requirements aren't too high you could buy two of them and a license and some shared storage and still be under $5k, which IMO is very reasonable for a small business wanting failover. Just keep in mind that your shared storage then becomes a SPOF so you don't want to go with openfiler running on an old PC with a single SATA drive.

    Another option could potentially be putting the server in the cloud, assuming you are not bandwidth constrained and your Internet connection is stable. In the cloud you just pay for the server and let them worry about uptime. On the back end, they have massive redundancy and your VM would recover from a failure inside 10-15 minutes.

    1. Re:There are a couple options by Anonymous Coward · · Score: 0

      I completely agree, but then again I am a newly-minted VCP. VMware HA is cool and all, but it only addresses a limited set of "It's Dead Jim" conditions. A lot of folks here are ignoring one of his primary requirement: HANDS FREE fail-over. Failing over automatically to a desktop-hosted environment is a non-started because then VMware can't make $$$ off'n you. It's important to realize HA can only restart your dead SQL Server from a cold-off state. This means data fragmentation could kill you. A separate log drive is a must. H.A. pretty-much only fixes your VM's BSOD or ESXi host failure.

      It requires a Virtual Center server, and that's $5k. You will need two licenses of ESXi "Standard" at $995 a pop. A good estimate for annual maintenance is 20% of purchase price, but it's SO worth it because their support is awesome. Things do go wrong. You know computers, right?

      Shared storage? Go with an NFS datastore. Maybe a stand-alone appliance like a Cisco NSS 324? Or save some cash with a Linux box (or two?) with a distributed filesystem.

      Total outlay is less than $10k. Oh, and you need two servers with the same CPU manufacturer.

  30. Backup with minimal downtime. by Anonymous Coward · · Score: 0

    This is a shameless plug for my companies software...
    http://www.storagecraft.com

    This will keep the entire machine (desktop or server) protected with great backup; with a downtime of a few minutes. In the worst case if you have to go buy a new machine to run it on it will restore to dissmiliar hardware. Or, even to a VM. And, no need to take SQL down to backup. It takes care of all of that.

    It will keep the machine safe and ready with a downtime of minutes, not hours or days.

    1. Re:Backup with minimal downtime. by Kalriath · · Score: 1

      Except that ShadowProtect is ridiculously expensive for small organisations, and the licensing is the biggest pain in the ass on earth (seriously? Dongles?!? Mandatory monthly rental?!?)

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  31. Lease instead of buy by Anonymous Coward · · Score: 0

    Yes, what you want might cost a few thousand, but you can easily lease that instead of an outright purchase, and spread it over 2-3 years with no problem. Do it right, you will be happier.

  32. really by spongman · · Score: 2

    Have you really ever had problems with SQL Server crashing before? What version? What kinds of workloads? Did you tell Microsoft?

    Don't bother with clustering, use Mirroring or AlwaysOn Groups instead.

    1. Re:really by jerquiaga · · Score: 1

      According to the AlwaysOn Groups link you provided, he would need to bother with clustering: "Each availability replica must reside on a different node of a single Windows Server Failover Clustering (WSFC) cluster. For more information about prerequisites, restrictions, and recommendations for availability groups, see Prerequisites, Restrictions, and Recommendations for AlwaysOn Availability Groups (SQL Server)."

  33. The most straightforward thing I can think of is by SDrag0n · · Score: 1

    Backups with a powershell restore script can be pretty easy to use once you get them setup. As always, if you go the "backup" method, make sure you test your backups sometimes and your full restore procedure to make sure it works. It's not fun to find a problem with them when it really matters.

    Replication is a pain to deal with. You could just use a failover cluster.

    --
    I don't have time to make a sig
  34. Re:Obvious solution by Anonymous Coward · · Score: 0, Insightful

    LOL
    MySQL is shit compared to SQL Server

  35. Why not just employ a proper consultant... by Anonymous Coward · · Score: 0

    ... instead of trying to do it on the cheap through slashdot?

  36. Honestly by Mullen · · Score: 1

    If you are not willing to put the money into the infrastructure, you are not going to get the infrastructure that you would have if you had put the money into it. There is no magic secret sauce that IT people have that turns low budget implementations that operate the same as well thought out, planned, paid for and implemented infrastructure. In other words, baring any greatness or incompetence of IT skills, you get what you pay for.

    Plus, when you look at these infrastructure problems, don't look at it as how much money are you willing to spend, but how much you are not going to lose if your infrastructure is down. Make sure to be honest with how much it costs you if you are down and how often is it down? Through all of this, unless you are using low quality hardware, I am willing to bet that any downtime is caused by lack of power or the software failing.

    --
    Linux O Muerte!
    1. Re:Honestly by marcosdumay · · Score: 1

      If you are not willing to put the money into the infrastructure, you are not going to get the infrastructure that you would have if you had put the money into it.

      That's true, but there are several shades of "not putting the money into infrastructure". For example, one can put PCs on a HA setup (a redundant array of inexpensive computers), that will increase the uptime when compared to a single PC, and if done well can even be more reliable that a server. Or, use RAID, hardware or even software RAID if the performance tradeoff doesn't look that bad. Or increase the frequency of backup and create a fast restoring procedure, to minimize downtime.

      There are plenty of hacks where one can spend a bit of money on, and get a bit more of reliability.

    2. Re:Honestly by Lumpy · · Score: 1

      And freaking buy a UPS for every station and the server. 99% of POS problems is because the place has crap power. and then you have places that had installed UPS's 8 years ago and still have not replaced the batteries.

      Problem is you cant convince a restaurant owner to buy UPS's and replace them every 2 years. You can barely convince them to upgrade that windows 98 machine in the back room.

      --
      Do not look at laser with remaining good eye.
  37. hot-swap RAID-5 by PJ6 · · Score: 1

    I have never seen SQL fail all by itself. In my experience, by far the most likely point of failure is the hard drives.

    1. Re:hot-swap RAID-5 by stretch0611 · · Score: 1

      Don't you mean hot-swap RAID 1?

      Raid 5 puts pieces across multiple drives along with parity bits, no single drive has a complete copy.

      Raid 1 is mirroring where two drives have identical information. Each drive has its own copy.

      --
      Looking for a job?
      Want your resume written professionally?
      DON'T USE TUNAREZ!!!
    2. Re:hot-swap RAID-5 by PJ6 · · Score: 1

      In my possibly dated experience ("back in MY day!...") you couldn't just take a drive out of a hardware RAID configuration to recover anything, so keeping a whole copy on one drive versus spreading it out really doesn't matter.

      I recommended RAID 5 because it can tolerate two drive failures if you give it all five, and I have seen two drives fail at once. It also performs better for SQL, not that it really matters in this case.

    3. Re:hot-swap RAID-5 by DavidRawling · · Score: 2

      I recommended RAID 5 because it can tolerate two drive failures if you give it all five, and I have seen two drives fail at once. It also performs better for SQL, not that it really matters in this case.

      Uh, no, no it can't, not no way no how. And it doesn't necessarily perform better for SQL either. A 2 disk RAID 1 can handle one of the two disks dying. A RAID 5 of ANY size can handle one of the n disks dying. If you're thinking of RAID 6 (HP called it RAID ADG for ages) then yes that can handle 2 disk failures. So can RAID 10 for a subset of cases.

      And in either case I doubt POS for a restaurant is taxing the server - I recall Dominos stores in Australia running a simple SATA mirror set on their in-store servers for hundreds of orders each night. The biggest load it ever had was reporting (end of day etc).

      As for my recommendation - two desktops (relatively new) with SQL Server mirroring and backup to disk (replicate the backups). Having the data and logs backed up gives you protection against "delete database" and Bobby Tables, among other things, which you will not get with a straight replica. Failover should be as simple as an icon on the desktop (that runs the appropriate script). Not automatic, but cheaper than having a third PC with SQL Express (or Workgroup, or whatever they're calling it nowadays) for a witness server. Less to go wrong too.

  38. why not SQL on the POS? by dutchwhizzman · · Score: 2

    I've seen pretty nifty windows based POS systems that had the SQL server start on each POS, look for a master and if there was one already, try and be slave. If that failed, it would just fail and try to become slave every few minutes. Apart from that, the POS software would just connect to the master-of-that-moment. Once the master went down, the slave would promote itself and the fist POS that tried then became the slave. All POS terminals that were up would constantly replicate database files/dumps/backups whatever so they would never be too far behind the master. I don't know how this mechanism worked exactly, but it was pretty resilient against little restaurant accidents and power glitches.

    I Wouldn't want to directly advise to go cloud. If your uplink dies, so does your POS system. You could put backups in the cloud to prevent theft or arson destroying your accounting and books, but I'd not trust a single uplink high latency service with your primary business myself. Even if you get business quality lines with a proper SLA, you still can be down for half a day easily and pay hundreds of dollars per month for just the single uplink. Getting two independent uplinks with this kind of SLA will be so prohibitively expensive that you could easily afford to do your own cluster for that kind of money.

    --
    I was promised a flying car. Where is my flying car?
    1. Re:why not SQL on the POS? by avandesande · · Score: 1

      What if his network goes down? He needs to spend a few hours figuring out a pencil/paper/calculator process and have that ready to go as a backup.

      --
      love is just extroverted narcissism
    2. Re:why not SQL on the POS? by KingMotley · · Score: 1

      You realize there is nothing keeping that nifty windows based POS from using the cloud and if down, switching to a local copy of SQL Server to use as a cache until the cloud comes back up, right? Or always using the local, and having it replicate changes to the cloud as possible.

  39. Database Mirroring by Anonymous Coward · · Score: 0

    Database Mirroring does not require shared storage and is fairly simple to implement. You just need a second instance of SQL Server installed somewhere.

  40. Move to Azure, spend on connectivity by Ivan+Stepaniuk · · Score: 1
    • - Move your application to Azure if migration is possible, if not, evaluate Amazon costs. (Amazon will provide you with something more similar to your current server, but it's more expensive).
    • - Spend some bucks in a second backup internet connection from another provider and technology (ie: If you have Cable get DSL, Wireless, etc.).
    • - Get a decent SOHO router with WAN failover capability.
    • - Forget UPSs, your restaurant won't probably work without electricity anyway.
    • - Keep it simple! Restaurants existed since ancient Rome, it wont hurt training your people to use good ol' paper and pen if everything else fails.
    --
    My other signature is a car
    1. Re:Move to Azure, spend on connectivity by gbjbaanb · · Score: 1

      Amazon is actually cheaper than Azure, especially if you don't have CPU spikes - Azure used to be exceptionally expensive if it went past your CPU usage plan.

    2. Re:Move to Azure, spend on connectivity by Ivan+Stepaniuk · · Score: 1

      It is not our case, we have both Amazon and Azure deployments and when including licensing costs Azure is cheaper. It's probably not linear as you scale up, so it may be the oposite depending on size. In any case, what I wanted to point out is that it's cheaper than having expensive iron or a private cloud.

      --
      My other signature is a car
    3. Re:Move to Azure, spend on connectivity by gbjbaanb · · Score: 1

      I can't remember the article where I read it, but if you go over your CPU allocation, the cost becomes extortionate. You might say, that's fine - I pay for what I get, but you only need 1 program to go into a 100% CPU cycle for a short while to hurt your wallet.

      They also charge you for stopped applications, which is not clear, so you might want to be aware of that.

  41. Actually a big point is missing here by pointyhat · · Score: 2

    Firstly, you need to make sure there is a paper process which people can run by if the kit fails. Business continuity doesn't always require a massive DR strategy especially in your market area. If the kit does go pop, your staff need to be able to work instantly - paper is the best and did for years before computers came along.

    However from a technical POV, speaking from 15 years experience running SQL Server instances, there's no cheap solution that works reliably. Hot standby (HA mirror) is the best approach for your scenario. It's probably a good idea to host it in another DC to isolate larger failures.

    Info here: http://msdn.microsoft.com/en-us/library/bb934127(SQL.105).aspx

  42. What *Edition* of SQL Server? by themightythor · · Score: 1

    If I were writing a POS system for anybody smaller than Hardees/Carl's Jr, I'd be using SQL Express. There aren't a lot of sweet options for HA there. At the end of the day, what does your vendor suggest/support? I'd go with that.

    1. Re:What *Edition* of SQL Server? by Midnight_Falcon · · Score: 1

      That's not the way PoS systems are constructed because SQL Express usually doesn't come with support. That means if you have corruption/etc/some strange SQL bug, your data is lost. Most PoS vendors stick with supported software for their database infrastructure.

    2. Re:What *Edition* of SQL Server? by guruevi · · Score: 1

      So what if the corruption/strange bug does occur on supported versions? Your data is just as lost and all you can hope for is somebody on the line that can walk you through a re-install. Licenses/support agreements NEVER EVER covers data corruption and recovery even if you're paying Sun/Oracle/MS 250k/year for support. Same goes in the cloud, I don't know any provider guaranteeing your data 100%.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    3. Re:What *Edition* of SQL Server? by themightythor · · Score: 1

      My point is that in this case, the software vendor in question is marketing to clients who would have a hard time justifying the licensing cost of even SQL Server Standard Edition. So, stepping into the vendor's shoes, I ask what are my clients likely to pay for and "Express" is the answer. Plus, it's likely able to keep up with the demands of any restaurant out there given even moderately decent hardware.

  43. Use... by Anonymous Coward · · Score: 0

    Postgre.

  44. ha network by bobbutts · · Score: 1

    A couple cheap desktops ($500 each), raid 1 nas storage device (~$500), single drive backup for the NAS (~$200), and 2 gbps switches (~$30 each) you could have the bones for a low budget ha environment.

  45. Don't rely on a technical solution! by njvack · · Score: 1

    Yes, get some decent hardware that won't give you too much trouble -- but equally important: Set up procedures to ensure that when your database is down, you can still get work done. Test those procedures periodically; make sure your staff can run the restaurant when the system is down.

    Hardware fails. Software fails. Unless you're willing to spend lots (and you've said you aren't), you're not going to build and test something ultra-reliable. You don't want your entire business on hold (with a restaurant full of customers) because some part of your POS has decided to crap itself.

  46. Recommendation from the source by matthollingsworth · · Score: 5, Informative

    I was the Program Manager in the SQL Server team owning all of our availability products in Redmond (created the AlwaysOn program). My recommendation is to 1) keep it simple and 2) implement a layered approach. But first I have a basic question - are you trying to protect SQL Server only or do you also need to protect that application and hardware? Because before we dive into the details, it might make sense to take an entirely different approach than the lower level availability technologies. And you also want to consider what it is you are protecting against. If you want to protect against hackers as well as power outages, disk failures, etc (and I suppose you probably will want to do that!), then I recommend that the first thing you do is perform regular backups to a cloud provider. That gives you the ability to restore to a point in time prior to a malicious attack. And it gives you defense in depth. Then, if you want to protect the app overall, maybe you should consider making it something that can also be hosted in the cloud for the next layer of redundancy. That way if you completely lose the site you can direct people to the cloud enabled app. But this also retains the ability to run it locally as the POS solution. Next, I'd consider a way to keep the data synchronized between the POS local installation and the cloud solution running in the VM. The cheapest solution is to use log shipping which performs backup and restores into the secondary (here in the cloud). This is also nice since you need the backups anyway for the first reason stated and this automates it. You should consider using database mirroring (now called AlwaysOn in the latest incarnation in SQL Server 2012) for the data synchronization. It's integrated into the SQL Server engine and provides better performance and the ability to configure it for no data loss and auto failover using the synchronous option. It comes in Standard Edition (sync only) and Enterprise Edition (async and sync). Also cover yourself for the common failures locally. Use a battery backed UPS and consider RAID for your disks on the computer. RAID 5 is probably fine for POS. If you have any other questions, feel free to email me johnmatthewhollingsworth@gmail.com. Best. Matt

  47. SQL Server experience by AliasTheRoot · · Score: 2

    I recently inherited an application built on .NET, we're a Linux organisation. The devs had typically built it on SQL Server Express with not a care in the world, but it was a core business app.

    We bought a single license of SQL Server standard, and put it in Master Slave replication mode. Not having touched Windows for years (as a server) it was a bit of faff to get an Active Directory setup going, but it actually works okay. You don't need to license the failover server for SQL Server.

    If there's a failure, it's about 10 minutes on notification to flip the servers over and a bit of manual intervention. You can cut this down by buying a third box to use as an observer, but that seems to be another SPF.

    1. Re:SQL Server experience by spongman · · Score: 1

      10 minutes? manual intervention? you're doing it wrong.

      it takes about 5 seconds for our mirror to fail over and it requires NO manual intervention. i can pull the plug (literally) and after a short pause the application keeps running as if nothing had happened. the only change required to the application was specifying the failover partner in the connection string.

    2. Re:SQL Server experience by Anonymous Coward · · Score: 0

      It's pretty easy to port .NET apps to use a PostgreSQL back end. Just create a reference to a postgres .dll and tweak SqlConnection objects to npgSqlConnections and so on.

    3. Re:SQL Server experience by AliasTheRoot · · Score: 1

      No, i'm not doing it wrong.

      There's no business requirement for us to failover in 5 seconds, or 5 minutes for that matter; so long as we can continue business in an hour we will get by; people do have pens and paper to keep things running.

      I'm currently unengineering a predecessors stupid decision to put an Enterprise DB cluster in place, one that costs us around 20% of our cash flow, we can't afford to upgrade and gives the HA levels we do not need.

    4. Re:SQL Server experience by spongman · · Score: 3, Insightful

      there's no need to upgrade. you already have the SQL license (as long as it's at least v2005). you don't need replication, you don't need a cluster, you don't need shared storage. you just need two boxes, one license, mirroring setup, a backup strategy and a connection string tweak. everything else you can sell...

  48. Is this a good candidate for cloud services? by elistan · · Score: 1

    I've worked with large (3000+ servers) IT environments, and small (50 servers) environments. I'm used to a typical server from Dell or HP, plus VMware licnesing and MS licensing, SAN storage, offsite tape backup, remote mirroring, large battery UPS, diesel generator, Liebert CRAC, command-center monitoring, etc. to end up costing many thousands of dollars. For a large corporation, it's worth it. But for a really small shop (eg, like this one, needing only a single server supporting a single db, maybe some email and web hosting...) I have to wonder if cloud services wouldn't be the way to go. Certainly, I know that clouds have gone down (Apple, Amazon and Microsoft at various times) but surely the uptime is greater than a server in the back room of a restaurant? I just checked MS's website and see that a 2 GB Azure database is only $13.99/mo, and 52 GB of data transfer is $6.24/mo. That's pretty cheap for redundancy, backups, load balancing, etc. (I have no idea how big, and how much bandwidth a POS db requires, sorry.)

    1. Re:Is this a good candidate for cloud services? by FirstOne · · Score: 1

      I see some poor choices being made..

      Any cloud configuration will only be as good as the weakest link. In most cases an INTERNET connection is often impaired for several hours or days per month (DNS failure, routing loops, basic connectivity loss). I.E. (Internet based Cloud == A really weak link.).

      Same goes for wireless, all it takes is leaky Microwave oven to swamp the 802.11 b/g/n band and shut down the network, (Hardwire everything important.)

      For maximum reliability... select a server design that reduces power consumption/ and heat dissipation. Lower cooling requirements reduces rpms on most fans, which == extended lifespan, choose slower spinning disk drives, consider using 2.5" drives, and/or ssd's, set them up in raid 1, fail over configuration. Install ECC memory and configure memory scrubbing, even on the the workstations..

        Do not load user data on OS disks. Do not select the newest highest density disk drives. (risky bet, with limited track record)

      Keep server(s) dedicated to minimal function. Reboot M$ OS's once a week(to clear out nasty memory leaks). Shut off all automatic updates. Block most access to the Internet. Don't host any printers off of the servers.

        Backup nightly, configure SQL failover, select a UPS with large external battery. (power server, network switch, router, etc from UPS).

  49. Advice is cheap by WaffleMonster · · Score: 1

    First of all whatever you do don't listen to those saying "to the cloud". When your ISP/Internet is not working it means your POS is not working which means your business is fucked -- at the total mercy of a working Internet connection. Most POS software is not optimized to minimize round trips either so expect pushing database to "the cloud" to be much slower.

    The lowest cost easy to configure and manage approach is to setup a periodic backup task to backup entire database every few minutes and copy to the desktop machine, a usb stick..etc. With this you can quickly restore the backup file to sql server on the desktop if needed.

    There are cooler and more automated approaches but they normally require another server or two.

    With this approach you tolerate xx minutes average of lost data on failure and must take manual action to recover but copying the backup files.. is easy and cheap. Alternatly you can do differential backups of the transaction log if your database is big enough to where it would matter and tolerate many less minutes of dataloss.

    Other approaches set up log shipping to a read only and promote the read only manually on failure. It requires two servers.

    Database mirroring between database servers is another solution and it is awesome but requires three servers. You don't loose any transactions and it is 100% automatic. If the POS can reconnect to the database when the connection drops it will be able to failover.

    Obviously having redundancy at the system level (mirrored disks) is important too. Having a transaction log and not just the "simple" recovery model is just as or even more important as it allows restore to point in time if your POS goes haywire, sabatoged by a disgruntled employee or the vendor botches an upgrade. Not all failures are system/physical, recognizing this before you learn the hardway.

    Without thousands of dollars on fancy shared storage infustructure virtual machines do nothing to help you increase database uptime. They increase your resource requirements and restore time.

    You can migrate vm's to your hearts content but the data contained within is all that really matters here. Migrating a transaction log or backup is easier, faster and less resource consuming than migrating an entire virtual machine containing the same or any differential scheme at the vm level.

    Summary my advice if you don't want to spend money on more servers forget about vmware. Install sql server on the other (desktop) system and setup a script to periodically copy backups to the workstation so you will have it if you ever need it but see above comments.

  50. Things have a cost by KZigurs · · Score: 1

    Frankly, if you don't value your uptime worth x why bother? There is no magical pill and if your current infrastructure fails to handle existing load there's nothing you can prudently do without shelling out additional money (or time - which IS money).

    If it all seems to work all right, just make sure you back-up and monitor your existing hardware for possible failures.

  51. Check out Nitrosphere by Anonymous Coward · · Score: 0

    Nitrosphere has some tools that are designed to help with SQL Server including down time.
    http://www.nitrosphere.net/

  52. What are you really trying to solve? by Anonymous Coward · · Score: 0

    From the OP's post:
    - mid sized restraunt with 2 POS terminals.
    - Windows-based POS software which uses .NET and MS SQLserver on the backend.
    - Upgrade coming up, which is prompting the question of how to make more fault tolerant.

    So, some un-answered questions/information needed:
    - What is your current setup? How much hardware do you have right now?
    - What failures have you seen? What have you done to address that right now?

    A common mistake when people use VMware, or virtualization of any kind, to mitigate failure is to put it all on one box.

    Assuming that you have the following:

    - 2 x POS terminals running the POS client software connecting to the LAN
    - 1 x MS SQL server
    - 1 x POS server software (potentially installed and running on the same server as the MS SQL server)

    So, depending on what you want to mitigate, you can take several approaches.

    If the MS SQL server software/application is what has been crashing, you need to determine why it is crashing before trying to architect around stability factors. Ie, is it crashing because of the database server running out of memory? out of disk space? over heating? just segfaulting? Is the box fully patched up? Could it be infected? Could the hardware be faulty?

    If the physical box has been crashing, you need to find out why it is crashing. Unreliable hardware? Overheating? Power issues?

    Basically, knowing where the instability originates from should be your first concern. Mitigation originates from there.

    So, assuming the hardware is fine, the software is running in a stable fashion,the POS software works fine, etc. And there aren't actually issues, but you want to head off problems. In which case:

    Get a new box which will comfortably run both the database and the POS server software. Considering this is a restraunt with only 2 POS terminals, this should NOT be a problem, but then again, MS always requires more resources.

    Suggested hardware:

    2 servers:
    - 4 cores 2Ghz+
    - 16GB memory (presumes 6GB of memory per virtual machine, get 32GB if you want to go more. memory is cheap).
    - mirrored raid (software or hardware) of at least two drives large enough to support the operating systems, software, and database growth.

    You can either install ESXi on both servers and then build VM(s) atop of them. ESXi will let you have a rock solid platform to run the VM(s) on. Though you will need to have additional drives, one set for the ESXi OS and one set for the datastore. The other option is to run Windows as the base OS and then install VMware Server on top. This is less efficient, but might be easier for you to manage.

    Server #1:
    - POS server software VM (4GB) (active)
    - MS SQL Server Database VM (8GB) (primary / master )

    Server #2:
    - POS server software VM (4GB) (inactive, a ready-to-run snapshot copy of the active copy, made periodically)
    - MS SQL Server Database VM (8GB) (secondary / slave / replicated from master )

    In this manner, if the POS server dies, you can stop that VM and start up the other one. Or, you can just bounce the failed POS VM as the reboots can be fast, compared to bare metal reboots.

    If the POS server software can handle primary/secondary database connections, then you can have the two MS SQL Server database VM(s) setup in master/slave mode.

    Periodic backups between the two physical servers would be ideal. You can have a backup VM on each server and have the databases backup to the other server.

    Note, proper setup of this kind of environment would require someone who understood the MS SQL Server, your POS server software, and virtualization. You could even setup a Linux VM on each server running Keepalived to share a virtual IP along with ha-proxy so that automatic fail-over can be done transparently.

    Ultimately, it all depends on what fault issues you are trying to avoid. To make the most of your hardware, you should consider the following:

    - trim down your Windows OS installation to reduce services and memory footprint.
    - tune your MS SQL Server to use less memory and periodically tune/cleanup

    It all comes down to what resources(people, hardware, software, etc) you have access to and are willing to commit.

  53. Synology/QNAP + Database Mirroring FTW by Midnight_Falcon · · Score: 1
    One of the hats I wear on a daily basis is MS-SQL DBA. I have experience with replication on 2003, 2008 and 2012 versions of Microsoft SQL server in enterprise environments.

    I've also worked for numerous large restaurant chains in a consulting capacity and understand the unique needs here.

    My suggestion within your parameters is to have two SQL instances going, and this can be on commodity hardware like desktop, and use transaction log shipping and DNS-based failover. You will have to script a utility to handle the database failover from DNS, however; but this is the poor man's solution.

    However, the best option is to purchase shared storage (cheap -- a NAS appliance with an ISCSI target, so you can have shared storage QNAP, Synology, etc support this in their $150 bare enclosures) and use synchronous database mirroring in high safety mode . However, you will need to configure an Active Directory domain to get failover to be automated, and then place systems on that. Once that's done, you have an elegant failover solution that is fully automated. And cheap.

    Note that Standard MS-SQL includes synchornous database mirroring, but Enterprise includes asynchronous -- which is overkill for your needs in my opinion.

    1. Re:Synology/QNAP + Database Mirroring FTW by spongman · · Score: 1

      I believe you don't need Active Directory to do synchronous mirroring with failover. you can do it with certificates. I'm not sure why you need the shared storage for mirroring, though. the whole point of mirroring (as opposed to clustering) is to remove the need for shared storage.

    2. Re:Synology/QNAP + Database Mirroring FTW by Midnight_Falcon · · Score: 1

      Because of the quorum disk requirement.

    3. Re:Synology/QNAP + Database Mirroring FTW by Midnight_Falcon · · Score: 1

      I suppose you could also obtain quorum with a witness SQL instance as well. But, at that point, it's probably more resource expensive than using the shared storage method of obtaining quorum.

    4. Re:Synology/QNAP + Database Mirroring FTW by spongman · · Score: 1

      Because of the quorum disk requirement

      i'm confused. AFAIK there's no quorum disk requirement in mirroring, the quorum disk is a clustering thing.

      in mirroring the quorum is just the state the mirror is in when at least two of the three instances are connected to each other via the network. the witness can be a SQL Express instance running on a small box - the load is tiny.

  54. Hyper-V server by Anonymous Coward · · Score: 0

    You could install the free Hyper-V server on two desktops with multiple NIC's and get a live migration scenario set up. That would cost you a desktop (you will want the desktops to be very similar), two nics, and a small NAS with iSCSI support (e.g. Netgear ReadyNas or similar). I don't *think* such a setup would cost you any more in licensing since you already own them, but you should check. If you wait for Hyper-V 2012 you won't even need shared storage -- a network share will do.

  55. It's the terminals... by paenguin · · Score: 1

    The FIRST thing I would do would be to find some POS software where the terminals switch to standalone mode WHEN the server/network goes down (not IF). Then I would work on getting the server and network to a point where that is necessary less often.

    --
    We should start referring to processes which run in the background by their correct technical name... paenguins.
  56. Why are you worrying about the POS system? by downhole · · Score: 3, Insightful

    Restaurants POS systems aren't exactly cutting-edge technology. There's gotta be a kazillion commercial systems out there and lots of pros to install and manage them who have set up and maintained hundreds of these systems. There's probably even some sort of restaurant owner's organization that can recommend systems and consultants. Why are you spending time on a tech site wondering about how to roll your own POS infrastructure when it provides no competitive advantage to your business and any screwups could cost big money? Spend your time worrying and working on stuff that will actually help your business compete with all of the other restaurants out there. Not that I know much about the restaurant biz, but I'm going to guess that getting and keeping good cooking staff, waitstaff, etc, getting quality supplies at a good price, and marketing the place and other restaurant-y things belong much higher on the owner's worry list than what hardware and software the POS systems are using.

    --
    I don't reply to ACs
  57. Here's what you want to do ... by TechnoGrl · · Score: 4, Insightful

    By this time you have realized that 98% of Slashdot posters don't know a damn thing about the issue that you need to resolve (... the cloud? .... Really ??? ) and are just flinging buzzwords (monkeys... poo ... ) or asking questions that you won;t know the answer to in hopes that this will get then off the hook in actually answering your question.
    .
    Short and sweet - you want database mirroring with automatic fallover. You can set up a second SQL server on a separate machine (cost less than $500 for the machine) to be the mirror and if your primary machine fails then you are still golden. Here is an article that tells gives you an idea as to how to do this in MS SQL '08 :

    http://www.databasejournal.com/features/mssql/article.php/3828341/Database-Mirroring-in-SQL-Server-2008.htm

    Yes, you should hire a **competent** DB consultant to do this for you. Yes it will cost you another $800 - $1000 do have a **competent** consultant do this for you (figure 8- 12 hours work at 80 bucks an hour) - you will lose far more than that the very first time your database fails and/or you attempt to do it yourself and blow away your database because you made a mistake (you do have backups , of course.... right ??? ).

    You can try to do it yourself but I do not recommend it as it's risky.

    I've been doing DB work for 25 years - feel free to send me a Slashdot message should you desire to use my services.

    --
    ----- In Your Cubicle No One Can Hear You Scream...
    1. Re:Here's what you want to do ... by Anonymous Coward · · Score: 0

      Again, overkill. You don't need mirroring - that would require another SQL license and another server but you can have an up to date copy of the database by using replication to a normal desktop. If you want to do mirroring correctly, getting a copy of copies of the enterprise edition would be the best way to go since the standard version can't do async and the express version can only be a witness. Additional cost of mirroring vs replication ~$27,000 just for that extra copy of SQL enterprise. Replication free

  58. Overthinking by Anonymous Coward · · Score: 1

    You're overthinking the issue. Just build yourself a high-quality desktop with onboard SATA RAID capability, mirror or stripe a redundant array, then stick that setup on a good-quality UPS rated to handle your rig for at least half an hour. You'll have five nines, barring theft, vandalism, or acts of deities, and you can do it all for under $1k.

    1. Re:Overthinking by guruevi · · Score: 1

      Repeat after me:
      = RAID is not HA.
      = RAID is not backup.
      = RAID does not protect you against anything.

      What does RAID do:
      = If set up correctly, it will give an individual computer a little bit more availability
      -OR-
      = If set up correctly, it will give you better performance
      -OR-
      = If set up correctly, it will give you a faster recovery time from catastrophic failure

      You won't have five nines because besides hard drives, you also have software (since he's running MS, that means at least a monthly reboot) and you also have other parts in the computer that do go bad.

      The best thing to do here is make a truly HA setup with 3 or more servers, separated from each other and no-share hardware. There are various way of setting that up.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
  59. Server 2012 Comercial by Anonymous Coward · · Score: 0

    Lets just say your thinking of moving to Windows Server 2012 and running the non-Enterprise version for SQL 2008 or newer.

    Your license allows you to do an active/passive cluster as long as the 2nd node is for fail over only. You need some kind of shared storage, but that can be ISCSI. IF you move to SQL 2012, it can be a file server (But they intend that your file server is highly available).

    Hyper-V replication is an option with Server 2012. (Intended for offsite disaster recovery)

    Simplest option
    2 servers running Hyper-V. Run SQL in a guest VM that replicates from primary server to secondary server. Fail over is manual, but recovery time is minimal. The SQL guest is still just one OS, so patching and reboots need to be scheduled.

    Simple Cluster using a VM as shared storage:
    1 server running Hyper-V. Set up one VM as a iScsi target that hosts the data files. Make it core if possible. Then cluster SQL on 2 more VMs and use that iScsi target for shared storage. You can now fail over between the SQL guest automatically and use cluster aware updating. Don't forget you can add a 2nd server and replicate all 3 VMs for additional protection.

    Storage spaces for shared storage:
    The new storage spaces feature allows you to get much cheaper disk arrays. You can even just load up a server with a bunch of disks and use storage spaces to server it up over SMB of iSCSI.

    So Server 2012 opens a few options for you. Open filer also adds that iscsi option and its open source.

  60. Decent hardware + sensible setup + ShadowProtect by Anonymous Coward · · Score: 0

    If you get decent hardware (someone else has mentioned HP already but if you prefer Dell I wouldn't blame you too much). RAID yes, dual PSU maybe if it doesn't add hugely to the cost. Apart from a DOA, I've only known one server-class PSU die and that was in a box over 6 years old so I don't tend to bother now.
    Have someone who knows what they're doing set it up, with all the little tweaks that an experienced person will do (or avoid).
    Those two by themselves will get you to almost all the way to maximum uptime.
    Add a copy of StorageCraft ShadowProtect or similar imaging software (if any such exist), a NAS box for it to save images to and have a decent workstation (plenty of RAM in particular) that you can install VirtualBox on. That way if the server dies you can mount a very recent image of the server in a VM as a temporary thing until you can fix the main box.
    Not free but not as spendy as a multiple-server failover system and you can use the workstation for other things the rest of the time.

  61. Re:Obvious solution by Anonymous Coward · · Score: 1

    MySQL is not web scale. He should use MondoDB. That is web scale.

    2011 called and wants it's advice back!!

    Get with the times, he should use MemSQL

  62. Solution with SQL Replication by Anonymous Coward · · Score: 0

    You are over thinking this. You really don't need VMWare in this case. Just use merge replication from your server to the desktop. If/when your server crashes, you will have an up to date copy of your database and can easily go on from there. The process is rather simple and you don't need a full copy of SQL on your desktop - the free SQL express version will do just fine. This is how I keep an up-to-date copy of all of my remote servers [115+] and they all replicate to the corporate servers that are kept on VMWare boxes [again, something you don't really need to do]. A free solution using the tools you already have!

  63. As a POS expert... by PraiseBob · · Score: 1

    I administrate POS systems, the systems I built have served 2 million+ people so far this year. In general as some other people have said, I don't think you are asking the right question. It would help to know which POS software you're using.

    If your SQL server is currently having downtime, WHY is it having downtime?
    Is it hardware? Buy a newer system, nothing very fancy is needed, preferably a dual-raid system, for OS and data, but one raid to rule them all can work too.
    Is it software? This is what seems likely to me. A newer system may not help. Restaurant POS systems aren't the most reliable in my experience. If the database is crashing or slow, it might have too much data in it for the POS software to cope with. Archiving the old data, or getting a fresh start & rebuilding all of the items might give you a much smoother system. (And yes, its a painful thought to break with sales history)

    Failover is a good thing, but you need to know why the first system fails before you can be a second system will help. Vendors like to blame other systems and say things like "the database crashed", rather than their own product. Yet it was their product that fed bad data into the database, and then pulled bad data back out and crashed as a result.

    Do you have a pen & paper system that your staff know how to write a ticket, and way to take manual imprints of credit cards? A high tech solution isn't always the most cost effective or even necessary depending on how many outages you have had and what their impact has been.

    I would not push your main server to the cloud. Just make sure it is in a safe cold place, that stays inacessible to most people and is nowhere near the kitchen. Overall I think you'll get more reliability from 1 good server than trying to make 2 mediocre servers failover smoothly.

    1. Re:As a POS expert... by petit_robert · · Score: 1

      >I would not push your main server to the cloud

      I'm curious why?

      I host a small web site on a dedicated server for 20 dollars a month, it's in a much safer environment than my home office, let alone a restaurant, and with much better connectivity

      To the OP:

      I suggest you go to a nearby Linux Users Group and find someone to install a server for you, with a VM on it to host your Windows applications.

      I use Debian, my first server was up for 533 days before the ISP imposed a reboot for a bios update. It has a postgresql database on it.

      You can see it in action here (those are records of insurance claims ):
      http://as-pro.biz/clients/login?nom_utilisateur=demo-mfp&mot_de_passe=demo-mfp

    2. Re:As a POS expert... by PraiseBob · · Score: 1

      Currently I have a couple dozen sites around the US. Despite every one of them having service level agreements / commercial tier internet connections, it seems inevitable that at least one of the sites will lose their internet connection every few weeks for a few hours. The cloud definitely has better connectivity than a restaurant, but that doesn't mean much since your restaurant has to connect to that cloud site to run. If that meant shutting the business down, then that is potentially thousands of dollars lost. Maybe that is enough money saved by hosting to be worth it, but I just don't like the loss of control involved.

      The other, far more important reason is PCI compliance for credit cards. I see now with a quick search that there are PCI compliant hosts so I geuss that reason is no longer valid. The last time I looked it up it was more of a gray area.

      I'm a big linux advocate, but it doesn't necesarily mean postgres can be swapped in for MSSQL, it all depends very heavily on the POS software.

    3. Re:As a POS expert... by petit_robert · · Score: 1

      Very valid points against the cloud, thank you.

      "I'm a big linux advocate, but it doesn't necesarily mean postgres can be swapped in for MSSQL, it all depends very heavily on the POS software."

      No doubt this would be very difficult, hence the use of a virtual machine to host Windows; but using linux on the hardware would provide the desired stability of the server, and the possibility to use some open source software, if any.

      But there is a learning curve, which is why is recommended the LUG, where one can probably find some competent admin(s) to set up a very stable machine for a fraction of the cost of MS's licences.

  64. Mirror your hardware by TheDarkMaster · · Score: 1

    Use a "mirror" computer. A duplicate of the server that runs in parallel with the principal, in practice you have two computers operating as one. And if one fails you have the another one operating normally, giving time for you to fix what failed

    --
    Religion: The greatest weapon of mass destruction of all time
  65. Not gonna happen by gotpaint32 · · Score: 2

    There is no cheap magic bullet, if there was, everyone would be doing it. You will either pay for licensing, pay for hardware, or both. Clustering is usually a nonstarter due to the expense of a SAN, you get a cheap SAN then you still end up with a lousy single point of failure. SQL replication may work but the POS software may or may not work under that configuration and the fail-over may or may not be automatic so its a real crap shoot. Your best bet is a single quality server, minimize the crap you install on it, preferably just SQL, get a solid properly rated UPS, and make sure it is all setup properly. You will get great uptime. A mismanaged cluster is much more liable to cause downtime than a properly cared for single instance server.

    --
    Nuclear war would really set back cable. - Ted Turner
  66. Re:Obvious solution by cusco · · Score: 1

    It's extremely unlikely that any common point of sale system is going to be written to use MySQL. Tools to write to SQL Server or SQL Express databases are easy, common and built into all the later versions of VB/DotNet, and are commonly taught in basic programming classes. Micros and Aloha probably have programming staff able to take write to any major DB, but that's why their terminals cost $6,000 and more each. A budget solution generally employs budget programmers.

    --
    "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
  67. Re:The most straightforward thing I can think of i by Anonymous Coward · · Score: 0

    Replication is really easy to deal with - I 'get' to work with this everyday with hundreds of replicated SQL servers and it is bullet proof. I can set up a new server in minutes and not have to worry about it until something bad happens with the server. If the subscriber/publisher looses power, with merge replication it will pick up where it left off when power is restored.

  68. Geeks aren't really good at simple solutions by DogDude · · Score: 1

    2 servers running at the same time. Daily backups. If one fails, change the connection at the app level (ie: server 1 to server 2). Any POS app can switch the server it's pointing at in no more than a few steps.

    --
    I don't respond to AC's.
  69. Re:Obvious solution by SQLGuru · · Score: 1

    Actually, the way most vendor apps are written, the logic is all in the front end / web code and the database is just a big storage space. Switching from SQL Server to MySQL is just a connection string update in your config file. (www.connectionstrings.com)

    I don't really agree with that approach, but I see the benefits of it from the standpoint of selling to companies that use different database platforms.

  70. Re:Obvious solution by Lumpy · · Score: 1

    Says the man that has never had to administer a stable full of MSSQL servers.. I still have nightmares....

    --
    Do not look at laser with remaining good eye.
  71. Linux + DRBD + Virtual machines by DrYak · · Score: 1

    If the server is going to be running inside a virtual box anyway, why not considering Linux for the host OS?

    Specially, it has a nice solution called DRBD - Distributed Replicated Block Device which can replicated block devices (like partitions) over the network and keep them in sync (think of it as a sort of RAID-1 over network, but which handles also nicely all the dirty behind the scene stuff for tracking change and keeping the block device in sync). Thus at any point in time, the main server and the mirror server contain exactly the same data. It's integrated into the mainline kernel, it has wide "in the wild" adoption (it's not a small project used by two labs in one university). And thus it is also nicely integrated in lots of management software (for exemple: pacemake/heartbeat).

    Most virtualisation layers (VMWare, Xen, etc.) can use block devices directly as a store for their image. (Traditionnaly, a block device provided by a SAN fabric, but a black device replicated to the other sever over DRBD works exactly the same too). You can thus have the host-server (VMWare server, Xen hypervisor, etc.) running on both physical servers, with the main server having a running VMware image with the microsoft SQL service inside. And the other just sitting idly, with its virtual host in stand-by.
    - If hardware maintenance is necessary (say SMART monitoring tool signal that one HDD is about to fail and needs to be replaced soon), most virtual host (VMWare server & Xen hypervisor) support "live migration" : The virtual guest jumps from one machine to the other with almost no interruption as long as the block device is available on both machines (traditionally done by having an expensive SAN fabric to which both servers are connected, but DRBD in dual primary mode works nicely too). Users see no interruption of service, and now the idle machine can be taken down for the necessary maintenance.
    - it the current server crash due to some big hardware failure (say the HDD dies without any fore-warning), the mirror server contains the latest up to date copy of the same data, thanks to DRBD. The VMware image can be started from there. It will exactly look like if the Windows virtual machine simply got it its power interrupted and was rebooted from a NOT-cleanly-shutdown state. Service resume rather fast, without needing that the emergency maintenance be done on the down server.
    DRBD will handle all the necessary resyncing once both servers are back online.

    Last but not least, both DRBD and the various popular virtualizing solutions are nicely integrated with common administration tools (like pacemaker/heatbeat). It is thus possible to automate some scenario and make the other rather trivial to carry with minimal trained supervision.

    All in all, it's possible to build a good redundand solution with off-the-shelf or cheap server parts, without shelling multiple thousands dollars for more expensive solution. (Specially, DRBD enables to do away with the expensive high-availability SAN fabric - you only need the "two cluster node" (which can be either beige boxes, or the cheapest server from your favourite brand), without the "some shared storage, or some such").

    Also, interesting part: There's only 1 instance of the service running simultaneously (the virtual guest), so you don't need 2x the licenses for every piece of software.

    Don't forget to do snapshotting inside the virtual server (so you can roll back to the latest working snapshot in case the virtual windows system gets corrupted).
    Now throw in some software RAID-1 or RAID-5 on at least one of the nodes to better survive a HDD crash and the system starts to be ratter robust.

    Think about back-up, namely:
    - history. If any mistake happens, how can you go back to a few days ago? (For example does the windows software feature a way to do snapshots? or will you simply use the snapshot feature of the virtual host ?)
    - remoting. it the restaurant burns down, how can you get your data (spe

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:Linux + DRBD + Virtual machines by TheDarkMaster · · Score: 1

      Uhh... no, is not a "backup", is a "RAID1 like" for the entire server hardware and software . "Server 1" and "Server 2" runs at the same time doing the exact same things, then you do a request both servers respond. The idea is when hou have the server 1 or 2 down, the "mirror" is online, you have downtime only if both 1 and 2 are down.

      --
      Religion: The greatest weapon of mass destruction of all time
  72. do HA at the linux/Xen level by bill_mcgonigle · · Score: 1

    You say you don't have the money for shared storage and HA, but I have to assume you mean doing that at the Windows level.

    You might think of implementing all that on Linux & Xen and then making those now-redundant resources available to the Windows VM. You can get a few older servers for a song off some local IT shop that's upgrading - just make sure the CPU has hardware virtualization and probably none of the other specs will matter.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  73. You'll get nailed by MS Sql server on price by charnov · · Score: 1

    Microsoft SQL server is a fine product but like Oracle gets real expensive real fast...

    OpenBravo POS and LemonPOS are both great open source POS solutions that have commercial support available. Also, Xymon can be used to monitor windows and/or linux service or executables, notify on downtime and restart or perform other scripted operations.

    http://www.openbravo.com/product/pos/
    http://sourceforge.net/projects/lemonpos/
    http://xymon.sourceforge.net/

    --
    [RIAA] says its concern is artists. That's true, in just the sense that a cattle rancher is concerned about its cattle.
  74. Thiest fundamentalists vs Atheist funfamentalists. by Crosshair84 · · Score: 1

    Both are incredibly irritating and near impossible to talk with online.
    Both deny well established scientific facts and evidence in order to fit their worldview.
    Both try to make their existing worldview fit the facts, rather than admit that their interpretation was wrong and adapt their worldview accordingly.

    Moderate Christians like myself, who see no conflict between Christianity and science, and moderate atheists I know, who have nothing against religion and are simply unconvinced by the evidence for theism, get lumped in with the fundamentalists and their arguments and questions summarily dismissed by both sides.

    I blame the Greater Internet Fuckwad Theory. Not every Atheist is Joseph Stalin and not every Christian is Eric Rudolph. Stop lumping everyone into those two camps.

    Christian fundamentalists, stop going full retard and cherry picking what science you like. Scripture deals with the things we could not figure out by ourselves, like the Trinity. Science rests its presupositions on Christian philosophy, that the universe is orderly, understandable, and can be understood mathematically. Remember the words of Robert Boyle, “From a knowledge of God's work we shall know Him.”
    Atheists fundamentalists, deal with the fact that the last 50 years of Biology and Paleontology has raised legitimate objections to Darwinian theory that need to be dealt with. The "Monkeys typing Shakespeare Theorem" doesn't cut it and everyone knows it.

    Hand-waving and just-so stories don't convince either side and, if either side was so sure about their position, would not use them. My time is better spent discussing these things in person where both sides are far more sensible and civil.

    Good night.

  75. Missing advice by a-zA-Z0-9$_.+!*'(),x · · Score: 1

    You have some advice on mirroring/Raid. Be sure to address your points of failure/threat: HD failure Use SSD(s) rather than a hard disk, mirrored if possible Power glitch Get a UPS or run on a locked-up laptop. Virus no internet connection (do not share LAN with any internet-connected PC) + remove USB connections and disable them in OS Equipment Theft take daily backups home or to a safety deposit box. Keep 1 for every day of week + 1 for every week + 1 for every month Lightning or motor surge good surge supressor(s) Equipment failure have duplicates available, immediate for low-cost, at shop for hi-cost; replace failing/old stuff.

    --
    Epitaph: At last! Root access!
  76. Low Cost Way To Maximize SQL Server Uptime? by Anonymous Coward · · Score: 0

    "My wife and I own a mid-sized restaurant with a couple of Point of Sale (POS) terminals. The software, which runs on Windows and .NET, uses SQL Server on the back end"

    Get rid of the backend and run the software directly on the POS terminals in a peering arrangement. That way each POS terminal provides backup for the others.

  77. Re:Obvious solution by datavirtue · · Score: 4, Informative

    Uh....if you can't afford to buy decent hardware then why are you playing with MS SQL Server? Oh, that's right, you spent the money on licenses. Anyway, if you want fail-over you need to setup the server properly using the required hardware. You can't have something for nothing. Seriously, you used a fighterjet when all you needed was a Cessna. You platform choice reaks of microsoft hammer syndrom. Whoever developed your system knew Visual Studio .NET and saddled you with this costly burden.

    If it were me I would use MySQL, automated backups, and an image or VM standing by with extra commodity hardware. Hell, just use this scenario with your current setup.

    Another thing, I hope you're using quality harware even if it isn't redundant. Or is this a wal-mart setup?

    --
    I object to power without constructive purpose. --Spock
  78. You are over-thinking this by Quick+Reply · · Score: 1

    You are just running one restaurant, you don't need an over-technical solution.
    Let's get realistic here. The best fall-over for a restaurant is that you need to train your staff how to use a manual (pen & paper) system in case there is any technical fault. The skills to use a manual ordering system in a restaurant is very important. Have a calculator at each register and ensure that there is a way that the tills can be opened by the person in charge at the time without the application. Your security system to watch over the tills should be independent from the servers used for your register software so that the tills don't become free reign if the server goes down.

    If you really insist on redundancy from a technical level, use two physically separate servers. No Dual-PSUs, etc. this won't protect you from all faults. Only the HDD should be in a RAID mirror (not just because they are unreliable, but because it is a lot of work to rebuild a server from scratch if a drive fails), and only two servers (geographically separate if possible) will truly protect you for whatever goes wrong, so instead of buying a really expensive $10,000 server that has al the redundancies built in, buy 2x $1,500 servers (total $3000) that don't have this but are both powerful enough to do the job.

    Then set up whatever fallover however you like and depending on your application requirements. Maybe the register application doesn't playa nice with SQL clustering or having two instances installed on the same network - I don't know your application. Maybe you have a parallel install of everything on the second server, and the SQL database mirrors/replicates every half an hour. Maybe you use VMware fallovers. Maybe you have a Cold Server (Microsoft don't charge license fees for a Cold Server so this will only cost you for hardware) and if the server goes down you have a set procedure for your staff that if they have a problem, for them to follow instructions to switch off the Main server and switch on the Cold server.

    If you have the Main server constantly backing up the SQL Database to an external HDD, you could also include in your instructions to pull out plug with the "X" sticker from the front of the case and plug it into the box in the other room where it has an "X" on the similar looking box (really dumb it down for them) and then press "Y" (the power button) and have a script setup that automatically restores the database from the external drive when the server loads. The scripting for this would be so basic it would take you 5 minutes of looking up how to make a job in task scheduler, how to make a script run at startup and how to use the SQLCMD command to backup/restore a database.

    Sure there would be manual steps and there is a small amount of downtime during those manual steps, but you will save thousands in not having to relicense Windows Server, SQL Server (if you are not using Express) and CALs.

    relinquishing my mod points for this post.

  79. Can you *really* justify it? by Vrallis · · Score: 1

    (Background: I've dealt with the custom software business in a different industry; I have no restaurant experience outside of watching every single episode of stuff like Kitchen Nightmares--US and UK. My industry does operate in a manner similar to how restaurants would seem to function.)

    The biggest mistake I see out of smaller businesses is that they believe that massive amounts of redundancy. Will people die if your computers go down? Yes, spend the money. Is your business actually at risk of failing due to two days of your computers being down? Yes, the expense is justified.

    So what is this software used for in a restaurant? Taking orders and distributing them to the appropriate kitchen stations. Maintaining inventory. Helping manage re-ordering. Maybe it extends to timekeeping for employees. Less likely to HR and accounting beyond that.

    If you fall into this category, then you just go to paper if the computers fail. Keep a supply of paper ticket books around. Make sure you always keep a copy of daily reports of sales and inventory (either a hardcopy or a PDF or otherwise exported copy on disk on another system). If you have to go to paper then once you are back online you simply bring your inventories back up to date. If you have to place an order while your system is down, go off your last inventory report and your sales since then to do a replenishment order.

    Not having technical staff on hand shouldn't matter. If it fails, they go manual then they call you or whoever their normal chain of support would be. You reconcile things as needed once the system is back online.

    The world will not end if you have to rely on paper and calculators for a day or two.

    Now if you really have the money to spend and really feel that your business is in serious danger by losing your computers for a day then go ahead with the expense.

    Many posters above covered the basics at this point. The high end solution would be full redundancy of hardware and software. Dual servers with dual everything, live replication, etc. This is by far the most expensive route, but of course the most reliable and lowest down-time.

    My choice?

    We're talking about a restaurant. I can't possibly see this having a serious horsepower requirement. I would indeed have a basic server, but I would run the database (and server portion of your POS system, if it has one) inside a VM, probably a free or one of the less expensive versions of VMWare. I would regularly shut it down and copy the VM to either a second (inexpensive) server or, better yet, to a manager's desktop PC that has enough RAM to run the VM. Regular database dumps would be copied as well.

    If it fails, you bring up the VM copy, load the last DB and you should be good to go.

    Not having technical staff on hand shouldn't be an issue. You're a restaurant owner, and if the business is doing well at all you are probably working 80+ hour weeks and on call at a moment's notice any other time that the business is open. If you really can't, then get yourself a regular computer consultant that knows what knows your recovery plans and is on-call as needed. It may cost you a couple hundred a month to have one basically on retainer, but that's vastly less expensive than hiring dedicated technical staff.

    Don't forget things like firewalling your servers if at all possible, and keeping at least one spare of your client PCs ready to swap in (particularly your receipt and ticket printers!).

  80. Database mirroring by ppanon · · Score: 1

    If your .Net application allows you to configure the database connection string to specify a Failover Partner, then you could set up SQL Server database mirroring, either in High Performance or High Availability modes.

    --
    Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
  81. MEMTEST before usage by npetrov · · Score: 1

    MEMTEST the server for 24 hours. If you see any errors - it may be a hardware issue.

  82. Virtualize servers by Anonymous Coward · · Score: 0

    As a starting point, I would recommend virtualizing your servers (i.e. one or more physical Hyper-V servers running multiple virtual servers) in which each server only has a single role. So your domain controller is a different server from your SQL Server, and your app server is another server altogether. When any server has to be updated, the others stay up, as you have OS-level separation. The granularity also gives you flexibility in terms of how many physical servers you run and also allow for seamless upgrading (you can add a physical server and then just bring a virtual server down on one machine and back up on another...takes a few seconds of downtime.

  83. Re:Obvious solution by AVee · · Score: 1

    Not if 'We can't afford several thousand dollars' is on your requirements list. The price difference makes up for a lot of things...

  84. NASDAQ's kept it running 24x7 for 7++ yrs. by Anonymous Coward · · Score: 0

    OR MORE... 99.999% uptime on Windows Server 2003 + SQLServer 2005.

    * Hey, if it works in a high tpm environs "bulletproof & bugfree" with SOLID UPTIME? It'll work here...

    APK

    P.S.=> Of course, NASDAQ uses "failover clustering" (which is what I would have suggested - "DO WHAT NASDAQ DOES") too...

    THAT might "violate" the article poster's co$t constraints, but if it works for NASDAQ in a HIGH TRANSACTION PER MINUTE (tpm) ENVIRONS? It will work for his restaurant... apk

  85. Cheap HA by DeltaV900 · · Score: 1

    If I were on a tight budget, here is what I would do:

    Purchase two linksys Gig-E switches, and make sure that half of my POS terminals were running to one, and the other half to the other switch. Purchase a couple of desktop computers on ebay with enough RAM for your requirements, two hard drives each (so you can do hardware RAID) and a hardware RAID controller, and an additional NIC with dual ports. You'll want to stack the two switches, or at least trunk between them and turn on spanning tree.

    On the dual port NICs on each server, run one Gig-e cable to one switch, and the other cable to the other. Create a crossover cable and run it directly between the two servers to the onboard NICs (this will be used for DRDB). Download CentOS. Set the dual port NICs in an Active/Passive Mode. Download DRBD: http://www.drbd.org/ And create a disk partition that is mirrored between the two nodes with GFS running on top of DRBD (you now have shared storage, functionally similar to a SAN). Download KVM, or some other virtualization product and run your SQL server/.Net application as a virtual machine. Given your environment, it doesn't sound like you'll need high IOPS, and so this setup should work fine. You could use the clustering software that comes with CentOS, but in the case of a physical server failure, it would probably be easier to simply spin up the instance of your virtual machine manually on the 2nd server with the KVM software.

    Granted, you could make things work seemlessly, and I've done that before, but it takes a lot more work than I'm guessing you would wish to spend on this project. By approaching things the way I mentioned, you could easily have a small list of directions that your wait staff (or shift manager) could follow in the event of a physical failure. It would be easy for them, and you could ensure that your business operates with excellent continuity. Your total expenditure if for everything I mentioned should come to about $1,200 - $1,500 for the entire environment. Finally, in the event hat Murphy's Law visits your establishment, be sure to have a backup strategy.

    Now, everything that I discussed isn't especially easy, but there are TONS of resources if you spend some time on Google. And, it is definitely all very doable. My background is in designing highly available infrastructures internationally with budgets ranging from mom & pop small town establishments to multimillion dollar infrastructures.

    Good luck, feel free to contact me at: ATheoryOfTruth "at" Gmail . Com

    Cheers,
    Andrew

  86. my cheap lab by Anonymous Coward · · Score: 0

    how about 2 inexpensive hardware platforrms + linux (your choice of fflavor ) vmware server free + some perl to monito the vmheartbeat from the vmware API and a bit of logic to start / pause vm's across the two boxes ? , you could also share filesystem with GFS2+drbd , Linux HA is also something you might want to look at , i'd also look at OpenNas for shared storage if you want to go that way

    worked for me , i have a 2 domain controlers + Scom running like that

    reg.