Скачать презентацию Virtual Machines in Condor Project Computer Sciences Department Скачать презентацию Virtual Machines in Condor Project Computer Sciences Department

e26ce520d7071f6399bc9c941c9859cd.ppt

  • Количество слайдов: 49

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

Virtual Machines › Simulated hardware › Software in the VM thinks it’s running on Virtual Machines › Simulated hardware › Software in the VM thinks it’s running on a normal machine www. cs. wisc. edu/Condor 2

Virtual Machines Real Machine Virtual Machines www. cs. wisc. edu/Condor 3 Virtual Machines Real Machine Virtual Machines www. cs. wisc. edu/Condor 3

Benefits of Virtual Machines › › Job sandboxing Checkpoint and migration Jobs with elevated Benefits of Virtual Machines › › Job sandboxing Checkpoint and migration Jobs with elevated privileges Platform independence www. cs. wisc. edu/Condor 4

Job Sandboxing › Protect machines from jobs h. Both accidental and malicious damage › Job Sandboxing › Protect machines from jobs h. Both accidental and malicious damage › Machine owners more willing to run unfamiliar jobs www. cs. wisc. edu/Condor 5

Checkpoint and Migration › State of entire VM (OS › and all) is recorded Checkpoint and Migration › State of entire VM (OS › and all) is recorded VM can be checkpointed for… h. Failure recovery h. Migration to other machines www. cs. wisc. edu/Condor 6

Jobs with Elevated Privileges › Run as root or › › administrator user Alter Jobs with Elevated Privileges › Run as root or › › administrator user Alter OS installation Useful for automated testing of software like Condor www. cs. wisc. edu/Condor 7

Platform Independence › Jobs can run on more › › machines Machines can run Platform Independence › Jobs can run on more › › machines Machines can run more jobs Linux jobs on Windows machines h. And vice versa www. cs. wisc. edu/Condor 8

VM Image Provided By… › Machine Owner h. Condor runs inside a VM h. VM Image Provided By… › Machine Owner h. Condor runs inside a VM h. VM becomes a node in your Condor pool › Job Owner h. VM universe h. Condor runs a user-provided VM image www. cs. wisc. edu/Condor

Condor in a VM › › Run Condor in a VM VM joins your 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 h. E. g. load average, keyboard idle time www. cs. wisc. edu/Condor

Condor in a VM Submit Machine Execute Machine Startd Schedd VM Startd Job www. Condor in a VM Submit Machine Execute Machine Startd Schedd VM Startd Job www. cs. wisc. edu/Condor

Config Settings › Host config file h VMP_VM_LIST = vm 1. bar. edu, vm Config Settings › Host config file h VMP_VM_LIST = vm 1. bar. edu, vm 2. bar. edu h HOSTALLOW_WRITE = $(HOSTALLOW_WRITE), $(VMP_VM_LSIT) › VM config file h VMP_HOST_MACHINE = foo. bar. edu h START = (Keyboard. Idle > 150) && (HOST_Keyboard. Idle > 150) www. cs. wisc. edu/Condor

VM Universe › › The VM image is the job Job output is the VM Universe › › The VM image is the job Job output is the modified VM image VMWare, KVM and Xen are supported VM GAHP h. Daemon used to condor_starter to interact with VM software www. cs. wisc. edu/Condor 13

VM Universe Example Submit Machine Schedd Execute Machine Startd www. cs. wisc. edu/Condor 14 VM Universe Example Submit Machine Schedd Execute Machine Startd www. cs. wisc. edu/Condor 14

VM Universe Example Submit Machine Schedd Execute Machine Startd www. cs. wisc. edu/Condor 15 VM Universe Example Submit Machine Schedd Execute Machine Startd www. cs. wisc. edu/Condor 15

VM Universe Example Submit Machine Schedd Execute Machine Startd VM GAHP www. cs. wisc. VM Universe Example Submit Machine Schedd Execute Machine Startd VM GAHP www. cs. wisc. edu/Condor 16

VM Universe Example Submit Machine Execute Machine Startd Schedd VM GAHP VM Job www. VM Universe Example Submit Machine Execute Machine Startd Schedd VM GAHP VM Job www. cs. wisc. edu/Condor 17

VM Universe Example Submit Machine Execute Machine Startd Schedd VM GAHP VM Job www. VM Universe Example Submit Machine Execute Machine Startd Schedd VM GAHP VM Job www. cs. wisc. edu/Condor 18

VM Universe Example Submit Machine Schedd Execute Machine Startd VM GAHP www. cs. wisc. VM Universe Example Submit Machine Schedd Execute Machine Startd VM GAHP www. cs. wisc. edu/Condor 19

VM Universe Example Submit Machine Schedd Execute Machine Startd www. cs. wisc. edu/Condor 20 VM Universe Example Submit Machine Schedd Execute Machine Startd www. cs. wisc. edu/Condor 20

Condor Config File › VM_TYPE = <xen|kvm|vmware> h. Indicate what VM software you have Condor Config File › VM_TYPE = h. Indicate what VM software you have h. This enables VM capabilities › VM_MEMORY = 256 h. Max memory all VMs can use › VM_MAX_NUMBER = 2 h. Max simultaneous VMs www. cs. wisc. edu/Condor 21

Condor Config File › VM_NETWORKING = TRUE h. Can the VM access the network? Condor Config File › VM_NETWORKING = TRUE h. Can the VM access the network? › VM_NETWORKING_TYPE = nat, bridge h. Ways the VM access the network › VM_NETWORKING_DEFAULT_TYPE = nat h. Default network access type › VM_SOFT_SUSPEND = True h. Suspend VM in memory or write to disk? www. cs. wisc. edu/Condor 22

Config File for VMWare › VMWARE_NETWORKING_TYPE =  › <nat|bridged> h. Networking type to Config File for VMWare › VMWARE_NETWORKING_TYPE = › h. Networking type to appear in. vmx file VMWARE_LOCAL_SETTINGS_FILE = /path/to/file h. Extra attributes to insert in. vmx file www. cs. wisc. edu/Condor 23

Config File for Xen/KVM › LIBVIRT_XML_SCRIPT =  › › $(LIBEXEC)/libvirt_simple_script. awk h. Optional Config File for Xen/KVM › LIBVIRT_XML_SCRIPT = › › $(LIBEXEC)/libvirt_simple_script. awk h. Optional callout to write libvirt XML description VM_BRIDGE_SCRIPT = vif-bridge=xenbr 0 h. Script to set up networking XEN_BOOTLOADER = /usr/bin/pygrub h. Xen only, when kernel included in disk image www. cs. wisc. edu/Condor 24

Machine Class. Ad Has. VM = True VM_Avail. Num = 2 VM_Memory = 256 Machine Class. Ad Has. VM = True VM_Avail. Num = 2 VM_Memory = 256 VM_Networking = True VM_Networking_Types = "nat, bridge" VM_GAHP_VERSION = "$VMGahp. Version…" VM_Type = "vmware" www. cs. wisc. edu/Condor 25

Build a Submit File › universe = vm › executable = My. Job 1 Build a Submit File › universe = vm › executable = My. Job 1 h. Executable only used for naming in condor_q display › vm_type = www. cs. wisc. edu/Condor 26

Build a Submit File › vm_memory = 256 h. Units are megabytes www. cs. Build a Submit File › vm_memory = 256 h. Units are megabytes www. cs. wisc. edu/Condor 27

Build a Submit File › vm_networking = <True|False> h. Does VM require a network Build a Submit File › vm_networking = h. Does VM require a network interface? h. Some machines may not provide one › vm_networking_type = h. Does VM require a specific type of network interface? h. Some machines may not provide both types www. cs. wisc. edu/Condor 28

Build a Submit File › vm_no_output_vm =  <True|False> h. Should modified VM image Build a Submit File › vm_no_output_vm = h. Should modified VM image be returned to user? h. Some VM jobs may send results over the network www. cs. wisc. edu/Condor 29

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

Build a Submit File › vm_should_transfer_cdrom_files =  <True|False> h. If True, files for Build a Submit File › vm_should_transfer_cdrom_files = h. If True, files for CD-ROM image are transferred from submit machine to execute machine h. If False, files are read from a shared filesystem on execute machine www. cs. wisc. edu/Condor 31

Build a Submit File › vm_checkpoint = <True|False> h. If True, Condor will checkpoint Build a Submit File › vm_checkpoint = h. If True, Condor will checkpoint VM periodically and on eviction from execute machine h. Checkpoints stored on submit machine www. cs. wisc. edu/Condor 32

VMWare Parameters › vmware_dir = <path> h. Directory containing the VMWare VM image to VMWare Parameters › vmware_dir = h. Directory containing the VMWare VM image to be run www. cs. wisc. edu/Condor 33

VMWare Parameters › vmware_snapshot_disk =  <True|False> h. A snapshot disk records only the VMWare Parameters › vmware_snapshot_disk = h. A snapshot disk records only the changes from the original VM image h. Saves network bandwidth and disk space on submit machine www. cs. wisc. edu/Condor 34

VMWare Parameters › vmware_should_transfer_files =  <True|False> h. If True, files in vmware_dir are VMWare Parameters › vmware_should_transfer_files = h. If True, files in vmware_dir are transferred from submit machine to execute machine h. If False, files are read from a shared file system on execute machine www. cs. wisc. edu/Condor 35

Xen/KVM Parameters › xen_disk = file 1: dev 1: perm 1,  › file Xen/KVM Parameters › xen_disk = file 1: dev 1: perm 1, › file 2: dev 2: perm 2 kvm_disk = file 1: dev 1: perm 1, file 2: dev 2: perm 2 h. 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 h. The image files can be whole disks or disk partitions www. cs. wisc. edu/Condor 36

Xen Parameters › xen_kernel = included h. The kernel is in the disk image Xen Parameters › xen_kernel = included h. The kernel is in the disk image file › xen_kernel = /path/to/kernel h. Use the indicated kernel www. cs. wisc. edu/Condor 37

Xen Parameters › xen_kernel_params = <params> h. Append <params> to Xen kernel command line Xen Parameters › xen_kernel_params = h. Append to Xen kernel command line › xen_root = h. Indicates root disk when kernel not included in disk image › xen_initrd = h. Path to ramdisk image to be used www. cs. wisc. edu/Condor 38

Xen/KVM Parameters › xen_cdrom_device = <device> › kvm_cdrom_device = <device> h. When using vm_cdrom_files, Xen/KVM Parameters › xen_cdrom_device = › kvm_cdrom_device = h. When using vm_cdrom_files, you must specify what device the CD-ROM image will be mapped to www. cs. wisc. edu/Condor 39

Xen/KVM Parameters › xen_transfer_files = file 1, file 2 › kvm_transfer_files = file 1, Xen/KVM Parameters › xen_transfer_files = file 1, file 2 › kvm_transfer_files = file 1, file 2 h. Xen-related files to be transferred from the submit machine to the execute machine h. Any VM image files not listed are assumed to accessible on the execute machine www. cs. wisc. edu/Condor 40

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

VM Checkpointing vs. Standard Universe › No relinking › Works with more types of VM Checkpointing vs. Standard Universe › No relinking › Works with more types of jobs h. Multiple processes and threads h. Networking (but migration problematic) › No Remote IO h. Must specify input files www. cs. wisc. edu/Condor 42

Creating a VM Image › Configure OS to… h. Run your application on boot-up Creating a VM Image › Configure OS to… h. Run your application on boot-up h. Shut down when your application exits › Input files can be read from CD-ROM image h. Input files can include application binary www. cs. wisc. edu/Condor 43

Running in the VM › Sample boot script on linux h/etc/rc. d/rc 3. d/S Running in the VM › Sample boot script on linux h/etc/rc. d/rc 3. d/S 90 myjob: #!/bin/sh su – joe ~/myjob 123 >~/output shutdown –h now www. cs. wisc. edu/Condor 44

How to Create VM images › VMware Server h. Using VMware Server Console www. How to Create VM images › VMware Server h. Using VMware Server Console www. cs. wisc. edu/Condor 45

How to Create VM images › VMware Server h. Can download pre-created VMs from How to Create VM images › VMware Server h. Can download pre-created VMs from http: //www. vmware. com/appliances/ h. Many Linux distributions: Ubuntu, Fedora, Red Hat Enterprise, open. SUSE, Cent. OS www. cs. wisc. edu/Condor 46

How to Create VM images › Xen and KVM h. Several Linux distributions have How to Create VM images › Xen and KVM h. Several Linux distributions have GUI or command line tool to create a VM image • On Fedora Core, virt-install and virt-manager • On Open. Suse, through Ya. ST h. Can create a VM from scratch by using dd, mke 2 fs, and mount –o loop www. cs. wisc. edu/Condor 47

Small VM Images › Damn Small Linux hwww. damnsmalllinux. org h. As small as Small VM Images › Damn Small Linux hwww. damnsmalllinux. org h. As small as 6 MB › Lite. PC hwww. litepc. com h. Windows 2000 in 150 MB h. Windows 9 x in 40 MB www. cs. wisc. edu/Condor 48

Thank You › Any questions? › Several VM-related talks on › Wednesday Discussion: Virtual Thank You › Any questions? › Several VM-related talks on › Wednesday Discussion: Virtual Machines and Condor h. Friday, 11: 30 -12: 15 www. cs. wisc. edu/Condor 49