Backup & Recovery

 View Only
  • 1.  How to reduce downtime

    Posted Jul 31, 2013 01:53 PM

    Hi guys,

    my customer asks me for providing a solution to allow him to apply planned maintenance to the Sql Server and Application server with minor impact on production (reducing downtime).

    It means that when 1 or all machine/s is/are under maintenance/update another copy of the same server/s must be connected to provide service (the <slave> machines must be identical to the master).

    Currently, I am thinking to propose a solution based on VM but I need your help to better define it.

    Scenario:

    just for comprehend my problem: assume that currently the system is represented by 3 physical machines (2 application servers and 1 is the SQL Server 2008 R2); the database is stored in a external storage.

    I am thinking over some solutions (depending  mainly on the cost).

    Requirements:

    1) When a master VM is under maintenance, the slave VM (in the second machine) take ownership unless the <master> VM is updated. Then, the <slave> must be update as for the <master> VM.

    2) Version of VmWare may be important: is not clear if my clients is available to purchase new vmWare software

    1) Solution 1:

    1 physical machine (production machine) hosting the 3 VMs (2 app servers + SQL Server): this represent the production system

    1 physical machine (slave: service) hosting 1 or more VMs when 1 or more VM from the Production Host is /are under maintenance. It means that when 1 VM machine is under maintenance is not provide service.

    My question is:

    How can I reach this goal:

    a) by using vMotion (but is not clear: the VM share the same files? or each VM is stored locally)

    or

    b) by Using Backup & Recovery

    2) Solution 2

    3 Phisical machines (2 bapp servers + 1 SQL server)

    1 Phisical MAchine hosting vMWare Esxi: the 3 phisical machines are converted in Virtual machines and loaded in Esxi and run when the <master> machine is down for maintenance.


    Any help/suggestion will be very appreciated.

    Many thanks



  • 2.  RE: How to reduce downtime

    Posted Jul 31, 2013 04:28 PM

    Easiest way is to convert these machines to virtual. Install esxi on both the box's and configure the VM for HA, if you need 100% up time then FT would be the best option.

    This requires a common storage which should be shared between the hosts.



  • 3.  RE: How to reduce downtime

    Posted Jul 31, 2013 04:52 PM

    You describe to application servers - I am assuming they both perform the same functionality and are load balanced - is this correct? If this correct than you should be able to upgrade each individually with no impact to the end users -

    The database will be a more tricky - because it is a centralized database it will require some down time while the database is updated -

    Either way key things that need to be done to ensure success are:

    Backups

    Have a development environmet where you can practice - this can be virtual



  • 4.  RE: How to reduce downtime

    Posted Aug 01, 2013 09:05 AM

    Hi guys,

    many thank for your your reply.

    But my doubts still persist:

    1) you are suggesting to use HA: for what I have understood, HA has a shared location for VM location. This is the problem:

    When a virtual machine in the host A is disconnected from the network baecause under maintenance (that includes e.g.: windows update and so on).

    how can the same machine on host B runs if they share the same files?

    -------------------------------------------------

    Therefore, I am trying to explain the steps as example:

    SCENARIO:

    2 Hosts:

    HOST A (VM1 with Windows Server 2008): production VM (The official production host)

    HOST B (VM1 with Windows Server 2008): it is a exact copy (Including IP and machine name), to be used in planned maintenance or VM1 HOST A fault (this host is used only during planned maintenance or fault)

    now the step during planned maintenance:

    step 1 (time 1)

    HOST A, VM1 running in production

    HOST B, VM1 idle (switched off)

    Step 2 (planned maintenance: windows server 2008 updates that requires reboot) (Time 2)

    HOST A: VM1 now is disconnected form the network to allow update and reboot

    HOST B: VM1 now connected to the network in production to allow the production carry on working

    Step 3 (VM1 Host A is now updated and rebooted) (Time 3)

    HOST B: VM1 is disconnected from the network

    HOST A: VM1 is now connected to the network for production

    HOST B: VM1 is being updated (copy of the VM1 HOST A).

    The steps outlined above is the flow during planned maintenance.

    ------------------------------------------

    I am using the above strategy to allow the production is on when the VM1 HOST A is being updated.

    I am very glad to have some suggestion on which vmWare product accomplish the above requirements (steps listed).

    Many thanks



  • 5.  RE: How to reduce downtime

    Posted Aug 02, 2013 09:08 AM

    HI guys,

    no further help?

    Many thanks



  • 6.  RE: How to reduce downtime

    Posted Aug 03, 2013 10:36 PM

    without shared storage that is very hard you will need to replicate the VM vmdk to the other machine.  for static info front end machines app servers that might be easy but for SQL don't think that is gong to happen.

    Buy some shared storage, place the VM's on there.



  • 7.  RE: How to reduce downtime

    Posted Aug 03, 2013 10:56 PM

    Hi,

    thanks for supporting me.

    But I am still confusing:

    My problem is

    Not only the HOST A goes on maintenance but also the VM1 on HOST A (e.g.: Windows or application update).

    My question is:

    how can I update VM1 if it is moved on HOST B? (especially if I am using a shared storage)

    May be with replication, but in case of Shared Storage? It result impossible to update the VM1 on HOST A if share the same VM1 on HOST B.

    It looks like not feasible.

    Let me know

    Many thanks



  • 8.  RE: How to reduce downtime

    Posted Aug 03, 2013 11:08 PM

    Okay I thought I read this one way and then read the replies and read it another way.

    You have 3 tasks

    1) update the ESXs hosts

    2) update Application server - presumption here is that they are clustered already

    3) update SQL server ... its not clustered

    For

    1) shared storage move your VM's from the Host you are going to patch and move them back once  finished

    2) If this is already clustered .. it some sort of load balance app server that can have 1 application server down.  Then its not a VMWare problem, just shut down one server let the load balancing look after it.  VMWare can help you it can snapshot for easy roll back if you want.  If its not clustered... then you could take a clone of the machine and run it whilst you up date the original ... but you can't have them both on the network at the same time .. This again is not really an VMWare question. The application developers should be able to provide help here

    3) If its static data, then clone it and work on the original but same problem you can't have both on the network at the same time. If its not static data ... you could use a shared lun and 2 copies of SQL, but that's fraught with danger, better to have a SQL cluster or SQL replication. You are going to have to accept some down time on your SQL server, only patch when needed. Or investigate SQL replication ... you will need to SQL server or 3 depending on the SQL replication option you use

    You could for SQL do 2 VM's use a VIP for the SQL ip ... that way you can move the IP and have both machines online at the same time. you will need a shared LUN .. thats the tricky bit ! and have SQL installed on both machines. so patch one and then make it master.. so remove the SQL data lun from the other machine and associate it with the patched machine, then restart SQL and off you go ... there is still down time ... and you have to manage a lun that is shared between 2 servers.

    I hope you not charging them too much for this ?



  • 9.  RE: How to reduce downtime

    Posted Aug 04, 2013 08:06 PM

    Hi,

    and many thanks to support me.

    I have read carefully what you wrote.

    It is clear that 2 or more machine (Vms) cannot share the same network with same IP and Name (this is already took into consideration).

    But, where my doubts persists are?

    During maintenance:

    HOST A: VM1 updating

    HOST B: VM1 running

    It is here that I miss how Vmware works: I think that using vMotion, the VM in HOST A is moved to HOST B and not longer available in HOST A (or if it is available, how can I updated if the same VM1 is running on HOST B). Furthermore, let me think that the VM1 in the HOST A is upgradable, as soon as the VM1 in the HOST B finishes its activities, it should go back to HOST A (but in the host A there is the VM1 just updated): this process shouldn't lead to conflicct between the same VM?

    Some clarification is important.

    Thanks



  • 10.  RE: How to reduce downtime

    Posted Aug 04, 2013 08:55 PM

    With vmotion you are literally moving the VM1 that is running on Host A to Host B - so yes the VM1 is no lnger available on HOST A because it is now running on HOST B - .



  • 11.  RE: How to reduce downtime

    Posted Aug 05, 2013 08:41 AM


    HI and many thanks to everybody.

    OK: the first result is that vMotion is not the solution for my scenario.

    What are the alternatives taht could accomplish my scenario (may be VmWare disaster recovery or Replaction)?

    The requiremnt is:

    When the VM1 in the HOST B is running, the same VM1 in the HOST A is under maintenance (e.g.: windows update and reboot). Then when update is complete the VM1 in HOST A take over the production and replicates the update to the (Slave) VM1 in the HOST B.

    Many thanks for suggesting me the right VmWare product.