+ All Categories
Home > Documents > Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf›...

Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf›...

Date post: 17-Mar-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
55
Condor Project Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor
Transcript
Page 1: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

Condor ProjectComputer Sciences DepartmentUniversity of Wisconsin-Madison

Virtual Machines in Condor

Page 2: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtual Machines› Simulated hardware› Software in the VM thinks it’s running

on a normal machine› Efficient use of hardware resources› Distributed architectures are

inherently complex:• Resources scattered all around

the globe and are heterogeneous• Distributed administration: no

centralized control• Efficient resource management is

essential in those architectures in order to achieve high performance

2

Page 3: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtualization concept› Virtualization is a framework or methodology of

dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others.

› Virtualized resources enable a more efficient resourcemanagement

› Each instance of such execution is called a VirtualMachine(VM)

3

Page 4: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtualization concept

4

Page 5: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtualization concept

5

Type 1 Hypervisor

Type 2 Hypervisor

Guest OS

Type 1 Hypervisor Type 2 Hypervisor

Guest OSGuest OS...

Host Operating System

Host OS Processes

Guest OS ProcessesGuest OS Processes

Page 6: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtualization concept› Few advantages of Virtual Machines

• Hardened security• Platform isolation• Easy reconfiguration• Better Reliability, Availability and Serviceability

6

Page 7: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtualization concept› Virtual Machine Life Cycle

• Boot Up of the VM• Running Job on VM• Completion Job and Shutdown of the VM

7

Page 8: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtualization concept› Virtual Machine Job

• Starting Boot Up of the VM• Running VM On• Completion Shutdown of the VM• Result Modified VM image ( Optional )

8

Page 9: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Virtual MachinesReal Machine

Virtual Machines

9

Page 10: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Benefits of Virtual Machines

› Job sandboxing› Checkpoint and migration› Jobs with elevated privileges› Platform independence

10

Page 11: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Job Sandboxing

› Protect machines from jobs­ Both accidental and malicious damage

› Machine owners more willing to run unfamiliar jobs

11

Page 12: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Checkpoint and Migration

› State of entire VM (OS and all) is recorded

› VM can be checkpointed for…- Failure recovery- Migration to other

machines

12

Page 13: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Jobs with Elevated Privileges

› Run as root or administrator user

› Alter OS installation› Useful for automated

testing of software like Condor

13

Page 14: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Platform Independence

› Jobs can run on more machines

› Machines can run more jobs› Linux jobs on Windows

machines- And vice versa

14

Page 15: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

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

Page 16: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

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

Page 17: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Condor in a VMExecute Machine

Startd

VMStartd

Job

Submit Machine

Schedd

Page 18: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

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)

Page 19: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe

› The VM image is the job› Job output is the modified VM image› VMWare, KVM and Xen are supported› VM GAHP

- Daemon used to condor_starter to interact with VM software

19

Page 20: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe ExampleExecute Machine

Startd

Submit Machine

Schedd

20

Page 21: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe ExampleExecute Machine

Startd

Submit Machine

Schedd

21

Page 22: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe ExampleExecute Machine

Startd

VM GAHP

Submit Machine

Schedd

22

Page 23: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe ExampleExecute Machine

Startd

Job

VM

VM GAHP

Submit Machine

Schedd

23

Page 24: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe ExampleExecute Machine

Startd

Job

VM

VM GAHP

Submit Machine

Schedd

24

Page 25: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe ExampleExecute Machine

Startd

VM GAHP

Submit Machine

Schedd

25

Page 26: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VM Universe ExampleExecute Machine

Startd

Submit Machine

Schedd

26

Page 27: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Condor Config File

› VM_TYPE = <xen|kvm|vmware>- Indicate what VM software you have- This enables VM capabilities

›VM_MEMORY = 256- Max memory all VMs can use

›VM_MAX_NUMBER = 2- Max simultaneous VMs

27

Page 28: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Condor Config File

› VM_NETWORKING = TRUE- Can the VM access the network?

› VM_NETWORKING_TYPE = nat, bridge- Ways the VM access the network

› VM_NETWORKING_DEFAULT_TYPE = nat- Default network access type

› VM_SOFT_SUSPEND = True- Suspend VM in memory or write to disk?

28

Page 29: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Config File for VMWare

› VMWARE_NETWORKING_TYPE = \ <nat|bridged>- Networking type to appear in .vmx file

› VMWARE_LOCAL_SETTINGS_FILE = \ /path/to/file- Extra attributes to insert in .vmx file

29

Page 30: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Config File for Xen/KVM› LIBVIRT_XML_SCRIPT = \

$(LIBEXEC)/libvirt_simple_script.awk

- Optional callout to write libvirt XML description

› VM_BRIDGE_SCRIPT = \ vif-bridge bridge=xenbr0

- Script to set up networking› XEN_BOOTLOADER = /usr/bin/pygrub

- Xen only, when kernel included in disk image

30

Page 31: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Machine ClassAdHasVM = TrueVM_AvailNum = 2VM_Memory = 256VM_Networking = TrueVM_Networking_Types = "nat,bridge"VM_GAHP_VERSION =

"$VMGahpVersion…"VM_Type = "vmware"

31

Page 32: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Build a Submit File

› universe = vm

› executable = MyJob1- Executable only used for naming in

condor_q display› vm_type = <vmware|kvm|xen>

32

Page 33: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Build a Submit File

› vm_memory = 256- Units are megabytes

33

Page 34: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Build a Submit File

› vm_networking = <True|False>- Does VM require a network interface?- Some machines may not provide one

› vm_networking_type = <nat|bridge>- Does VM require a specific type of network

interface?- Some machines may not provide both types

34

Page 35: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Build a Submit File

› vm_no_output_vm = \ <True|False>- Should modified VM image be returned to

user?- Some VM jobs may send results over the

network

35

Page 36: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

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

36

Page 37: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Build a Submit File› vm_should_transfer_cdrom_files = \

<True|False>- 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

37

Page 38: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Build a Submit File

› vm_checkpoint = <True|False>- If True, Condor will checkpoint VM

periodically and on eviction from execute machine

- Checkpoints stored on submit machine

38

Page 39: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VMWare Parameters

› vmware_dir = <path>- Directory containing the VMWare VM

image to be run

39

Page 40: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VMWare Parameters

› vmware_snapshot_disk = \ <True|False>- A snapshot disk records only the

changes from the original VM image- Saves network bandwidth and disk space

on submit machine

40

Page 41: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

VMWare Parameters› vmware_should_transfer_files = \

<True|False>- If True, files in vmware_dir are

transferred from submit machine to execute machine

- If False, files are read from a shared file system on execute machine

41

Page 42: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Xen/KVM Parameters

› xen_disk = file1:dev1:perm1,\ file2:dev2:perm2

› kvm_disk = file1:dev1:perm1,\ file2:dev2:perm2- The 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

42

Page 43: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Xen Parameters

› xen_kernel = included- The kernel is in the disk image file

› xen_kernel = /path/to/kernel- Use the indicated kernel

43

Page 44: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Xen Parameters

› xen_kernel_params = <params>- Append <params> to Xen kernel

command line› xen_root = <device>

- Indicates root disk when kernel not included in disk image

› xen_initrd = <path>- Path to ramdisk image to be used

44

Page 45: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Xen/KVM Parameters

› xen_cdrom_device = <device>› kvm_cdrom_device = <device>

- When using vm_cdrom_files, you must specify what device the CD-ROM image will be mapped to

45

Page 46: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Xen/KVM Parameters

› xen_transfer_files = file1, file2

› kvm_transfer_files = file1, file2- Xen-related files to be transferred from the

submit machine to the execute machine- Any VM image files not listed are assumed to

accessible on the execute machine

46

Page 47: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

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

47

Page 48: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

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

48

Page 49: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

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

49

Page 50: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Running in the VM

› Sample boot script on linux- /etc/rc.d/rc3.d/S90myjob:

#!/bin/shsu – joe ~/myjob 123 >~/outputshutdown –h now

50

Page 51: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

How to Create VM images› VMware Server

- Using VMware Server Console

51

Page 52: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

How to Create VM images› VMware Server

- Can download pre-created VMs from http://www.vmware.com/appliances/

- Many Linux distributions: Ubuntu, Fedora, Red Hat Enterprise, openSUSE, CentOS

52

Page 53: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

How to Create VM images› Xen and KVM

- Several Linux distributions have GUI or command line tool to create a VM image

• On Fedora Core, virt-install and virt-manager• On OpenSuse, through YaST

- Can create a VM from scratch by using dd, mke2fs, and mount –o loop

53

Page 54: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Small VM Images

› Damn Small Linux- www.damnsmalllinux.org- As small as 6MB

› LitePC- www.litepc.com- Windows 2000 in 150MB- Windows 9x in 40MB

54

Page 55: Virtual Machines in Condor - unipg.itogervasi.unipg.it/OpSysNet/4Students/Condor/VM-tutorial.pdf› VM’s MAC and IP address are saved across checkpoint and restart › Network connections

www.cs.wisc.edu/Condor

Thank You

› Any questions?› Several VM-related talks on

Wednesday› Discussion: Virtual Machines and

Condor- Friday, 11:30-12:15

55


Recommended