SlideShare a Scribd company logo
1 of 8
Download to read offline
San José State University
College of Engineering
Department of Computer Engineering
CMPE 283-01, Virtualization Technology
Fall 2014
Individual Project – 1: Disaster Recovery Manager for DataCenter
Submitted to
Prof. Simon Shim
Submitted By
Gaurav Bhardwaj
gaurav.bhardwaj@outlook.com
SJSU ID 009297431
March 30th
2014
1. Introduction:
Goal: The aim of the project is to gain hands-on experience with ESXi Hypervisor and vCentre management server,
explore the capabilities and their API’s provided by VMware. It also aims towards learning how the server
virtualization can automate nearly all traditional server administration activities by automated tools.
Objective: The objective of the project is to perform disaster recovery of the Virtual Machines while managing a
DataCenter. Disaster Recovery of any Virtual Machine is catered by building an Availability Manager that gathers
statistics of each VM in the data-center and displays them in text format. It also implements recovery measures for
failed VMs by snapshot recovery and cold-migration. It takes periodic snapshots to maintain highest possible
consistency. Also, it creates an alarm for each VM which signals that a VM is being manually shutdown and
prevents recovery of that VM. The manager pings each VM periodically to determine if it is alive or failed.
Need: Disaster recovery management systems are primarily used when a machine dies unexpectedly or stops
responding to client requests, now a days you can not afford a downtime of a single minute. Disaster Recovery
provides assurance of virtual machine availability with minimum hassle when a disaster strikes. This project intends
towards building a prototype of an availability manager which monitors the Virtual Machines in a DataCenter.
2. Background
Disaster Recovery helps organizations to prevent from sudden data loss or machine failures.
Disaster recovery in general terms is the process that is taken in order to recover or continue the normal flow of any
technology infrastructure that is vital to the organization despite an occurrence of disaster. It is the process which
increases availability of the components involved in the infrastructure.
3. Requirement:
Functional Requirements:
• Minimum infrastructure required to initiate this program is one vHost connected to one vCentre with
having at least one Virtual Machine which is supposed to fail in future.
• Virtual machine is called alive if it responds to ping requests.
• System should be able to keep a periodic backup cache to revert to the machine in case it fails.
• System should be able to detect machine failures which is different from machine being powered off by
user.
• System should be able to dynamically add one vHost to the vCentre in case all current vHost are found
failed.
• Migrate the same Machine to another vHost.
• User powered off Machine should not be recovered by system.
• System should be able to write all current statistics.
• Image format conversion is to be done to clone this Virtual Machine to other HyperVisors.
Non-Functional requirements:
• System should be able to run with minimal number of threads.
• System should be able to add newly created virtual Machines in HeartBeat.
• System should not hit a web service everytime it needs a ServiceInstance. Connections should be cached to
be used across the recovery manager.
4. Design and Architecture
Architecture Diagram for Disaster Recovery System
Our DRS sits on client side and uses WS api to connect to remote managed entities offered by Vmware. Each Virtual
Machine is hosted on ESX system which is being managed by vCentre server.
Components of Disaster Recovery System:
1. HeartBeat Manager: responsible for creating optimal number of threads responsible for pinging all the
virtual machines inside infrastructure. Sleeps for some configurable time , wakes up and starts pinging the
infrastructure. Invokes Recovery Manager as soon as it sees any VM or vHost dead.
2. Backup- Manager: Starts up, creates optimal number of threads to create clone and snapshot of Virtual
Machines. Thread sleeps and wakes up every 10 minutes. This component is individual in its operation and
acts as a helper.
3. Recovery-Manager: Implementation of complete algorithm and flow of process to recover.
Component Design
5. Implementation:
In order to implement the effective Disaster Recovery the following tools have been used:
• j2se 1.7
• Eclipse IDE
• vSphere VI API
• VMware vSphere server and client.
• VMware tools installed on each VM.
Implementation Approach:
• DRS initiates itself by reading a config. file which contains IP of vCentre, userID and password. DRS then
populates the inventory and starts the Ping thread which pings all Virtual Machine in the DataCentre. Ping
thread keeps a count of missed heartbeat, if number of missed HeartBeat goes beyond 5, ping thread
declares machine as dead and starts the Recovery Manager.
• Snapshot thread provides periodic snapshot creation for both Virtual-Machine and vHost on which it is
being hosted. This thread takes a sleep time of nearly 10 minutes which is configurable. Snapshot are being
created with memory state true, so as to revert to the most current state of system
• Along with virtual machine the liveliness of Host is also being monitored by Ping thread, since we can
safely assume that if vHost is dead all its hosted Virtual-machine will be dead.
• Alarms are created for each virtual machine so as to check if a user has turned off a virtual machine or it
got dead. Every time alarm is triggered, DRS checks triggered parameter to validate user powered off
event.
• Virtual Machine OVF format is being used to manage compatibilty across different Hypervisors, hence our
system uses OVF export and import to another vHost while migrating VM.
Screenshots:
1.) Pinging VM
2). System starts Recovery Manager when Machine miss 5 continuous pings.
3.) Not initiating the Recovery process when user has turned it off.
4.) Creating Snapshot of Virtual Machine and vHost.
5.) DRS reverting to most recent snapshot when VM is dead and vHost is alive.
6.) when vHost is dead and VM is alive, reverting to host's most recent snapshot.
7.) Adding a vHost to vCentre.
6. Discussions:
• The host add/remove mechanism
Host has been added to vCentre only in the situation when current host is dead even after being reverted to
most recent snapshot. System takes the name of vHost available and tries to add that vHost to current
vCentre.
• The approach used to configure the failure detection for each VM
Failure detection has been automated by keeping a count of missed heartbeat, currently 5 missed heartbeat
initiates the recovery manager. Each thread is responsible for pinging VM inside inventory. Each pinging
thread has the right to notify Recovery Manager about VM failure.
• How host failures were detected
Host failures uses same mechanism for failures. Host is pinged only once the VM doesn't respond to check
if Host has failed.
• The mechanism used to convert between the image formats used by the hypervisors.
OVF format are being used for exporting VM images out of vHost. Since OVF provides interoperability
between all hypervisors, its pretty good idea to export VM.
7. Conclusion :
We can communicate with one ESX server with web service as well as many ESX servers with vCentre
server, both provides capabilities as managed entities, required to automate infrastructure provisioning and
management. This project gave me pretty good exposure of VMware api and Hypervisor capabilities.
Apart from all other learnings, Java multithreading and its features was a great learning. For future
projects I would try to create and use CacheInstance, as it seems to be very effective when application has
to scale and is suppoed to support a major infrastructure.

More Related Content

What's hot

SIMULATION AND PERFORMANCE ANALYSIS OF A LARGE SCALED INTERNET APPLICATION ...
SIMULATION AND PERFORMANCE ANALYSIS OF  A LARGE SCALED INTERNET APPLICATION  ...SIMULATION AND PERFORMANCE ANALYSIS OF  A LARGE SCALED INTERNET APPLICATION  ...
SIMULATION AND PERFORMANCE ANALYSIS OF A LARGE SCALED INTERNET APPLICATION ...ankit_saluja
 
Cloud datacenters
Cloud datacentersCloud datacenters
Cloud datacentersIffat Anjum
 
Dynamic load balancing in distributed systems in the presence of delays a re...
Dynamic load balancing in distributed systems in the presence of delays  a re...Dynamic load balancing in distributed systems in the presence of delays  a re...
Dynamic load balancing in distributed systems in the presence of delays a re...Mumbai Academisc
 
High virtualizationdegree
High virtualizationdegreeHigh virtualizationdegree
High virtualizationdegreesscetrajiv
 
Integration and Batch Processing on Cloud Foundry
Integration and Batch Processing on Cloud FoundryIntegration and Batch Processing on Cloud Foundry
Integration and Batch Processing on Cloud FoundryJoshua Long
 
Enhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computingEnhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computingeSAT Journals
 
Enhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computingEnhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computingeSAT Publishing House
 
Server load balancer ppt
Server load balancer pptServer load balancer ppt
Server load balancer pptShilpi Tandon
 
Architecting for the cloud cloud providers
Architecting for the cloud cloud providersArchitecting for the cloud cloud providers
Architecting for the cloud cloud providersLen Bass
 
Semantic Search Engines
Semantic Search EnginesSemantic Search Engines
Semantic Search EnginesAtul Shridhar
 
Training Slides: Basics 102: Introduction to Tungsten Clustering
Training Slides: Basics 102: Introduction to Tungsten ClusteringTraining Slides: Basics 102: Introduction to Tungsten Clustering
Training Slides: Basics 102: Introduction to Tungsten ClusteringContinuent
 
Network Functions Virtualization Fundamentals
Network Functions Virtualization FundamentalsNetwork Functions Virtualization Fundamentals
Network Functions Virtualization FundamentalsDamien Magoni
 
Multi processor scheduling
Multi  processor schedulingMulti  processor scheduling
Multi processor schedulingShashank Kapoor
 
Load Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware SolutionLoad Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware SolutionImperva Incapsula
 

What's hot (20)

Load balancing
Load balancingLoad balancing
Load balancing
 
SIMULATION AND PERFORMANCE ANALYSIS OF A LARGE SCALED INTERNET APPLICATION ...
SIMULATION AND PERFORMANCE ANALYSIS OF  A LARGE SCALED INTERNET APPLICATION  ...SIMULATION AND PERFORMANCE ANALYSIS OF  A LARGE SCALED INTERNET APPLICATION  ...
SIMULATION AND PERFORMANCE ANALYSIS OF A LARGE SCALED INTERNET APPLICATION ...
 
Centrifuge
CentrifugeCentrifuge
Centrifuge
 
Cloud datacenters
Cloud datacentersCloud datacenters
Cloud datacenters
 
Dynamic load balancing in distributed systems in the presence of delays a re...
Dynamic load balancing in distributed systems in the presence of delays  a re...Dynamic load balancing in distributed systems in the presence of delays  a re...
Dynamic load balancing in distributed systems in the presence of delays a re...
 
High virtualizationdegree
High virtualizationdegreeHigh virtualizationdegree
High virtualizationdegree
 
Integration and Batch Processing on Cloud Foundry
Integration and Batch Processing on Cloud FoundryIntegration and Batch Processing on Cloud Foundry
Integration and Batch Processing on Cloud Foundry
 
Enhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computingEnhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computing
 
Enhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computingEnhanced equally distributed load balancing algorithm for cloud computing
Enhanced equally distributed load balancing algorithm for cloud computing
 
Server load balancer ppt
Server load balancer pptServer load balancer ppt
Server load balancer ppt
 
Architecting for the cloud cloud providers
Architecting for the cloud cloud providersArchitecting for the cloud cloud providers
Architecting for the cloud cloud providers
 
Semantic Search Engines
Semantic Search EnginesSemantic Search Engines
Semantic Search Engines
 
Training Slides: Basics 102: Introduction to Tungsten Clustering
Training Slides: Basics 102: Introduction to Tungsten ClusteringTraining Slides: Basics 102: Introduction to Tungsten Clustering
Training Slides: Basics 102: Introduction to Tungsten Clustering
 
Network Functions Virtualization Fundamentals
Network Functions Virtualization FundamentalsNetwork Functions Virtualization Fundamentals
Network Functions Virtualization Fundamentals
 
Load balancing
Load balancingLoad balancing
Load balancing
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
Diesel load testing tool
Diesel load testing toolDiesel load testing tool
Diesel load testing tool
 
Multi processor scheduling
Multi  processor schedulingMulti  processor scheduling
Multi processor scheduling
 
ResumeJagannath
ResumeJagannathResumeJagannath
ResumeJagannath
 
Load Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware SolutionLoad Balancing from the Cloud - Layer 7 Aware Solution
Load Balancing from the Cloud - Layer 7 Aware Solution
 

Similar to Virtual Machine Maanager

Disaster recovery solution for VMware vCenter, vHost and VMs
Disaster recovery solution for VMware vCenter, vHost and VMsDisaster recovery solution for VMware vCenter, vHost and VMs
Disaster recovery solution for VMware vCenter, vHost and VMsAkshay Wattal
 
Virtualization in Cloud Computing
Virtualization in Cloud ComputingVirtualization in Cloud Computing
Virtualization in Cloud ComputingPyingkodi Maran
 
CH14-Virtual Machines.pptx
CH14-Virtual Machines.pptxCH14-Virtual Machines.pptx
CH14-Virtual Machines.pptxAmirZaman21
 
Virtualization and cloud Computing
Virtualization and cloud ComputingVirtualization and cloud Computing
Virtualization and cloud ComputingRishikese MR
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsArun Shukla
 
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...Editor IJCATR
 
Backup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-VBackup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-VAshwin Pawar
 
Virtualize of IO Devices .docx
Virtualize of IO Devices .docxVirtualize of IO Devices .docx
Virtualize of IO Devices .docxkumari36
 
Cloud Computing Virtualization and containers
Cloud Computing Virtualization and containersCloud Computing Virtualization and containers
Cloud Computing Virtualization and containersSelvaraj Kesavan
 
Virtualization: Force driving cloud computing
Virtualization: Force driving cloud computingVirtualization: Force driving cloud computing
Virtualization: Force driving cloud computingMayank Aggarwal
 
cloud basics.
cloud basics.cloud basics.
cloud basics.Mercy joy
 
Unit 3 Virtualization.pdf
Unit 3 Virtualization.pdfUnit 3 Virtualization.pdf
Unit 3 Virtualization.pdfPrachiKurhade3
 
V mware admin interview questions
V mware admin interview questionsV mware admin interview questions
V mware admin interview questionsPraveen Raut
 

Similar to Virtual Machine Maanager (20)

Disaster recovery solution for VMware vCenter, vHost and VMs
Disaster recovery solution for VMware vCenter, vHost and VMsDisaster recovery solution for VMware vCenter, vHost and VMs
Disaster recovery solution for VMware vCenter, vHost and VMs
 
10215 A 09
10215 A 0910215 A 09
10215 A 09
 
Live VM Migration
Live VM MigrationLive VM Migration
Live VM Migration
 
Virtualization in Cloud Computing
Virtualization in Cloud ComputingVirtualization in Cloud Computing
Virtualization in Cloud Computing
 
CH14-Virtual Machines.pptx
CH14-Virtual Machines.pptxCH14-Virtual Machines.pptx
CH14-Virtual Machines.pptx
 
Virtualization and cloud Computing
Virtualization and cloud ComputingVirtualization and cloud Computing
Virtualization and cloud Computing
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & Hypervisors
 
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
 
Backup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-VBackup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-V
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
 
Vcp6.7 episode 1
Vcp6.7 episode 1Vcp6.7 episode 1
Vcp6.7 episode 1
 
Virtualize of IO Devices .docx
Virtualize of IO Devices .docxVirtualize of IO Devices .docx
Virtualize of IO Devices .docx
 
Cloud Computing Virtualization and containers
Cloud Computing Virtualization and containersCloud Computing Virtualization and containers
Cloud Computing Virtualization and containers
 
Virtualization: Force driving cloud computing
Virtualization: Force driving cloud computingVirtualization: Force driving cloud computing
Virtualization: Force driving cloud computing
 
Unit 2
Unit 2Unit 2
Unit 2
 
cloud basics.
cloud basics.cloud basics.
cloud basics.
 
Unit 3 Virtualization.pdf
Unit 3 Virtualization.pdfUnit 3 Virtualization.pdf
Unit 3 Virtualization.pdf
 
V mware admin interview questions
V mware admin interview questionsV mware admin interview questions
V mware admin interview questions
 
Cloud
CloudCloud
Cloud
 

Recently uploaded

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 

Recently uploaded (20)

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Virtual Machine Maanager

  • 1. San José State University College of Engineering Department of Computer Engineering CMPE 283-01, Virtualization Technology Fall 2014 Individual Project – 1: Disaster Recovery Manager for DataCenter Submitted to Prof. Simon Shim Submitted By Gaurav Bhardwaj gaurav.bhardwaj@outlook.com SJSU ID 009297431 March 30th 2014
  • 2. 1. Introduction: Goal: The aim of the project is to gain hands-on experience with ESXi Hypervisor and vCentre management server, explore the capabilities and their API’s provided by VMware. It also aims towards learning how the server virtualization can automate nearly all traditional server administration activities by automated tools. Objective: The objective of the project is to perform disaster recovery of the Virtual Machines while managing a DataCenter. Disaster Recovery of any Virtual Machine is catered by building an Availability Manager that gathers statistics of each VM in the data-center and displays them in text format. It also implements recovery measures for failed VMs by snapshot recovery and cold-migration. It takes periodic snapshots to maintain highest possible consistency. Also, it creates an alarm for each VM which signals that a VM is being manually shutdown and prevents recovery of that VM. The manager pings each VM periodically to determine if it is alive or failed. Need: Disaster recovery management systems are primarily used when a machine dies unexpectedly or stops responding to client requests, now a days you can not afford a downtime of a single minute. Disaster Recovery provides assurance of virtual machine availability with minimum hassle when a disaster strikes. This project intends towards building a prototype of an availability manager which monitors the Virtual Machines in a DataCenter. 2. Background Disaster Recovery helps organizations to prevent from sudden data loss or machine failures. Disaster recovery in general terms is the process that is taken in order to recover or continue the normal flow of any technology infrastructure that is vital to the organization despite an occurrence of disaster. It is the process which increases availability of the components involved in the infrastructure. 3. Requirement: Functional Requirements: • Minimum infrastructure required to initiate this program is one vHost connected to one vCentre with having at least one Virtual Machine which is supposed to fail in future. • Virtual machine is called alive if it responds to ping requests. • System should be able to keep a periodic backup cache to revert to the machine in case it fails. • System should be able to detect machine failures which is different from machine being powered off by user. • System should be able to dynamically add one vHost to the vCentre in case all current vHost are found failed. • Migrate the same Machine to another vHost. • User powered off Machine should not be recovered by system. • System should be able to write all current statistics. • Image format conversion is to be done to clone this Virtual Machine to other HyperVisors. Non-Functional requirements: • System should be able to run with minimal number of threads. • System should be able to add newly created virtual Machines in HeartBeat. • System should not hit a web service everytime it needs a ServiceInstance. Connections should be cached to be used across the recovery manager.
  • 3. 4. Design and Architecture Architecture Diagram for Disaster Recovery System Our DRS sits on client side and uses WS api to connect to remote managed entities offered by Vmware. Each Virtual Machine is hosted on ESX system which is being managed by vCentre server. Components of Disaster Recovery System: 1. HeartBeat Manager: responsible for creating optimal number of threads responsible for pinging all the virtual machines inside infrastructure. Sleeps for some configurable time , wakes up and starts pinging the infrastructure. Invokes Recovery Manager as soon as it sees any VM or vHost dead. 2. Backup- Manager: Starts up, creates optimal number of threads to create clone and snapshot of Virtual Machines. Thread sleeps and wakes up every 10 minutes. This component is individual in its operation and acts as a helper. 3. Recovery-Manager: Implementation of complete algorithm and flow of process to recover.
  • 4. Component Design 5. Implementation: In order to implement the effective Disaster Recovery the following tools have been used: • j2se 1.7 • Eclipse IDE • vSphere VI API • VMware vSphere server and client. • VMware tools installed on each VM. Implementation Approach: • DRS initiates itself by reading a config. file which contains IP of vCentre, userID and password. DRS then populates the inventory and starts the Ping thread which pings all Virtual Machine in the DataCentre. Ping thread keeps a count of missed heartbeat, if number of missed HeartBeat goes beyond 5, ping thread declares machine as dead and starts the Recovery Manager. • Snapshot thread provides periodic snapshot creation for both Virtual-Machine and vHost on which it is being hosted. This thread takes a sleep time of nearly 10 minutes which is configurable. Snapshot are being created with memory state true, so as to revert to the most current state of system • Along with virtual machine the liveliness of Host is also being monitored by Ping thread, since we can safely assume that if vHost is dead all its hosted Virtual-machine will be dead.
  • 5. • Alarms are created for each virtual machine so as to check if a user has turned off a virtual machine or it got dead. Every time alarm is triggered, DRS checks triggered parameter to validate user powered off event. • Virtual Machine OVF format is being used to manage compatibilty across different Hypervisors, hence our system uses OVF export and import to another vHost while migrating VM. Screenshots: 1.) Pinging VM 2). System starts Recovery Manager when Machine miss 5 continuous pings. 3.) Not initiating the Recovery process when user has turned it off.
  • 6. 4.) Creating Snapshot of Virtual Machine and vHost. 5.) DRS reverting to most recent snapshot when VM is dead and vHost is alive.
  • 7. 6.) when vHost is dead and VM is alive, reverting to host's most recent snapshot. 7.) Adding a vHost to vCentre.
  • 8. 6. Discussions: • The host add/remove mechanism Host has been added to vCentre only in the situation when current host is dead even after being reverted to most recent snapshot. System takes the name of vHost available and tries to add that vHost to current vCentre. • The approach used to configure the failure detection for each VM Failure detection has been automated by keeping a count of missed heartbeat, currently 5 missed heartbeat initiates the recovery manager. Each thread is responsible for pinging VM inside inventory. Each pinging thread has the right to notify Recovery Manager about VM failure. • How host failures were detected Host failures uses same mechanism for failures. Host is pinged only once the VM doesn't respond to check if Host has failed. • The mechanism used to convert between the image formats used by the hypervisors. OVF format are being used for exporting VM images out of vHost. Since OVF provides interoperability between all hypervisors, its pretty good idea to export VM. 7. Conclusion : We can communicate with one ESX server with web service as well as many ESX servers with vCentre server, both provides capabilities as managed entities, required to automate infrastructure provisioning and management. This project gave me pretty good exposure of VMware api and Hypervisor capabilities. Apart from all other learnings, Java multithreading and its features was a great learning. For future projects I would try to create and use CacheInstance, as it seems to be very effective when application has to scale and is suppoed to support a major infrastructure.