Now: Tutorial for Web and Software Design > OS > Linux > OS Content
> Linux Virtualization with Xen [Bookmark it]
Linux Virtualization with Xen

Linux Virtualization with Xen

Building a Different Virtual Host

This is Fedora on Fedora, but I promised to give you a Debian on a Fedora. This is where you need debootstrap. It comes in an RPM, but if you want a correct installation you need to find an up-to-date config script for Sarge, which you can easily find on any Debian box you have around. From there, again it's a matter of creating a new LVM entry, mounting it, and using debootstrap to populate the Debian instance:



$ debootstrap --arch i386 sarge root.hope/ http://ftp.be.debian.org/debian

The Debian box has a similar config file:

kernel = "/boot/vmlinuz-2.6.11-1.1366_FC4xenU"



memory = 128

name   = "newhope.x=tend.be"

nics   = 1



vif    = ['ip = "10.0.11.14", bridge=xen-br0']



disk   = ['phy:vm_volumes/root.hope,sda1,w'

         ,'phy:vm_volumes/var.hope,sda3,w'

         ,'phy:vm_volumes/cvsroot.hope,sda4,w'

         ,'phy:vm_volumes/swap.hope,sda2,w'

         ,'phy:vm_volumes/home.hope,sda5,w'

         ,'phy:vm_volumes/svnroot.hope,sda6,w'

         ]



root   = "/dev/sda1 ro"

After running xm create newhope, you should get a listing like:

[root@xen xen]# xm list

Name              Id  Mem(MB)  CPU  State  Time(s)  Console

Domain-0           0      891    0  r----     62.3

dokeos.x-tend.be   1      127    1  -b---     24.6    9601

newhope.x-tend.be   2      127    1  -b---    177.2    9602

Basic Xen virtual machine management is simple. Use xm shutdown and xm destroy, respectively, to do a clean shutdown or an immediate domain kill. For console access:

$ xm console $id



# and 



$ xencons localhost $port

are similar and give you a better console than just a telnet localhost $port. (The port is 9600 + the $id of the particular virtual machine.)

Networking Virtual Hosts

Of course, you probably want to connect your virtual machines to the network. You first need to understand the bridging tool brctl. Xen provides one or more virtual network interfaces to your guest hosts, but in your Domain0 you will also see some changes to your default network config.

For each interface you define in a virtual machine, Xen will create a vifx.y interface, where x is the domain ID and y is the number of the interface in your virtual machine. For example, vif1.1 refers to eth4 in the domain with ID 1.

There are different ways of getting networking active, but I will show only one. Suppose that your network is 192.168.11.0 and your physical machine usually is at 192.168.11.2. You want to add your first virtual machine on 192.168.11.3. Log in to your virtual machine and configure the eth0 in the virtual machine to have the appropriate IP address, just as you would do if it were a physical machine.

Now you want to have physical network interface and the interface of your virtual machine (vifx.y) in a bridge. If you haven't already created xen-br0, use brctl addbr xen-br0 to do so, and then add both interfaces to it. Where vif1.0 is the first Ethernet device in your first domain, the commands are:

$ brctl addif xenbr0 eth0

$ brctl addif vif1.0



HOSTA:~ # brctl show

bridge name     bridge id               STP enabled     interfaces

xen-br0         8000.000bdb90c517       no              eth0

                                                        vif1.0

Your eth0 and vif1.0 don't need an IP address; you can put your 192.168.11.2 on the xen-br0 interface and route all the traffic for the 192.168.11.0 network to that xen-br0 interface. With this done and IP forwarding enabled, you should be able to reach the network. You should now be able to go from your virtual machine to other machines on the network and vice versa.

Looking Ahead

With Intel's announcement that it will ship its VT CPUs soon, operating systems without freely available source will soon run in a Xen environment. The 3.0 release happened in early December 2005, and every major Linux distribution is planning on using Xen somehow. Red Hat wants it in the kernel, and Suse already has added options in Yast for it.

The virtualization and consolidation market is fast changing, and Xen is playing an important role there!

Kris Buytaert is a Linux and open source consultant operating in the Benelux. He currently maintains the openMosix HOWTO.


Return to the Linux DevCenter.

Prev  [1] [2] 

[Bookmark][Print] [Close][To Top]
  • Prev Article-OS:

  • Next Article-OS:
  • Related Materias
    How to Deploy Software Usi
    Top 10 Tips for Using Wind
    Mastering Windows New Fire
    Creating Visual Studio Pro
    Implementing Mandatory Roa
    Better Registry Searching
    Windows XP File Sharing My
    Using Data Compression in 
    Building Photo Uploaders w
    Windows XP File Sharing My
    Topics
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Graphic Design Tutorial
     

    Coreldraw Tutorial

      Illustrator Tutorial
      3D Graphics Articles
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial&Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial&Articles
     

    XML Style Tutorial

      AJAX Tutorial
      XML Mobile
    Flash Tutorial&Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial&Articles
     

    Linux Tutorial

      Symbian Tutorial
      MacOS Tutorial