Commit 3a4d8a50 authored by David Hrbáč's avatar David Hrbáč

Links OK

parent c5b8d9ab
Pipeline #5214 failed with stages
in 1 minute and 21 seconds
......@@ -12,7 +12,7 @@ There are situations when Anselm's environment is not suitable for user needs.
* Application requires privileged access to operating system
* ... and combinations of above cases
We offer solution for these cases - **virtualization**. Anselm's environment gives the possibility to run virtual machines on compute nodes. Users can create their own images of operating system with specific software stack and run instances of these images as virtual machines on compute nodes. Run of virtual machines is provided by standard mechanism of [Resource Allocation and Job Execution](salomon/job-submission-and-execution/).
We offer solution for these cases - **virtualization**. Anselm's environment gives the possibility to run virtual machines on compute nodes. Users can create their own images of operating system with specific software stack and run instances of these images as virtual machines on compute nodes. Run of virtual machines is provided by standard mechanism of [Resource Allocation and Job Execution][1].
Solution is based on QEMU-KVM software stack and provides hardware-assisted x86 virtualization.
......@@ -24,7 +24,7 @@ Anselm's virtualization does not provide performance and all features of native
Virtualization has also some drawbacks, it is not so easy to setup efficient solution.
Solution described in chapter [HOWTO](#howto) is suitable for single node tasks, does not introduce virtual machine clustering.
Solution described in chapter [HOWTO][2] is suitable for single node tasks, does not introduce virtual machine clustering.
!!! note
Please consider virtualization as last resort solution for your needs.
......@@ -36,7 +36,7 @@ For running Windows application (when source code and Linux native application a
## Licensing
IT4Innovations does not provide any licenses for operating systems and software of virtual machines. Users are ( in accordance with [Acceptable use policy document](http://www.it4i.cz/acceptable-use-policy.pdf)) fully responsible for licensing all software running in virtual machines on Anselm. Be aware of complex conditions of licensing software in virtual environments.
IT4Innovations does not provide any licenses for operating systems and software of virtual machines. Users are (in accordance with [Acceptable use policy document][a]) fully responsible for licensing all software running in virtual machines on Anselm. Be aware of complex conditions of licensing software in virtual environments.
!!! note
Users are responsible for licensing OS e.g. MS Windows and all software running in their virtual machines.
......@@ -49,7 +49,7 @@ We propose this job workflow:
![Workflow](../../img/virtualization-job-workflow.png)
Our recommended solution is that job script creates distinct shared job directory, which makes a central point for data exchange between Anselm's environment, compute node (host) (e.g. HOME, SCRATCH, local scratch and other local or cluster file systems) and virtual machine (guest). Job script links or copies input data and instructions what to do (run script) for virtual machine to job directory and virtual machine process input data according instructions in job directory and store output back to job directory. We recommend, that virtual machine is running in so called [snapshot mode](virtualization/#snapshot-mode), image is immutable - image does not change, so one image can be used for many concurrent jobs.
Our recommended solution is that job script creates distinct shared job directory, which makes a central point for data exchange between Anselm's environment, compute node (host) (e.g. HOME, SCRATCH, local scratch and other local or cluster file systems) and virtual machine (guest). Job script links or copies input data and instructions what to do (run script) for virtual machine to job directory and virtual machine process input data according instructions in job directory and store output back to job directory. We recommend, that virtual machine is running in so called [snapshot mode][3], image is immutable - image does not change, so one image can be used for many concurrent jobs.
### Procedure
......@@ -77,11 +77,11 @@ You can convert your existing image using `qemu-img convert` command. Supported
We recommend using advanced QEMU native image format qcow2.
[More about QEMU Images](http://en.wikibooks.org/wiki/QEMU/Images)
More about QEMU Images [here][b].
### Optimize Image of Your Virtual Machine
Use virtio devices (for disk/drive and network adapter) and install virtio drivers (paravirtualized drivers) into virtual machine. There is significant performance gain when using virtio drivers. For more information see [Virtio Linux](http://www.linux-kvm.org/page/Virtio) and [Virtio Windows](http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers).
Use virtio devices (for disk/drive and network adapter) and install virtio drivers (paravirtualized drivers) into virtual machine. There is significant performance gain when using virtio drivers. For more information see [Virtio Linux][c] and [Virtio Windows][d].
Disable all unnecessary services and tasks. Restrict all unnecessary operating system operations.
......@@ -149,9 +149,7 @@ Example startup script maps shared job script as drive z: and looks for run scri
### Create Job Script for Executing Virtual Machine
Create job script according recommended
[Virtual Machine Job Workflow](#virtual-machine-job-workflow).
Create job script according recommended [Virtual Machine Job Workflow][4].
Example job for Windows virtual machine:
......@@ -203,7 +201,7 @@ Run script runs application from shared job directory (mapped as drive z:), proc
### Run Jobs
Run jobs as usual, see [Resource Allocation and Job Execution](salomon/job-submission-and-execution/). Use only full node allocation for virtualization jobs.
Run jobs as usual, see [Resource Allocation and Job Execution][1]. Use only full node allocation for virtualization jobs.
### Running Virtual Machines
......@@ -414,3 +412,13 @@ For Windows guests we recommend these options, life will be easier:
```console
$ qemu-system-x86_64 ... -localtime -usb -usbdevice tablet
```
[1]: ../../salomon/job-submission-and-execution.md
[2]: #howto
[3]: #snapshot-mode
[4]: #virtual-machine-job-workflow
[a]: http://www.it4i.cz/acceptable-use-policy.pdf
[b]: http://en.wikibooks.org/wiki/QEMU/Images
[c]: http://www.linux-kvm.org/page/Virtio
[d]: http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment