Hyper-V 2016 Best Practices
上QQ阅读APP看书,第一时间看更新

Preparing for a high availability scenario

As with every project, high availability (HA) scenario starts with a planning phase. Virtualization projects often turn up the question of additional availability for the first time in an environment. In traditional datacenters with physical server systems and local storage systems, an outage of a hardware component will affect only one server hosting one service. The source of the outage can be localized very fast and the affected parts can be replaced in a short time. Server virtualization comes with great benefits, such as improved operating efficiency and reduced hardware dependencies. However, a single component failure can impact a lot of virtualized systems at once. By adding redundant systems, these single points of failure can be avoided.

Planning an HA environment

The most important factor in whether you need a HA environment is your business requirements. You need to find out how often and how long an IT-related production service can be interrupted, unplanned, or planned, without causing a serious problem to your business. Those requirements are defined in a central IT strategy of a business as well as in process definitions that are IT-driven. They include service-level agreements of critical business services run in the various departments of your company. If those definitions do not exist or are unavailable, talk to the process owners to determine the level of availability needed. HA is structured in different classes and measured by the total uptime in a defined timespan, which is 99.999 percent in a year. Every nine in this figure adds a huge amount of complexity and money needed to ensure this availability, so take the time to find out the real availability needed by your services and resist the temptation to plan running every service on multiredundant, geo-spread cluster systems, as it may not fit the budget.

Be sure to plan for additional capacity in an HA environment, so that you can lose hardware components without the need to sacrifice application performance.