<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/">
  <channel>
    <title>Virtualization</title>
    <link>https://www.linuxjournal.com/</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Userspace Networking with DPDK</title>
  <link>https://www.linuxjournal.com/content/userspace-networking-dpdk</link>
  <description>  &lt;div data-history-node-id="1339853" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/rami-rosen" lang="" about="https://www.linuxjournal.com/users/rami-rosen" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Rami Rosen&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
DPDK is a fully open-source project that operates in userspace.
It's a multi-vendor and multi-architecture project, and it aims at achieving high 
I/O performance and reaching high packet processing rates, which are
some of the most important features in the networking arena. It was created by
Intel in 2010 and moved to the Linux Foundation
in April 2017. This move positioned it as one of the most dominant and most
important open-source Linux projects. DPDK was created for the
telecom/datacom infrastructure, but today, it's used almost everywhere, including
the cloud, data centers, appliances, containers and more. In this article, I present a
high-level overview of the project and discuss features that were released
in DPDK 17.08 (August 2017).
&lt;/p&gt;

&lt;p&gt;
Undoubtedly, a lot of effort in many networking projects is geared toward achieving high speed and high performance. Several
factors contribute to achieving this goal with DPDK.
One is that DPDK is a userspace application that bypasses the heavy
layers of the Linux kernel networking stack and talks directly to the network hardware.
Another factor is usage of memory hugepages. By using hugepages (of 2MB or 1GB in 
size), a smaller number of memory pages is needed than when using standard
memory pages (which in many platforms are 4k in size). As a result, the
number of Translation Lookaside Buffers (TLBs) misses is reduced significantly,
and performance is increased. Yet another factor is that low-level
optimizations are done in the code, some of them related to
memory cache line alignment, aiming at achieving optimal cache use, prefetching and so on.
(Delving into the technical details of those optimizations is outside
the scope of this article.)
&lt;/p&gt;

&lt;p&gt;
DPDK has gained popularity in recent years, and it's used in many open-source
projects. Many Linux distributions
(Fedora, Ubuntu and others) have included DPDK support in their packaging
systems as well.
&lt;/p&gt;
&lt;p&gt;
The core DPDK ingredients are libraries and drivers, also known as Poll Mode
Drivers (PMDs). There are more than 35 libraries at the time of this writing. These libraries abstract
away the low-level implementation details, which provides flexibility as each vendor
implements its own low-level layers.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/userspace-networking-dpdk" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 23 Apr 2018 12:07:07 +0000</pubDate>
    <dc:creator>Rami Rosen</dc:creator>
    <guid isPermaLink="false">1339853 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>FOSS Project Spotlight: Ravada</title>
  <link>https://www.linuxjournal.com/content/foss-project-spotlight-ravada</link>
  <description>  &lt;div data-history-node-id="1339770" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/francesc-guasch" lang="" about="https://www.linuxjournal.com/users/francesc-guasch" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Francesc Guasch&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
&lt;a href="http://ravada.upc.edu"&gt;Ravada&lt;/a&gt; is an open-source project that allows users to connect to a
virtual desktop.
&lt;/p&gt;


&lt;p&gt;
Currently, it supports KVM, but its back end has been designed and
implemented in order to allow future hypervisors to be added to the
framework. The client's only requirements are a web-browser and a remote
viewer supporting the spice protocol.
&lt;/p&gt;

&lt;p&gt;
Ravada's main features include:
&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;
KVM back end.
&lt;/li&gt;

&lt;li&gt;
LDAP and SQL authentication.
&lt;/li&gt;

&lt;li&gt;
Kiosk mode.
&lt;/li&gt;

&lt;li&gt;
Remote access for Windows and Linux.
&lt;/li&gt;

&lt;li&gt;
Light and fast virtual machine clones for each user.
&lt;/li&gt;

&lt;li&gt;
Instant clone creation.
&lt;/li&gt;

&lt;li&gt;
USB redirection.
&lt;/li&gt;

&lt;li&gt;
Easy and customizable end-user interface (i18n, l10n).
&lt;/li&gt;

&lt;li&gt;
Administration from a web browser.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
It's very easy to install and use. Following the documentation, virtual
machines can be deployed in minutes. It's an early release, but it's
already used
in production. The project is open source, and you can download the code
from &lt;a href="https://github.com/UPC/ravada"&gt;GitHub&lt;/a&gt;. Contributions welcome!
&lt;/p&gt;

&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/available.png" width="500" height="357" alt="choose a screen" class="image-max_650x650" /&gt;&lt;img src="https://www.linuxjournal.com/sites/default/files/styles/max_650x650/public/u%5Buid%5D/xlistVM.png.pagespeed.ic_.eM_yw6LyQe.png" width="622" height="480" alt="List of virtual machines" class="image-max_650x650" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/foss-project-spotlight-ravada" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 13 Apr 2018 18:48:24 +0000</pubDate>
    <dc:creator>Francesc Guasch</dc:creator>
    <guid isPermaLink="false">1339770 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Kodiak Data's MemCloud</title>
  <link>https://www.linuxjournal.com/content/kodiak-datas-memcloud</link>
  <description>  &lt;div data-history-node-id="1339452" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/james-gray" lang="" about="https://www.linuxjournal.com/users/james-gray" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;James Gray&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Scientists working with big data regularly confront the high cost 
of acquiring the computational power needed to push the boundaries
and innovate in data science. In an effort to bridge the Big Data
infrastructure chasm, Kodiak Data—a leader in cluster virtualization
technology—presents &lt;a href="http://www.memcloud.works"&gt;MemCloud&lt;/a&gt;, an
 innovative IaaS solution that accelerates the entire big data-deployment
chain. 
&lt;/p&gt;

&lt;p&gt;
MemCloud is also "the first memory-speed cloud infrastructure
solution for big data scientists and software developers"
that provides big data analytic clusters "at up to one-fifth
the cost and five times the performance of typical leading cloud
hosting services". MemCloud is built on Kodiak Data's Virtual
Cluster Infrastructure platform, "the only solution capable of
in-software provisioning of compute, networking, storage and data at
the cluster level within minutes". 
&lt;/p&gt;

&lt;p&gt;
Besides the hosted cloud
service option, MemCloud also is available as a compact on-premises
appliance for private clouds, an industry first, asserts Kodiak.
&lt;/p&gt;
&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/12202f8.png" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/kodiak-datas-memcloud" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 04 Aug 2017 15:30:56 +0000</pubDate>
    <dc:creator>James Gray</dc:creator>
    <guid isPermaLink="false">1339452 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>CloudBees, Inc.'s CloudBees Jenkins Enterprise</title>
  <link>https://www.linuxjournal.com/content/cloudbees-incs-cloudbees-jenkins-enterprise</link>
  <description>  &lt;div data-history-node-id="1339402" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/james-gray" lang="" about="https://www.linuxjournal.com/users/james-gray" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;James Gray&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Modern IT departments are adopting continuous delivery (CD) and automating
software pipelines to accelerate and scale their software development
and delivery across environments. This means that CD platforms are now
business-critical and need to be scalable, secure, stable and reliable. To
address these requirements, &lt;a href="http://cloudbees.com"&gt;CloudBees, Inc.&lt;/a&gt;, developed CloudBees Jenkins
Enterprise, a new unified CD platform offering that allows enterprises to
achieve CD for their entire software portfolio, securely and in a manner
that handles a large volume of projects.
&lt;/p&gt;

&lt;p&gt;
CloudBees Jenkins Enterprise
is based on Docker container technology and architected from the ground
up to allow for scale and failure backup. It can run anywhere, including
public cloud or private cloud, virtual environments (VMware vSphere),
Red Hat Enterprise Linux and from legacy to container-based technology.
&lt;/p&gt;
&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/12173f7.png" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
CloudBees warns that most continuous delivery solutions focus on a
specific technology stack or process, leading to the deployment of
multiple competing or overlapping solutions lacking holistic support
of the enterprise-wide IT delivery processes. In contrast, CloudBees
Jenkins Enterprise leverages Jenkins' 1,200+ extensions and is the
only solution on the market that makes it possible for enterprises to
have a unified view across their entire software portfolio. As a result,
it is possible to evaluate how teams are progressing in their adoption
of DevOps, continuous delivery and ultimately time-to-market goals.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/cloudbees-incs-cloudbees-jenkins-enterprise" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 05 Jun 2017 10:35:52 +0000</pubDate>
    <dc:creator>James Gray</dc:creator>
    <guid isPermaLink="false">1339402 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>FinTech and SAP HANA</title>
  <link>https://www.linuxjournal.com/content/fintech-and-sap-hana</link>
  <description>  &lt;div data-history-node-id="1339339" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/ted-schmidt" lang="" about="https://www.linuxjournal.com/users/ted-schmidt" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Ted Schmidt&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;During the past few years, FinTech has emerged as a startup realm that is growing astronomically. In 2015, the EU alone experienced a growth of investment in FinTech of more than 215%, according to a report by Accenture. This new and disruptive technology scene is not only introducing new sectors, such as mobile payments and crowdsourcing, but it is completely disrupting legacy sectors, such as funds transfers and loans, areas traditionally held by big banks.
&lt;p&gt;
&lt;/p&gt;
Although it may be more convenient to split the dinner check with a friend on your mobile device or to receive funding for a new venture in a matter of weeks versus the more traditional months it might take to secure a bank loan, when 40% of the London workforce is composed of financial and technology services, what are the implications of this emerging and highly disruptive technology? 
&lt;p&gt;
&lt;/p&gt;
To start, small-to-medium enterprises now can offer financial services at a much smaller price than ever before, which creates a virtual cornucopia of opportunities. Since throttling access to financial data is not a viable, long-term strategy for banks, they ultimately will be forced into making a choice of whether to buy these startups or build their own in-house solutions to compete. Either way, massive amounts of data are being generated, and big banks need to figure out a way to manage both customer and regulatory demands. 
&lt;p&gt;
&lt;/p&gt;
&lt;a href="https://bs.serving-sys.com/serving/adServer.bs?cn=trd&amp;mc=click&amp;pli=20803258&amp;PluID=0&amp;ord=[timestamp]"&gt;&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u800391/SAP%20HANA%20banners_ds_4d-4_300x250.jpg" alt="SAP HANA" title="IBM" class="imagecache-large-550px-centered" /&gt;&lt;/a&gt;&lt;img src="https://bs.serving-sys.com/serving/adServer.bs?cn=display&amp;c=19&amp;mc=imp&amp;pli=20803258&amp;PluID=0&amp;ord=[timestamp]&amp;rtu=-1" /&gt;&lt;p&gt;
&lt;/p&gt;
Given these challenges, a model for big banks planning for a competitive future, Commerzbank, one of the largest banks in Germany, recently launched a FinTech incubator, which was the first of its kind in continental Europe. Not only does the incubator offer capital to FinTech startups, but it also offers access to Commerzbank customers (private and corporate), venture capital, banking expertise and IT infrastructure.
&lt;p&gt;
&lt;/p&gt;
Along these same lines of innovative thinking, Commerzbank recently implemented SAP HANA to help accelerate its closing processes and ensure regulatory compliance. With the bulk of its balance sheet now running on SAP Bank Analyzer and SAP Accounting for Financial Instruments (both running on SAP HANA), Commerzbank has digitized all its lines of business, including investment, commercial and retail banking, and at the same time is able to close its books much faster.
&lt;p&gt;
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/fintech-and-sap-hana" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 24 Mar 2017 12:39:10 +0000</pubDate>
    <dc:creator>Ted Schmidt</dc:creator>
    <guid isPermaLink="false">1339339 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>The Tiny Internet Project, Part III</title>
  <link>https://www.linuxjournal.com/content/tiny-internet-project-part-iii</link>
  <description>  &lt;div data-history-node-id="1339243" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/john-s-tonello" lang="" about="https://www.linuxjournal.com/users/john-s-tonello" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;John S. Tonello&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
In a previous article, I &lt;a href="http://www.linuxjournal.com/content/tiny-internet-project-part-i"&gt;introduced 
the Tiny Internet Project&lt;/a&gt;, a
self-contained Linux project that shows you how to build key pieces
of the internet on a single computer using virtualization software,
a router and free open-source applications. In the &lt;a href="http://www.linuxjournal.com/content/tiny-internet-project-part-ii"&gt;second 
installment&lt;/a&gt;,
I explained how to set up the host server using Proxmox and build a first basic Ubuntu
14.04 virtual machine. In this third installment, you'll learn how to
set up an Ubuntu mirror, a DNS server, a mail server and a web server.
&lt;/p&gt;

&lt;p&gt;
As you finished with &lt;a href="http://www.linuxjournal.com/content/tiny-internet-project-part-ii"&gt;Part 
II&lt;/a&gt;, you hopefully had just booted a raw Ubuntu 14.04 server
VM. Now, I'll describe how to customize that VM with some user accounts and software,
keeping it fairly generic, but ready to become a template for most
everything else you'll build.
&lt;/p&gt;

&lt;p&gt;
Initially, you'll do all your work from the Proxmox web interface on
your Proxmox server: https://10.128.1.2:8006.
&lt;/p&gt;

&lt;p&gt;
Log in and start the Ubuntu VM you made, which probably was named "100
(ubuntu)". Wait a moment for it to boot, and click the Proxmox Console
button to launch what is essentially a web-based terminal.
&lt;/p&gt;
&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/12056f1.png" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
&lt;strong&gt;Figure 1. Ubuntu Installation Screen—Selecting Your
Language&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
When the shell opens, you'll see the Ubuntu installation screens. Select
your language and choose "Install Ubuntu Server" from the action
list. You'll be prompted again for language choices and keyboard layouts;
choose the ones that suit your needs. The installer will detect your
network and prompt you to enter a hostname.
&lt;/p&gt;
&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/12056f2.png" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
&lt;strong&gt;Figure 2. Entering a Hostname&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Since you'll be making this VM a template, give the machine a generic
hostname like "ubuntu". That way, if you later deploy a different type
of server (say, ArchLinux), you'll easily be able to tell them apart.
&lt;/p&gt;

&lt;p&gt;
When
you're asked to create a user name, choose something that follows a naming
convention you can use for all future users, such as your first initial
and your full last name. Then when you need to figure out user
names (and email addresses) later, you won't have to guess.
&lt;/p&gt;
&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/12056f3.png" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
&lt;strong&gt;Figure 3. Selecting a User Name&lt;/strong&gt;
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/tiny-internet-project-part-iii" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 22 Dec 2016 16:43:18 +0000</pubDate>
    <dc:creator>John S. Tonello</dc:creator>
    <guid isPermaLink="false">1339243 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>The Tiny Internet Project, Part II</title>
  <link>https://www.linuxjournal.com/content/tiny-internet-project-part-ii</link>
  <description>  &lt;div data-history-node-id="1339222" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/john-s-tonello" lang="" about="https://www.linuxjournal.com/users/john-s-tonello" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;John S. Tonello&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
In the May 2016 issue (also available &lt;a href="http://www.linuxjournal.com/content/tiny-internet-project-part-i"&gt;here&lt;/a&gt;), I introduced the idea of the Tiny Internet Project,
a self-contained Linux project that shows how to build the key pieces of
the public internet on a single computer using one or two old computers,
a router and a bunch of Linux software. In this second part, you'll
learn how to build the virtual-machine host—using Proxmox—and
deploy your first server. In Part III (coming soon), you'll build a template
to make DNS and email hosts, a website and a Linux distribution mirror.
&lt;/p&gt;

&lt;p&gt;
You'll need two separate computers for this project. This first is your
"administration PC". It's any desktop or laptop with network access, a
graphical browser (like Firefox or Chrome) and at least one USB port. The
second machine will become your virtual machine host.
&lt;/p&gt;

&lt;p&gt;
The central idea is to build a sort of internet-in-a-box with common
Linux servers and use the setup to teach young people or newcomers about
Linux. Using virtualization software, you'll deploy several servers that
will handle domain names, email, web pages and more—all on a single
piece of hardware. You don't need anything new or fancy. I built the
prototype on a six-year-old Velocity Micro desktop with an Intel i3
processor, 8GB of RAM, two network cards and a couple 1TB drives.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
Choosing Your Hardware&lt;/span&gt;

&lt;p&gt;
First off, you need a computer that supports virtualization—meaning
its BIOS, 64-bit-capable CPU and motherboard allow you to share all
the system's resources with virtual machines that will run on it.
You may have experimented with VirtualBox
or even free versions of VMware's ESXi software. The idea here is the same:
place a number of virtual servers on a single physical machine and share
all of that physical machine's resources, including memory, CPU and drives.
&lt;/p&gt;

&lt;p&gt;
The Linux version is called KVM for Kernel-based Virtual Machine. For this
project, you'll
use a pre-compiled version called Proxmox, which comes with everything
you need.
&lt;/p&gt;

&lt;p&gt;
To see if the computer you have in mind can become a Proxmox server,
you'll need to check whether it supports virtualization. Graphical tools are
available for Windows, Linux or Mac OS X, and if you've got a machine
with no operating system installed, you can boot it from a USB or CD
drive using any flavor of Linux to test it. See the Resources section
at the end of this article to learn how to do that.
&lt;/p&gt;

&lt;p&gt;
On Windows, you can learn a lot from the main Computer
properties. Right-click on Computer (on the desktop or Start menu), and
look at the lower part of the window, which will look something like Figure
1.
&lt;/p&gt;
&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/12046f1.jpg" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
&lt;strong&gt;Figure 1. Windows Computer Properties&lt;/strong&gt;
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/tiny-internet-project-part-ii" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 17 Nov 2016 12:04:15 +0000</pubDate>
    <dc:creator>John S. Tonello</dc:creator>
    <guid isPermaLink="false">1339222 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Installing and Running a Headless Virtualization Server</title>
  <link>https://www.linuxjournal.com/content/installing-and-running-headless-virtualization-server</link>
  <description>  &lt;div data-history-node-id="1339197" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/petros-koutoupis" lang="" about="https://www.linuxjournal.com/users/petros-koutoupis" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Petros Koutoupis&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
In recent years, hardware virtualization has become commonplace in the
computing industry and more available to end users. The
idea behind it is a noble one. Why invest in allocating more server
hardware and not utilize it to its full potential, when instead you can
consolidate it all onto one or a few servers and share their resources?
&lt;/p&gt;

&lt;p&gt;
In this article, I focus on full hardware virtualization. This refers
to the creation of a virtual machine with enough simulated hardware
to act like a real computer with its own operating system. In turn,
this virtual machine, or virtual guest, is enabled and running on top of
a host machine. The software that controls virtualization is called the
hypervisor. The hypervisor runs on the host machine.
&lt;/p&gt;

&lt;p&gt;
Virtualization typically is used to consolidate hardware servers, reduce
energy consumption, simplify server management and ease
migration/recovery (in the situation of a failure). It sometimes is accomplished
with hardware that needs to be accessed remotely, as the hardware may
reside in what may not be a local data center. With that in mind, the
hardware's operating system also may be configured without a graphical
environment (meaning one that also includes a lack of attached monitor and
input devices). This commonly is referred to as running headless. This
article assumes that you have Secure Shell or SSH access to what will
become the host machine.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
Preparation&lt;/span&gt;

&lt;p&gt;
Prior to configuring the virtual machines, install the appropriate packages
from your distribution's package repository. These packages include
the libvirt library that provides a simple virtualization API, client-side utilities to access the library and manage the virtual machines,
a Python virtual machine installer utility and the userspace components
to the kernel-based virtual machine (KVM).
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Note: libvirt is an open-source API, dæmon and management utility for
managing platform virtualization.
KVM is a virtualization infrastructure that
turns the Linux kernel
into a hypervisor. It requires a processor with hardware virtualization
extensions.&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Depending on your distribution, the package names may differ. On Red
Hat/CentOS, they are labeled as libvirt, libvirt-client, python-virtinst and
qemu-kvm. On Debian/Ubuntu, they are labeled as libvirt, libvirt-bin,
python-virtinst and qemu-kvm.
&lt;/p&gt;

&lt;p&gt;
Enable the libvirt dæmon to run on all appropriate runlevels at system
boot up and manually start the service:

&lt;/p&gt;&lt;pre&gt;
&lt;code&gt;
$ sudo /sbin/chkconfig libvirtd on
$ sudo /sbin/service libvirtd start
Starting libvirtd daemon:                   [  OK  ]
&lt;/code&gt;
&lt;/pre&gt;


&lt;p&gt;
View the status of the dæmon and validate that it is running:

&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/installing-and-running-headless-virtualization-server" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Tue, 25 Oct 2016 11:06:30 +0000</pubDate>
    <dc:creator>Petros Koutoupis</dc:creator>
    <guid isPermaLink="false">1339197 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>The Tiny Internet Project, Part I</title>
  <link>https://www.linuxjournal.com/content/tiny-internet-project-part-i</link>
  <description>  &lt;div data-history-node-id="1339172" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/john-s-tonello" lang="" about="https://www.linuxjournal.com/users/john-s-tonello" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;John S. Tonello&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
As &lt;em&gt;LJ&lt;/em&gt; readers well know, Linux drives many of the
technologies we use every day, from smart TVs to Web servers. Linux is
everywhere—&lt;em&gt;except&lt;/em&gt; most homes and classrooms.
&lt;/p&gt;

&lt;p&gt;
That's a problem if we want to help breed the next generation of engineers
and computer scientists. In fact, if teenagers (or any other group of
curious individuals) want to learn about Linux, they often must rely on
a geeky friend or parent willing to show them the way.
&lt;/p&gt;

&lt;p&gt;
This three-part series seeks to change that by offering a way for
anyone to learn about Linux by building what is essentially a tiny,
self-contained Internet. Using old equipment and free software, you'll
build a private network (with your own domain name), build Web sites,
set up an e-mail server, install and use a database, and set up a Linux
distro mirror.
&lt;/p&gt;

&lt;p&gt;
If you like to learn by doing, but you're intimidated by the thick Linux
texts you find at the bookstore, this Tiny Internet Project is for
you. If you're a teacher interested in bringing Linux to the classroom,
this is a great way to do it.
&lt;/p&gt;

&lt;p&gt;
At the core of the project is a Proxmox KVM environment. KVM, or
kernel-based virtual machine, is an open-source alternative to often
costly VM technology like VMware and Hyper-V. You'll use Proxmox to host
several Ubuntu 14.04 servers (or other Linux flavors), connect them over
a private network and learn a lot about Linux along the way.
&lt;/p&gt;
&lt;img src="http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/11952f1.jpg" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
&lt;strong&gt;Figure 1. Proxmox&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
The Tiny Internet Project assumes you have some basic computer skills
(Windows, Mac or Linux), that you have a couple computers lying around
and that you have some time to tinker. The project can be done in whole
or in part, depending on your interests and needs. It's particularly
designed for educators who want to introduce school-aged kids to Linux.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
What You'll Be Building&lt;/span&gt;

&lt;p&gt;
You'll be using open-source software for everything in this project,
so everything you need will be free to download and use. You'll also
take advantage of virtualization technology, which will enable you to
deploy a bunch of virtual machines. In all, you'll deploy:
&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;
&lt;p&gt;
The Proxmox server to host all your virtual machines.
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;
Two DNS servers, a primary and a secondary.
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;
An e-mail server.
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;
One or more Web servers.
&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;
An Ubuntu 14.04 repository mirror.
&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/tiny-internet-project-part-i" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 29 Sep 2016 10:00:00 +0000</pubDate>
    <dc:creator>John S. Tonello</dc:creator>
    <guid isPermaLink="false">1339172 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Vagrant Simplified</title>
  <link>https://www.linuxjournal.com/content/vagrant-simplified</link>
  <description>  &lt;div data-history-node-id="1338833" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/shawn-powers" lang="" about="https://www.linuxjournal.com/users/shawn-powers" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Shawn Powers&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
I admit it, some tools confuse me. I know they must be amazing, because
programs don't get popular by being dumb (well, reality TV, but that's
another story). I have the same sort of confusion with Vagrant that I
have with Wine, Docker, Chef and countless other amazing tools people
constantly rave about. So in this article, I'm going to break down Vagrant into
its simplest form.
&lt;/p&gt;

&lt;p&gt;
Don't get me wrong, I could follow along with the tutorials and get a
virtual machine running by typing the magic &lt;code&gt;vagrant
up&lt;/code&gt; command. The
thing is, I really don't like magic when it comes to computers. I like
to know what is happening, why it's happening and where to look when
things go wrong. Ultimately that's my goal, to be able to fix it when
it breaks. Without an understanding of how things truly work, it gets
really scary when the magic button quits working.
&lt;/p&gt;


&lt;span class="h3-replacement"&gt;
What It Is&lt;/span&gt;

&lt;p&gt;
Simply put, Vagrant is a front end to an underlying virtualization
program. By default, the back-end program is VirtualBox, although Vagrant
can work with other underlying virtualization systems. This realization
was important for me, because the line between what had to be inside
VirtualBox and what Vagrant actually did on its own was murky. If you
use Vagrant, you don't ever need to start VirtualBox—truly. It won't
hurt anything if you do start it, but Vagrant uses VirtualBox more like
a tool than a system.
&lt;/p&gt;

&lt;p&gt;
Another reason this is important is because it means there is no
intermingled dependencies between Vagrant and VirtualBox. By that I mean
you can take your Vagrantfiles to another computer, and it will work
just fine. It simply will use the copy of VirtualBox you have installed
on the new computer and work exactly the same.
&lt;/p&gt;

&lt;span class="h3-replacement"&gt;
When Does It Make Sense to Use Vagrant?&lt;/span&gt;

&lt;p&gt;
Much like brushing your teeth with a hairbrush doesn't make much sense,
using Vagrant for setting up your permanent data center might not be
the best idea. Sure, you could use it, but Vagrant really excels at
building VMs very fast and destroying them when you're finished. In fact,
most people use Vagrant for one of two things: creating a development
environment to test their code and creating temporary servers on demand
when the workload requires it.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/vagrant-simplified" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Fri, 25 Sep 2015 17:30:13 +0000</pubDate>
    <dc:creator>Shawn Powers</dc:creator>
    <guid isPermaLink="false">1338833 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
