Inter-Process Communication in a Virtualized Environment

Total Page:16

File Type:pdf, Size:1020Kb

Inter-Process Communication in a Virtualized Environment Linköping University | Department of Computer and Information Science Bachelor thesis, 16 ECTS | Computer and Information Science 2018 | LIU-IDA/LITH-EX-G--18/044--SE Inter-Process Communication in a Virtualized Environment Inter Process Kommunikation inom en virtualiserad Miljö Filip Johansson Christoffer Lindstrom Supervisor : Erik Berglund Examiner : Anders Fröberg External supervisor : Krister Gindahl Linköpings universitet SE–581 83 Linköping +46 13 28 10 00 , www.liu.se Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under 25 år från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns lösningar av teknisk och admin- istrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sam- manhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/. Copyright The publishers will keep this document online on the Internet – or its possible replacement – for a period of 25 years starting from the date of publication barring exceptional circum- stances. The online availability of the document implies permanent permission for anyone to read, to download, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the con- sent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping Uni- versity Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: http://www.ep.liu.se/. c Filip Johansson Christoffer Lindstrom Thesis: Inter-Process Communication in a Virtualized Environment Filip Johansson Christoffer Lindstrom Linkoping University Linkoping University Linkoping, Sweden Linkoping, Sweden fi[email protected] [email protected] ABSTRACT components will suffer more of the load than others, which Selecting the correct inter-process communication method is will lead to certain components reaching their limit before an important aspect of ensuring effective inter-vm and inter- the remaining components. Currently, the solution is to add container process communication. We will conduct a study of a new node containing all the same components even though IPC methods which might be useful and fits the Qemu/KVM most of them are unnecessary at the time. virtual machine and Docker container environments, and se- To remedy this, Ericsson has decided to move certain compo- lect those that fit our criteria. After implementing our chosen nents to virtual environments and at the same time redesign methods we will benchmark them in a test suite to find the the components so they can be individually and dynamically ones with highest performance in terms of speed. Our results started or stopped, depending on the current load. While this show that, at the most common message sizes, Unix Domain will allow for easy scaling, it may also cause issues with the Sockets work best for containers and Transparent Inter Pro- communication between the components, mainly decreased cess Communication has the best performance between vir- data transfer rate and higher instability. tual machines out of the chosen methods. In order to maintain effective communication between the vir- INTRODUCTION tual components, we utilize a technique called Inter-Process A decade ago the most you did on your mobile-phone was to Communication. make calls and send text messages to your friends. Today, the 4G network is used for everything from making calls and tex- Purpose ting to streaming videos and playing multiplayer games. As The primary goal of this study is to provide a good choice a result, the amount of data a single user needs has increased of Inter-Process Communication for Ericsson, that can be uti- by a huge amount[1]. lized for effective inter-vm and inter-container communica- tion on a Linux host. Smart-phones, tablets and laptops all contribute to an in- creased pressure on the 4G network to handle all the data[1]. Research Approach As figure1 shows, video streaming is the largest consumer of The aim of this thesis is to evaluate different Inter-Process bandwidth by a large margin. All the while, more and more communication (hereafter called IPC) methods. Our research devices are developed with internet connectivity which places question is: a higher burden on a network that is not always designed for all of these devices. Which among our chosen IPC methods is the most effective, in regards to message rate and latency, when compared to Figure 1. Mobile traffic forecast from Ericsson Mobility Report 2017 TCP across: • Docker containers • Qemu/KVM virtual machines We will accomplish this by first conducting a study of what kind of IPC methods could be useful. Ericsson has provided a messaging framework called XCM with certain specifications that our methods must follow. The selected methods will be reduced down to the three best, where at least one method will be usable by a container and another by a virtual machine. We will then implement the methods in XCM and benchmark them in a test suite. Limitations Ericsson requested that we only look at IPC methods that Motivation suits Docker containers and virtual machines virtualized by A 4G node consists of a number of different components to Qemu/KVM. handle the connections. Depending on the traffic type some 1 THEORY Figure 2. Virtual Machine vs. Container Structure In this section we will present all the necessary information that you will need in order to understand the work we have done. Virtualization Virtualization technology has been around for a long time and it means to simulate a virtual environment with a certain hard- ware and software on your machine[2]. It could be that you want to use a specific application that does not run on your operating system and therefore you need a virtual machine or container to run it. Docker A popular method for isolating processes or setting up envi- ronments are containers, which is quite commonly used as an alternative to virtual machines. There are different versions of container tools but Dockers is the one that is most well known. whereas the Docker Engine is the process which builds and runs Docker images. Docker1 is a popular, open-source tool for automating the de- ployment of, mainly Linux, applications inside a container. There can be many advantages to using a virtual machine By utilizing namespaces, Docker is able to hide the rest of compared to running everything on a host machine, like bet- the operating system from the running application, effectively ter security and more efficient use of hardware resources[6]. isolating the container from the host and other containers. However, processes on different virtual machines that do not With the help of the control groups API provided by Docker exist on the same host will have a harder time communicating we can also limit the number of resources used by a con- with each other since they need to go over the network which tainer[3]. will incur overhead. Communication between processes on the same host on the other hand can also use the methods that Qemu/KVM induce overhead but it is inefficient[7]. This is why choos- To virtualize our environment we use Qemu2, a machine em- ing the correct inter-process communication method for your ulator and KVM3, a virtualization infrastructure. Qemu’s pri- system is important. mary usage is to run a different operating system on top of another operating system such as Linux on Windows or to Inter-Process Communication debug the system since it is easy to stop and inspect the vir- IPC is the collective name for methods which processes use tual machine as well as save and restore its state[4]. KVM to manage their shared data. Data is either communicated by itself does not provide a virtual machine but instead exposes using memory sharing, where processes have a shared mem- a KVM device node which can be used to create a virtual ory space they can utilize, or message passing. In message machine, allocate memory to it and run virtual CPUs[5]. passing there are two important concepts, blocking and non- Together they can be used to emulate virtual machines on a blocking message. A blocking message is where the process Linux operating system with a speed close to a physical ma- that sends the message will be blocked until it receives a re- chine which of course is the ideal. We want the separation and sponse and non-blocking is where the sender doesn’t need to efficient hardware utilization of a virtual machine but with the wait for a response to be able to continue to work[8]. same operating speeds as a normal host machine. The IPC methods4 vary greatly depending on the system re- Virtual Machines and Containers quirements. For example, Shared Memory cannot be used Like figure2 shows, while a virtual machine effectively to communicate between processes across two different hosts makes slices of the hardware to run a new operating system but is usually considered the fastest for local communication.
Recommended publications
  • Integrating On-Premises Core Infrastructure with Microsoft Azure
    Course 10992 • Microsoft Azure Integrating On-Premises Core Infrastructure with Microsoft Azure Length This 3-day, instructor-led workshop covers a range • 3 days of components, including Azure Compute, Azure Audience Storage, and network services that customers can • IT professionals who have used on- benefit from when deploying hybrid solutions. In premises virtualization technologies, including both this context, the term hybrid means integrating Hyper-V and VMware platforms, but who want to deploy, configure, infrastructure technologies that customers host in and administer services and virtual on-premises datacenters with Azure IaaS and PaaS machines in Azure • IT professionals who have used services. This course offers an overview of these Microsoft System Center to services, providing the knowledge necessary to manage and orchestrate an on- premises server infrastructure design hybrid solutions properly. It also includes • Windows and Linux administrators who are looking to evaluate and several demonstrations and labs that enable migrate on-premises workloads students to develop hands-on skills that are and services to the cloud • IT professionals who need to necessary when implementing such solutions. implement network connectivity between on-premises environments and services that Workshop Outline Azure or Microsoft Office 365 hosts • IT professionals who want to use Module 1: Introduction to Microsoft Azure Azure to increase the resiliency and • Overview of cloud computing and Azure agility of their on-premises • Overview of
    [Show full text]
  • A Practical UNIX Capability System
    A Practical UNIX Capability System Adam Langley <[email protected]> 22nd June 2005 ii Abstract This report seeks to document the development of a capability security system based on a Linux kernel and to follow through the implications of such a system. After defining terms, several other capability systems are discussed and found to be excellent, but to have too high a barrier to entry. This motivates the development of the above system. The capability system decomposes traditionally monolithic applications into a number of communicating actors, each of which is a separate process. Actors may only communicate using the capabilities given to them and so the impact of a vulnerability in a given actor can be reasoned about. This design pattern is demonstrated to be advantageous in terms of security, comprehensibility and mod- ularity and with an acceptable performance penality. From this, following through a few of the further avenues which present themselves is the two hours traffic of our stage. Acknowledgments I would like to thank my supervisor, Dr Kelly, for all the time he has put into cajoling and persuading me that the rest of the world might have a trick or two worth learning. Also, I’d like to thank Bryce Wilcox-O’Hearn for introducing me to capabilities many years ago. Contents 1 Introduction 1 2 Terms 3 2.1 POSIX ‘Capabilities’ . 3 2.2 Password Capabilities . 4 3 Motivations 7 3.1 Ambient Authority . 7 3.2 Confused Deputy . 8 3.3 Pervasive Testing . 8 3.4 Clear Auditing of Vulnerabilities . 9 3.5 Easy Configurability .
    [Show full text]
  • Efficient Inter-Core Communications on Manycore Machines
    ZIMP: Efficient Inter-core Communications on Manycore Machines Pierre-Louis Aublin Sonia Ben Mokhtar Gilles Muller Vivien Quema´ Grenoble University CNRS - LIRIS INRIA CNRS - LIG Abstract—Modern computers have an increasing num- nication mechanisms enabling both one-to-one and one- ber of cores and, as exemplified by the recent Barrelfish to-many communications. Current operating systems operating system, the software they execute increasingly provide various inter-core communication mechanisms. resembles distributed, message-passing systems. To sup- port this evolution, there is a need for very efficient However it is not clear yet how these mechanisms be- inter-core communication mechanisms. Current operat- have on manycore processors, especially when messages ing systems provide various inter-core communication are intended to many recipient cores. mechanisms, but it is not clear yet how they behave In this report, we study seven communication mech- on manycore processors. In this report, we study seven anisms, which are considered state-of-the-art. More mechanisms, that are considered state-of-the-art. We show that these mechanisms have two main drawbacks that precisely, we study TCP, UDP and Unix domain sock- limit their efficiency: they perform costly memory copy ets, pipes, IPC and POSIX message queues. These operations and they do not provide efficient support mechanisms are supported by traditional operating sys- for one-to-many communications. We do thus propose tems such as Linux. We also study Barrelfish message ZIMP, a new inter-core communication mechanism that passing, the inter-process communication mechanism of implements zero-copy inter-core message communications and that efficiently handles one-to-many communications.
    [Show full text]
  • D-Bus, the Message Bus System Training Material
    Maemo Diablo D-Bus, The Message Bus System Training Material February 9, 2009 Contents 1 D-Bus, The Message Bus System 2 1.1 Introduction to D-Bus ......................... 2 1.2 D-Bus architecture and terminology ................ 3 1.3 Addressing and names in D-Bus .................. 4 1.4 Role of D-Bus in maemo ....................... 6 1.5 Programming directly with libdbus ................. 9 1 Chapter 1 D-Bus, The Message Bus System 1.1 Introduction to D-Bus D-Bus (the D originally stood for "Desktop") is a relatively new inter process communication (IPC) mechanism designed to be used as a unified middleware layer in free desktop environments. Some example projects where D-Bus is used are GNOME and Hildon. Compared to other middleware layers for IPC, D-Bus lacks many of the more refined (and complicated) features and for that reason, is faster and simpler. D-Bus does not directly compete with low level IPC mechanisms like sock- ets, shared memory or message queues. Each of these mechanisms have their uses, which normally do not overlap the ones in D-Bus. Instead, D-Bus aims to provide higher level functionality, like: Structured name spaces • Architecture independent data formatting • Support for the most common data elements in messages • A generic remote call interface with support for exceptions (errors) • A generic signalling interface to support "broadcast" type communication • Clear separation of per-user and system-wide scopes, which is important • when dealing with multi-user systems Not bound to any specific programming language (while providing a • design that readily maps to most higher level languages, via language specific bindings) The design of D-Bus benefits from the long experience of using other mid- dleware IPC solutions in the desktop arena and this has allowed the design to be optimised.
    [Show full text]
  • Beej's Guide to Unix IPC
    Beej's Guide to Unix IPC Brian “Beej Jorgensen” Hall [email protected] Version 1.1.3 December 1, 2015 Copyright © 2015 Brian “Beej Jorgensen” Hall This guide is written in XML using the vim editor on a Slackware Linux box loaded with GNU tools. The cover “art” and diagrams are produced with Inkscape. The XML is converted into HTML and XSL-FO by custom Python scripts. The XSL-FO output is then munged by Apache FOP to produce PDF documents, using Liberation fonts. The toolchain is composed of 100% Free and Open Source Software. Unless otherwise mutually agreed by the parties in writing, the author offers the work as-is and makes no representations or warranties of any kind concerning the work, express, implied, statutory or otherwise, including, without limitation, warranties of title, merchantibility, fitness for a particular purpose, noninfringement, or the absence of latent or other defects, accuracy, or the presence of absence of errors, whether or not discoverable. Except to the extent required by applicable law, in no event will the author be liable to you on any legal theory for any special, incidental, consequential, punitive or exemplary damages arising out of the use of the work, even if the author has been advised of the possibility of such damages. This document is freely distributable under the terms of the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License. See the Copyright and Distribution section for details. Copyright © 2015 Brian “Beej Jorgensen” Hall Contents 1. Intro................................................................................................................................................................1 1.1. Audience 1 1.2. Platform and Compiler 1 1.3.
    [Show full text]
  • Virtualization Getting Started Guide
    Red Hat Enterprise Linux 7 Virtualization Getting Started Guide Introduction to virtualization technologies available with RHEL Last Updated: 2020-02-24 Red Hat Enterprise Linux 7 Virtualization Getting Started Guide Introduction to virtualization technologies available with RHEL Jiri Herrmann Red Hat Customer Content Services [email protected] Yehuda Zimmerman Red Hat Customer Content Services [email protected] Dayle Parker Red Hat Customer Content Services Laura Novich Red Hat Customer Content Services Jacquelynn East Red Hat Customer Content Services Scott Radvan Red Hat Customer Content Services Legal Notice Copyright © 2019 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
    [Show full text]
  • Fortianalyzer VM Install Guide This Document, Which Describes Installing Fortianalyzer VM in Your Virtual Environment
    FortiAnalyzer VM - Install Guide VERSION 5.4 FORTINET DOCUMENT LIBRARY http://docs.fortinet.com FORTINET VIDEO GUIDE http://video.fortinet.com FORTINET BLOG https://blog.fortinet.com CUSTOMER SERVICE & SUPPORT https://support.fortinet.com FORTIGATE COOKBOOK http://cookbook.fortinet.com FORTINET TRAINING SERVICES http://www.fortinet.com/training FORTIGUARD CENTER http://www.fortiguard.com END USER LICENSE AGREEMENT http://www.fortinet.com/doc/legal/EULA.pdf FEEDBACK Email: [email protected] May 18, 2017 FortiAnalyzer VM 5.4 Install Guide 05-540-309958-20170518 TABLE OF CONTENTS Change Log 5 Introduction 6 FortiAnalyzer documentation 6 License and System Requirements 7 Licensing 7 Evaluation license 7 Minimum system requirements 8 Registration and Deployment 9 Register with Customer Service & Support 9 Deployment package 11 Deployment package contents 12 Deploying the appliance 13 Citrix XenServer deployment example 14 Create the virtual machine 14 Configure hardware settings 15 Start the virtual machine 17 Hyper-V deployment example 18 Create the virtual machine 18 Configure hardware settings 19 Start the virtual machine 23 KVM deployment example 24 Create the virtual machine 24 Configure hardware settings 26 Start the virtual machine 27 Open Xen deployment example 28 Create and configure the virtual machine 28 VMware deployment example 31 VMware vSphere 31 Deploy the OVF file 31 Configure hardware settings 34 Power on the virtual machine 35 Azure deployment example 37 Deploy the virtual machine 37 AWS deployment example 39 AWS Marketplace 1-Click Launch 39 AWS EC2 console 41 Initial Configuration 46 GUI access 46 Enable GUI access 46 Connect to the GUI 47 Upload the license file 48 Configure your FortiAnalyzer VM 48 Index 50 Change Log Change Log Date Change Description 2016-03-17 Initial release.
    [Show full text]
  • KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St
    St. Cloud State University theRepository at St. Cloud State Culminating Projects in Information Assurance Department of Information Systems 5-2018 KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St. Cloud State University, [email protected] Follow this and additional works at: https://repository.stcloudstate.edu/msia_etds Recommended Citation Pasunuru, Srinath Reddy, "KVM Based Virtualization and Remote Management" (2018). Culminating Projects in Information Assurance. 53. https://repository.stcloudstate.edu/msia_etds/53 This Starred Paper is brought to you for free and open access by the Department of Information Systems at theRepository at St. Cloud State. It has been accepted for inclusion in Culminating Projects in Information Assurance by an authorized administrator of theRepository at St. Cloud State. For more information, please contact [email protected]. 1 KVM Based Virtualization and Remote Management by Srinath Reddy Pasunuru A Starred Paper Submitted to the Graduate Faculty of St. Cloud State University in Partial Fulfillment of the Requirements for the Degree Master of Science in Information Assurance May, 2018 Starred Paper Committee Susantha Herath, Chairperson Ezzat Kirmani Sneh Kalia 2 Abstract In the recent past, cloud computing is the most significant shifts and Kernel Virtual Machine (KVM) is the most commonly deployed hypervisor which are used in the IaaS layer of the cloud computing systems. The Hypervisor is the one which provides the complete virtualization environment which will intend to virtualize as much as hardware and systems which will include the CPUs, Memory, network interfaces and so on. Because of the virtualization technologies such as the KVM and others such as ESXi, there has been a significant decrease in the usage if the resources and decrease in the costs involved.
    [Show full text]
  • Message Passing Model
    Message Passing Model Giuseppe Anastasi [email protected] Pervasive Computing & Networking Lab. (PerLab) Dept. of Information Engineering, University of Pisa PerLab Based on original slides by Silberschatz, Galvin and Gagne Overview PerLab Message Passing Model Addressing Synchronization Example of IPC systems Message Passing Model 2 Operating Systems Objectives PerLab To introduce an alternative solution (to shared memory) for process cooperation To show pros and cons of message passing vs. shared memory To show some examples of message-based communication systems Message Passing Model 3 Operating Systems Inter-Process Communication (IPC) PerLab Message system – processes communicate with each other without resorting to shared variables. IPC facility provides two operations: send (message ) – fixed or variable message size receive (message ) If P and Q wish to communicate, they need to: establish a communication link between them exchange messages via send/receive The communication link is provided by the OS Message Passing Model 4 Operating Systems Implementation Issues PerLab Physical implementation Single-processor system Shared memory Multi-processor systems Hardware bus Distributed systems Networking System + Communication networks Message Passing Model 5 Operating Systems Implementation Issues PerLab Logical properties Can a link be associated with more than two processes? How many links can there be between every pair of communicating processes? What is the capacity of a link? Is the size of a message that the link can accommodate fixed or variable? Is a link unidirectional or bi-directional? Message Passing Model 6 Operating Systems Implementation Issues PerLab Other Aspects Addressing Synchronization Buffering Message Passing Model 7 Operating Systems Overview PerLab Message Passing Model Addressing Synchronization Example of IPC systems Message Passing Model 8 Operating Systems Direct Addressing PerLab Processes must name each other explicitly.
    [Show full text]
  • Message Passing
    COS 318: Operating Systems Message Passing Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Sending A Message Within A Computer Across A Network P1 P2 Send() Recv() Send() Recv() Network OS Kernel OS OS COS461 2 Synchronous Message Passing (Within A System) Synchronous send: u Call send system call with M u send system call: l No buffer in kernel: block send( M ) recv( M ) l Copy M to kernel buffer Synchronous recv: u Call recv system call M u recv system call: l No M in kernel: block l Copy to user buffer How to manage kernel buffer? 3 API Issues u Message S l Buffer (addr) and size l Message type, buffer and size u Destination or source send(dest, msg) R l Direct address: node Id, process Id l Indirect address: mailbox, socket, recv(src, msg) channel, … 4 Direct Addressing Example Producer(){ Consumer(){ ... ... while (1) { for (i=0; i<N; i++) produce item; send(Producer, credit); recv(Consumer, &credit); while (1) { send(Consumer, item); recv(Producer, &item); } send(Producer, credit); } consume item; } } u Does this work? u Would it work with multiple producers and 1 consumer? u Would it work with 1 producer and multiple consumers? u What about multiple producers and multiple consumers? 5 Indirect Addressing Example Producer(){ Consumer(){ ... ... while (1) { for (i=0; i<N; i++) produce item; send(prodMbox, credit); recv(prodMbox, &credit); while (1) { send(consMbox, item); recv(consMbox, &item); } send(prodMbox, credit); } consume item; } } u Would it work with multiple producers and 1 consumer? u Would it work with 1 producer and multiple consumers? u What about multiple producers and multiple consumers? 6 Indirect Communication u Names l mailbox, socket, channel, … u Properties l Some allow one-to-one mbox (e.g.
    [Show full text]
  • Ovirt and Docker Integration
    oVirt and Docker Integration October 2014 Federico Simoncelli Principal Software Engineer – Red Hat oVirt and Docker Integration, Oct 2014 1 Agenda ● Deploying an Application (Old-Fashion and Docker) ● Ecosystem: Kubernetes and Project Atomic ● Current Status of Integration ● oVirt Docker User-Interface Plugin ● “Dockerized” oVirt Engine ● Docker on Virtualization ● Possible Future Integration ● Managing Containers as VMs ● Future Multi-Purpose Data Center oVirt and Docker Integration, Oct 2014 2 Deploying an Application (Old-Fashion) ● Deploying an instance of Etherpad # yum search etherpad Warning: No matches found for: etherpad No matches found $ unzip etherpad-lite-1.4.1.zip $ cd etherpad-lite-1.4.1 $ vim README.md ... ## GNU/Linux and other UNIX-like systems You'll need gzip, git, curl, libssl develop libraries, python and gcc. *For Debian/Ubuntu*: `apt-get install gzip git-core curl python libssl-dev pkg- config build-essential` *For Fedora/CentOS*: `yum install gzip git-core curl python openssl-devel && yum groupinstall "Development Tools"` *For FreeBSD*: `portinstall node, npm, git (optional)` Additionally, you'll need [node.js](http://nodejs.org) installed, Ideally the latest stable version, be careful of installing nodejs from apt. ... oVirt and Docker Integration, Oct 2014 3 Installing Dependencies (Old-Fashion) ● 134 new packages required $ yum install gzip git-core curl python openssl-devel Transaction Summary ================================================================================ Install 2 Packages (+14 Dependent
    [Show full text]
  • ZERTO VIRTUAL REPLICATION - PREREQUISITES & REQUIREMENTS for MICROSOFT HYPER-V ENVIRONMENTS ZVR-REH-5.5U3 Rev01 Dec2017
    ZERTO VIRTUAL REPLICATION - PREREQUISITES & REQUIREMENTS FOR MICROSOFT HYPER-V ENVIRONMENTS ZVR-REH-5.5U3 Rev01 Dec2017 Zerto Virtual Replication is installed in a site with virtual machines to be protected as well as in the site where these virtual machines will be recovered. This document describes Zerto Virtual Replication - Prerequisites and Requirements for Microsoft Hyper-V Environments. For the requirements of VMware, Microsoft Azure or AWS protected sites, go to myZerto > Technical Documentation portal. ■ The Zerto Virtual Replication installation includes: ■ A Zerto Virtual Manager (ZVM): This is a Windows service, and manages replication at the site level. ■ A Virtual Replication Appliance (VRA): This is a virtual machine installed on each Hyper-V host to move the data to be replicated from the protected to the recovery site. ■ A Virtual Backup Appliance (VBA): This is a Windows service and manages offsite backups within Zerto Virtual Replication on each site. The VBA service runs on the same machine as the Zerto Virtual Manager service. ■ Zerto Virtual Replication can be installed at multiple sites and each site can be paired to any other site. ■ Each site is managed with the Zerto User Interface. ■ Zerto Virtual Replication also supports both the protected and recovery sites being managed by one SCVMM, for small branch offices. For example, from one datacenter to another datacenter, both managed by the same SCVMM. See the following sections: ■ “For Each Zerto Virtual Replication Hyper-V Site”, on page 1 ■ “Considerations and Guidelines”, on page 2 ■ “For Virtual Replication Appliances on the Hyper-V Host”, on page 3 ■ “Routable Networks”, on page 3 ■ “Minimum Bandwidth”, on page 3 ■ “Requirements for the Zerto Virtual Manager Web Client”, on page 3 ■ “Recommended Best Practices for the Zerto Virtual Replication Hyper-V Site”, on page 4 ■ “Open Firewall Ports for Hyper-V Environments”, on page 5 For Each Zerto Virtual Replication Hyper-V Site ■ Microsoft System Center 2012 R2, or 2016 with VMM (SCVMM) and at least one Hyper-V host.
    [Show full text]