Jaime Frey Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

Virtual Machine Technology Dr. Gregor von Laszewski Dr. Lizhe Wang.
NWCLUG 01/05/2010 Jared Moore Xen Open Source Virtualization.
Condor Project Computer Sciences Department University of Wisconsin-Madison Condor's Use of the Cisco Unified Computing System.
1 Week #1 Objectives Review clients, servers, and Windows network models Differentiate among the editions of Server 2008 Discuss the new Windows Server.
1 Week #1 Objectives Review clients, servers, and Windows network models Differentiate among the editions of Server 2008 Discuss the new Windows Server.
Using Virtual Machine-ware to run SLHC Simulations Laura Gilbert - Oxford Atlas Physics meeting 5th June 2006.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Condor Overview Bill Hoagland. Condor Workload management system for compute-intensive jobs Harnesses collection of dedicated or non-dedicated hardware.
Overview Basic functions Features Installation: Windows host and Linux host.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Virtualization for Cloud Computing
Installing software on personal computer
VIRTUALISATION OF HADOOP CLUSTERS Dr G Sudha Sadasivam Assistant Professor Department of CSE PSGCT.
1 MASTERING (VIRTUAL) NETWORKS A Case Study of Virtualizing Internet Lab Avin Chen Borokhovich Michael Goldfeld Arik.
Jaeyoung Yoon Computer Sciences Department University of Wisconsin-Madison Virtual Machine Universe in.
Paper on Best implemented scientific concept for E-Governance Virtual Machine By Nitin V. Choudhari, DIO,NIC,Akola By Nitin V. Choudhari, DIO,NIC,Akola.
Jaeyoung Yoon Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Red Hat Installation. Installing Red Hat Linux is the process of copying operating system files from a CD, DVD, or USB flash drive to hard disk(s) on.
Space Science and Engineering Center University of Wisconsin-Madison Virtual Machines: A method for distributing DB processing software Liam Gumley.
Virtualization and Open source Software Mr. Lau Ka Lun – Lai King Catholic Secondary School Date: 9 th, 21 st, 22 nd March, 2011.
Linux Operations and Administration
Condor Project Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Tanenbaum 8.3 See references
Zach Miller Computer Sciences Department University of Wisconsin-Madison What’s New in Condor.
Paper on Best implemented scientific concept for E-Governance projects Virtual Machine By Nitin V. Choudhari, DIO,NIC,Akola.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Cooperative Linux… “A treaty between two OS giants” Presented by: Rakesh kumar (usn: 4BD07CS084 )
Hands-On Virtual Computing
Guide to Linux Installation and Administration, 2e1 Chapter 8 Basic Administration Tasks.
Chapter 8 Implementing Disaster Recovery and High Availability Hands-On Virtual Computing.
Exercise #1: Exploring Open- Source Operating Systems with Virtual Machines J. H. Wang Mar. 9, 2010.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Section 3.1: Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random.
Peter Keller Computer Sciences Department University of Wisconsin-Madison Quill Tutorial Condor Week.
Linux in a Virtual Environment Nagarajan Prabakar School of Computing and Information Sciences Florida International University.
INTRODUCTION TO VIRTUALIZATION KRISTEN WILLIAMS MOSES IKE.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
The Roadmap to New Releases Derek Wright Computer Sciences Department University of Wisconsin-Madison
Beowulf Software. Monitoring and Administration Beowulf Watch 
Derek Wright Computer Sciences Department University of Wisconsin-Madison MPI Scheduling in Condor: An.
Todd Tannenbaum Computer Sciences Department University of Wisconsin-Madison Quill / Quill++ Tutorial.
Kickstart Installation
Derek Wright Computer Sciences Department University of Wisconsin-Madison Condor and MPI Paradyn/Condor.
Exercise #1: Exploring Open- Source Operating Systems with Virtual Machines J. H. Wang Sep. 25, 2015.
Virtual Machines Created within the Virtualization layer, such as a hypervisor Shares the physical computer's CPU, hard disk, memory, and network interfaces.
 Introduction  Architecture NameNode, DataNodes, HDFS Client, CheckpointNode, BackupNode, Snapshots  File I/O Operations and Replica Management File.
System Administrator Responsible for? Install OS Network Configuration Security Configuration Patching Backup Performance Management Storage Management.
Linux Operations and Administration
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Todd Tannenbaum Computer Sciences Department University of Wisconsin-Madison Condor NT Condor ported.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison Condor and Virtual Machines.
CEG 2400 FALL 2012 Linux/UNIX Network Operating Systems.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Linux and Coldfusion MX Mid-Michigan Coldfusion User’s Group, Nov
Gabi Kliot Computer Sciences Department Technion – Israel Institute of Technology Adding High Availability to Condor Central Manager Adding High Availability.
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
Intro To Virtualization Mohammed Morsi
Harvesting Free Windows CPU Cycles for Linux Applications using Sandboxing Rasmus Andersen Dept. of Computer Science, University of Copenhagen, Denmark.
Virtualization With:. Virtualization With: What Kind of Virtualization? Full virtualization Platform Resource.
Andrea Chierici Virtualization tutorial Catania 1-3 dicember 2010
Hands-On Virtualization in the Classroom
Introduction to Operating Systems
Networking for Home and Small Businesses – Chapter 2
Haiyan Meng and Douglas Thain
Networking for Home and Small Businesses – Chapter 2
Presentation transcript:

Jaime Frey Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor

Virtual Machines › Simulated hardware › Software in the VM thinks it’s running on a normal machine

Virtual Machines Real Machine Virtual Machines

Benefits of Virtual Machines › Job sandboxing › Checkpoint and migration › Jobs with elevated privileges › Platform independence

Job Sandboxing › Protect machines from jobs  Both accidental and malicious damage › Machine owners more willing to run unfamiliar jobs

Checkpoint and Migration › State of entire VM (OS and all) is recorded › VM can be checkpointed for…  Failure recovery  Migration to other machines

Jobs with Elevated Privileges › Run as root or administrator user › Alter OS installation › Useful for automated testing of software like Condor

Platform Independence › Jobs can run on more machines › Machines can run more jobs › Linux jobs on Windows machines  And vice versa

VM Image Provided By… › Machine Owner  Condor runs inside a VM  VM becomes a node in your Condor pool › Job Owner  VM universe  Condor runs a user-provided VM image

Condor in a VM › Run Condor in a VM › VM joins your pool › VM acts like any other node › Condor in VM can gather information from host machine  E.g. load average, keyboard idle time

Condor in a VM Execute Machine Startd VM Startd Job Submit Machine Schedd

Config Settings › Host config file  VMP_VM_LIST = vm1.bar.edu, vm2.bar.edu  HOSTALLOW_WRITE = $(HOSTALLOW_WRITE), $(VMP_VM_LSIT) › VM config file  VMP_HOST_MACHINE = foo.bar.edu  START = (KeyboardIdle > 150) && (HOST_KeyboardIdle > 150)

Dueling Startds › No intelligent sharing of machine between host and VM startds

If Startds Know About Each Other › Host startd always defers to VM startd (never runs jobs) › Possible solution  Write script to start or stop VM if active startd has no work

If Startds Don’t Know About Each Other › Both startds may run jobs, contending for machine › Possible solution  Use Hawkeye to cross-publish startd status

VM Universe › The VM image is the job › Job output is the modified VM image › VMWare and Xen are supported

VM GAHP › Program used by condor_starter to interact with VMWare and Xen › Has own configuration file

VM Universe Example Execute Machine Startd Submit Machine Schedd

VM Universe Example Execute Machine Startd Submit Machine Schedd

VM Universe Example Execute Machine Startd VM GAHP Submit Machine Schedd

VM Universe Example Execute Machine Startd Job VM VM GAHP Submit Machine Schedd

VM Universe Example Execute Machine Startd Job VM VM GAHP Submit Machine Schedd

VM Universe Example Execute Machine Startd VM GAHP Submit Machine Schedd

VM Universe Example Execute Machine Startd Submit Machine Schedd

VM Config Parameters › Condor config file  Additional parameters › VM GAHP config file  Config file used by the VM GAHP  Can’t use macros from Condor config file

Condor Config File VM_GAHP_SERVER = $(SBIN)/condor_vm-gahp VM_GAHP_CONFIG = /path/to/vmgahp.config VM_GAHP_LOG = /tmp/VMGAHPLog.$(USERNAME) MAX_VM_GAHP_LOG = VM_TYPE = VM_MEMORY = 128 VM_NETWORKING = TRUE VM_MAX_NUMBER = 2 VM_SOFT_SUSPEND = TRUE VM_UNIV_NOBODY_USER = ALWAYS_VM_UNIV_USE_NOBODY = FALSE

VM GAHP Config File Common ALLOW_USERS = condor VM_TYPE = VM_VERSION = server1.0 VM_MAX_MEMORY = 128 VM_NETWORKING = True VM_NETWORKING_TYPE = nat, bridge VM_DEFAULT_NETWORKING_TYPE = nat

VM GAHP Condor File VMWare VMWARE_PERL = perl VMWARE_SCRIPT = /condor_vm_vmware.pl VMWARE_NETWORKING_TYPE =

VM GAHP Condor File Xen XEN_CONTROLLER = XEN_SCRIPT = /condor_vm_xen.sh XEN_DEFAULT_KERNEL = /path/to/kernel XEN_DEFAULT_INITRD = /path/to/image XEN_BOOTLOADER = /usr/bin/pygrub XEN_VIF_PARAMETER = [‘’] XEN_BRIDGE_SCRIPT = vif-bridge bridge=xenbr0 XEN_IMAGE_IO_TYPE = file:

Machine ClassAd HasVM = True VM_AvailNum = 2 VM_Memory = 256 VM_Networking = True VM_Networking_Types = "nat,bridge” VM_GAHP_VERSION = "$VMGahpVersion…" VM_Type = "vmware" VM_Version = "server-1.0"

Build a Submit File › universe = vm › executable = MyJob1  Executable only used for naming in condor_q display › vm_type =

Build a Submit File › vm_memory = 256  Units are megabytes

Build a Submit File › vm_networking =  Does VM require a network interface?  Some machines may not provide one › vm_networking_type =  Does VM require a specific type of network interface?  Some machines may not provide both types

Build a Submit File › vm_no_output_vm =  Should modified VM image be returned to user?  Some VM jobs may send results over the network

Build a Submit File › vm_cdrom_files = a.txt, b.txt  Files are mounted in VM as a CD-ROM image  Allows you to use a VM image for many different jobs  You can replace the list of files with a single ISO image

Build a Submit File › vm_should_transfer_cdrom_files =  If True, files for CD-ROM image are transferred from submit machine to execute machine  If False, files are read from a shared filesystem on execute machine

Build a Submit File › vm_checkpoint =  If True, Condor will checkpoint VM periodically and on eviction from execute machine

VMWare Parameters › vmware_dir =  Directory containing the VMWare VM image to be run

VMWare Parameters › vmware_snapshot_disk =  A snapshot disk records only the changes from the original VM image  Saves network bandwidth and disk space on submit machine

VMWare Parameters › vmware_should_transfer_files =  If True, files in vmware_dir are transferred from submit machine to execute machine  If False, files are read from a shared filesystem on execute machine

Xen Parameters › xen_disk = file1:dev1:perm1, file2:dev2:perm2  The Xen VM image is a list of disk image files, along with the devices they should be mapped to in the VM and the permissions they should have  The image files can be whole disks or disk partitions

Xen Parameters › xen_kernel = included  The kernel is in the disk image file › xen_kernel = any  Use the default kernel provided on the execute machine › xen_kernel = /path/to/kernel  Use the indicated kernel

Xen Parameters › xen_kernel_params =  Append to Xen kernel command line › xen_root =  Indicates root disk when kernel not included in disk image

Xen Parameters › xen_initrd =  Path to initrd image to be used › xen_cdrom_device =  When using vm_cdrom_files, you must specify what device the CD-ROM image will be mapped to

Xen Parameters › xen_transfer_files = file1, file2  Xen-related files to be transferred from the submit machine to the execute machine  Any Xen-related image files not listed are assumed to accessible on the execute machine

Checkpointing and Networking › VM’s MAC and IP address are saved across checkpoint and restart › Network connections may be lost  If NAT networking is used and job changes machines  If job is idle for too long before restart › VMWare provides a tool to maintain DHCP leases across checkpoint and restart

VM Checkpointing vs. Standard Universe › No relinking › Works with more types of jobs  Multiple processes and threads  Networking (but migration problematic) › No Remote IO  Must specify input files

Suspending VM Jobs › Hard suspend  Memory being used by a VM will be released and the memory will be saved into a file › Soft suspend  Memory being used by a VM will not be released and the VM will be just paused like with SIGSTOP

Creating a VM Image › Configure OS to…  Run your application on boot-up  Shut down when your application exits › Input files can be read from CD-ROM image  Input files can include application binary

How to Create VM images › VMware Server  Using VMware Server Console

How to Create VM images › VMware Server  Can download pre-created VMs from  Many Linux distributions: Ubuntu, Fedora, Red Hat Enterprise, openSUSE, CentOS

How to Create VM images › Xen  Several Linux distributions have GUI or command line tool to create a Xen VM On Fedora Core, virt-install and virt-manager On OpenSuse, through YaST  Can create a VM from a scratch by using dd, mke2fs, and mount –o loop e.g. linux/wiki/HowToCreateAXenImage

Small VM Images › Damn Small Linux   As small as 6MB › LitePC   Windows 2000 in 150MB  Windows 9x in 40MB

Thank You › Any questions? › Anything missing?  Write your local Condor developer › Virtualization in Condor BoF  Friday, 1:30-2:30

VM Universe Execute Machine Startd Job VM VM GAHP Submit Machine Schedd

Checkpointing and Networking › Checkpoint and networking should be mixed with caution › Network connections may be lost on restart  Especially if IP and MAC addresses change › Other networking problems may occur on restart