high availability through virtualization

31
High Availability High Availability through through Virtualization Virtualization Is RAID enough? Is RAID enough? Tomas Florian Tomas Florian

Upload: polly

Post on 12-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

High Availability through Virtualization. Is RAID enough? Tomas Florian. Florien. Consulting Linux servers Windows workstation interoperability VPNs / Remote access .NET development. Summary. High Availability DRBD Failover Heartbeat Virtualization Xen vs VMWare Xen architecture - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: High Availability through  Virtualization

High Availability through High Availability through VirtualizationVirtualization

Is RAID enough?Is RAID enough?

Tomas FlorianTomas Florian

Page 2: High Availability through  Virtualization

FlorienFlorien

ConsultingConsulting

Linux serversLinux servers

Windows workstation Windows workstation interoperabilityinteroperability

VPNs / Remote VPNs / Remote accessaccess

.NET development.NET development

Page 3: High Availability through  Virtualization

SummarySummary

High AvailabilityHigh Availability DRBDDRBD FailoverFailover HeartbeatHeartbeat

VirtualizationVirtualization Xen vs VMWareXen vs VMWare Xen architectureXen architecture

HA + VirtualizationHA + Virtualization

QuestionsQuestions

Page 4: High Availability through  Virtualization

High Availability : HAHigh Availability : HA

Linux-ha.org projectLinux-ha.org project

Graceful degradationGraceful degradation

Better than:

Page 5: High Availability through  Virtualization

ChallengesChallenges

Replicate data Replicate data DRBD Network RAID-1DRBD Network RAID-1

FailoverFailover Take over responsibilities from the dead peersTake over responsibilities from the dead peers

Automatically detect failureAutomatically detect failure HeartbeatHeartbeat

node1 node2

Page 6: High Availability through  Virtualization

Replicate Data: DRBD Replicate Data: DRBD

DDistributed istributed RReplicated eplicated BBlock lock DDeviceeviceNetwork RAID-1Network RAID-1One active drive (primary)One active drive (primary)N spare drives replicated on the network in N spare drives replicated on the network in real-timereal-timeIn case of primary HD failure, switch to In case of primary HD failure, switch to one of the available secondary drives one of the available secondary drives Mount just like any other block device Mount just like any other block device mount /dev/drbd0 /datamount /dev/drbd0 /data

Page 7: High Availability through  Virtualization

Failover : haresourcesFailover : haresources

node1 running Apachenode1 running Apache

node2 running qmailnode2 running qmail

node1 dies … apache dies. Node 2:node1 dies … apache dies. Node 2: Take over primary use of DRBD deviceTake over primary use of DRBD device Take over IPTake over IP Take over ApacheTake over Apache

Page 8: High Availability through  Virtualization

Detect Failure: heartbeatDetect Failure: heartbeatPing through ethernetPing through ethernetSplit brainSplit brain

Ping through serial cable + ethernet Ping through serial cable + ethernet STONITH – Shoot The Other Node In The HeadSTONITH – Shoot The Other Node In The Head

.. node1 is dead .. Time to takeover

.. node2 is dead .. Time to takeover

node1 node2

Page 9: High Availability through  Virtualization

ExampleExample

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Page 10: High Availability through  Virtualization

ExampleExample

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Dead resources

Page 11: High Availability through  Virtualization

ExampleExample

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Dead resources

Page 12: High Availability through  Virtualization

ExampleExample

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Dead resources

Page 13: High Availability through  Virtualization

ExampleExample

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Dead resources

Page 14: High Availability through  Virtualization

ExampleExample

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Dead resources

Page 15: High Availability through  Virtualization

ExampleExample

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Dead resources

Page 16: High Availability through  Virtualization

ExampleExample

Apache

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Named mysql qmail

Page 17: High Availability through  Virtualization

SummarySummary

High AvailabilityHigh Availability DRBDDRBD FailoverFailover HeartbeatHeartbeat

VirtualizationVirtualization Xen vs VMWareXen vs VMWare Xen architectureXen architecture

HA + VirtualizationHA + Virtualization

QuestionsQuestions

Page 18: High Availability through  Virtualization

XenXen

Pronounced ‘Zen’Pronounced ‘Zen’

Open SourceOpen Source

Run multiple virtual machines on one Run multiple virtual machines on one physical machinephysical machine

Like VMWare but different (better)Like VMWare but different (better)

Page 19: High Availability through  Virtualization

Xen ArchitectureXen Architecture

Page 20: High Availability through  Virtualization

Setting up XenSetting up Xen

Install xen software on any LinuxInstall xen software on any LinuxPatch Domain-0 kernelPatch Domain-0 kernelBoot to the new Domain-0 kernelBoot to the new Domain-0 kernelDeploy Domain-U virtual machines Deploy Domain-U virtual machines Allocate diskAllocate disk Deploy any distribution with a patched Deploy any distribution with a patched

Domain-U kernelDomain-U kernel

……Or use a distribution that does this for Or use a distribution that does this for you you

Page 21: High Availability through  Virtualization

Full Virtualization vs Full Virtualization vs ParavirtualizationParavirtualization

Paravirtualization Paravirtualization Needs kernel patchNeeds kernel patch Open source guest OS only (MS will not let Open source guest OS only (MS will not let

you patch Windows kernel)you patch Windows kernel)

Full virtualization Full virtualization Hypervisor implemented with VT CPUsHypervisor implemented with VT CPUs Windows on Xen possibleWindows on Xen possible

Page 22: High Availability through  Virtualization

VT hardwareVT hardware

IntelIntel Vanderpool technologyVanderpool technology Intel Pentium DIntel Pentium D Intel Core DuoIntel Core Duo

AMDAMD PacificaPacifica

Check that your BIOS also supports VTCheck that your BIOS also supports VT

Page 23: High Availability through  Virtualization

VT support in XenVT support in Xen

2.0.7 stable as a rock (but no VT)2.0.7 stable as a rock (but no VT)

3.0.2 unstable (VT… almost)3.0.2 unstable (VT… almost) People regularly report success running People regularly report success running

Windows guests …Windows guests … … … and crashesand crashes

Once v3 becomes stable it will be Once v3 becomes stable it will be unstoppableunstoppable

Page 24: High Availability through  Virtualization

SummarySummary

High AvailabilityHigh Availability DRBDDRBD FailoverFailover HeartbeatHeartbeat

VirtualizationVirtualization Xen vs VMWareXen vs VMWare Xen architectureXen architecture

HA + VirtualizationHA + Virtualization

QuestionsQuestions

Page 25: High Availability through  Virtualization

No virtualization…No virtualization…

Apache qmail

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

MySQL

named

samba

Page 26: High Availability through  Virtualization

……with virtualizationwith virtualization

Web server

Mail server

drbd0 drbd1 drbd0 drbd1

node1 node2

Active resources

Backup resources

Apache

MySQL

named

qmail

named

Page 27: High Availability through  Virtualization

GainsGains

Whole filesystem protectionWhole filesystem protection / … not just /data/ … not just /data

Simplified managementSimplified management Manage failover for few machines rather than tens of Manage failover for few machines rather than tens of

servicesservices No complicated syncing of updates or configuration No complicated syncing of updates or configuration

on the nodeson the nodes

Security: Security: If one service is hacked, only one VM is compromisedIf one service is hacked, only one VM is compromised

Page 28: High Availability through  Virtualization

Pit fallsPit falls

PerformancePerformance Running VMs more resource intensive than Running VMs more resource intensive than

running daemonsrunning daemons

Watch out for:Watch out for: Virtual Memory thrashingVirtual Memory thrashing DRBD sync speed DRBD sync speed HD performanceHD performance … … going overboard going overboard

Don’t forget to backupDon’t forget to backup

Page 29: High Availability through  Virtualization

ResourcesResources

Linux High Availability ProjectLinux High Availability Project Linux-ha.orgLinux-ha.org

Xen web siteXen web site Google search for “xen”Google search for “xen”

Xen DistributionsXen Distributions SuSESuSE FC5 FC5 Xen Live CDXen Live CD … … or just compile on any 2.4.x - 2.6.x kernelor just compile on any 2.4.x - 2.6.x kernel

Paid supportPaid support www.florien.cawww.florien.ca

Page 30: High Availability through  Virtualization

SummarySummary

High AvailabilityHigh Availability DRBDDRBD FailoverFailover HeartbeatHeartbeat

VirtualizationVirtualization Xen vs VMWareXen vs VMWare Xen architectureXen architecture

HA + VirtualizationHA + Virtualization

QuestionsQuestions

Page 31: High Availability through  Virtualization

QuestionsQuestions