5th June 2007

INSTALAR VMWARE SERVER SOBRE UNBUNTU LTS 6.0.6

How To Install VMware Server On Ubuntu 6.06 LTS (Dapper Drake)

How To Install VMware Server On Ubuntu 6.06 LTS (Dapper Drake)

Version 1.1
Author: Till Brehm
Last edited 08/18/2006

This tutorial provides step-by-step instructions on how to install the free VMware Server (version 1.0) on Ubuntu 6.06 LTS (Dapper Drake).

VMware has just released version 1.0 of its free VMware Server. With VMware Server you can create and run guest operating systems (”virtual machines”) such as Linux, Windows, FreeBSD, etc. under a host operating system. This has the benefit that you can run multiple operating systems on the same hardware which saves a lot of money, and you can move virtual machines from one VMware Server to the next one (or to a system that has the VMware Player which is also free). In this article we use Ubuntu 6.06 LTS (Dapper Drake) as the host operating system.

I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!

1 Preliminary Note

I assume you have already set up a basic Ubuntu 6.06 system. It doesn’t matter if you use Ubuntu’s server or desktop version. If you use the server version, you can set up your system as described on the first three pages of this tutorial: The Perfect Setup - Ubuntu 6.06 LTS Server (Dapper Drake).

You should have a working root account (as the following steps have to be run as root) or run

sudo su

to get root priveliges and also a static IP address. In this tutorial I use the IP address 192.168.0.100.

If you have another computer available, install ssh-server and use a ssh client like putty to access the server remotely; copying and pasting the commands below is easier than typing them out.

apt-get install ssh openssh-server

2 Installing Required packages

Now we install the packages required by VMware on our Ubuntu system:

apt-get install libx11-6 libx11-dev libxtst6 xlibs-dev xinetd wget

apt-get install linux-headers-`uname -r` build-essential

apt-get install gcc binutils-doc cpp-doc make manpages-dev autoconf automake1.9 libtool flex bison gdb gcc-doc gcc-4.0-doc libc6-dev-amd64 lib64gcc1

and create the directory /var/vm where we want to install our virtual machines later. The virtual machines require much disk space, make sure you have enough free space on your /var partition for the virtual machines.:

mkdir /var/vm
cd /tmp

3 Getting VMware Server

The VMware server can be downloaded for free from the VMware website: http://www.vmware.com/download/server/
To run the VMware Server software you need a (free) serial number, that can be requested by clicking on the “Register now” button on the download page.

4 Downloading The Software

To setup VMWare Server on Ubuntu, we need the following packages from the VMware downloads page:

VMware Server for linux (Binary tar.gz)
Management Interface (Binary tar.gz)

To create new virtual machines, we need VMware server client package either for Windows if you want to create them from your Windows workstation or for Linux if you have a Linux workstation.

For downloading the software to your server, I recommend to use the linux commandline program wget. The wget syntax is as follows:

wget [URL of the file that shall be downloaded]

Unpacking the server tar.gz:

tar xvfz VMware-server-*.tar.gz

Running the installer script:

cd vmware-server-distrib
./vmware-install.pl

The installer asks you a few questions. Most of the time you can accept the default value:

Creating a new installer database using the tar3 format.

Installing the content of the package.

In which directory do you want to install the binary files?
[/usr/bin] /usr/bin

What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc] /etc

What is the directory that contains the init scripts?
[/etc/init.d] /etc/init.d

In which directory do you want to install the daemon files?
[/usr/sbin] /usr/sbin

In which directory do you want to install the library files?
[/usr/lib/vmware] /usr/lib/vmware

The path “/usr/lib/vmware” does not exist currently. This program is going to
create it, including needed parent directories. Is this what you want? [yes] yes

In which directory do you want to install the manual files?
[/usr/share/man] /usr/share/man

In which directory do you want to install the documentation files?
[/usr/share/doc/vmware] /usr/share/doc/vmware

The path “/usr/share/doc/vmware” does not exist currently. This program is going
to create it, including needed parent directories. Is this what you want?
[yes] yes

The installation of VMware Server 1.0.0 build-28343 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: “/usr/bin/vmware-uninstall.pl”.

Before running VMware Server for the first time, you need to configure it by
invoking the following command: “/usr/bin/vmware-config.pl”. Do you want this
program to invoke the command for you now? [yes] yes

Making sure services for VMware Server are stopped.

Stopping VMware services:
Virtual machine monitor done

You must read and accept the End User License Agreement to continue.
Press enter to display it.
….. snip [LICENCE TEXT] ……

Do you accept? (yes/no) yes
Thank you.

Configuring fallback GTK+ 2.4 libraries.

In which directory do you want to install the mime type icons?
[/usr/share/icons] /usr/share/icons

The path “/usr/share/icons” does not exist currently. This program is going to
create it, including needed parent directories. Is this what you want? [yes] yes

What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications] /usr/share/applications

The path “/usr/share/applications” does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes] yes

In which directory do you want to install the application’s icon?
[/usr/share/pixmaps] /usr/share/pixmaps

Trying to find a suitable vmmon module for your running kernel.

The module bld-2.6.15-23-i386server-Ubuntu6.06 loads perfectly in the running
kernel.

Do you want networking for your virtual machines? (yes/no/help) [yes] yes

Configuring a bridged network for vmnet0.

The following bridged networks have been defined:

. vmnet0 is bridged to eth0

All your ethernet interfaces are already bridged.

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] yes

Configuring a NAT network for vmnet8.

Do you want this program to probe for an unused private subnet? (yes/no/help) yes
Probing for an unused private subnet (this can take some time)…

The subnet 192.168.246.0/255.255.255.0 appears to be unused.

The following NAT networks have been defined:

. vmnet8 is a NAT network on private subnet 192.168.246.0.

Do you wish to configure another NAT network? (yes/no) [no] no

Do you want to be able to use host-only networking in your virtual machines?
[yes] yes

Configuring a host-only network for vmnet1.

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes] yes

Probing for an unused private subnet (this can take some time)…

The subnet 172.16.37.0/255.255.255.0 appears to be unused.

The following host-only networks have been defined:

. vmnet1 is a host-only network on private subnet 172.16.37.0.

Do you wish to configure another host-only network? (yes/no) [no] no

Trying to find a suitable vmnet module for your running kernel.

The module bld-2.6.15-23-i386server-Ubuntu6.06 loads perfectly in the running
kernel.

Please specify a port for remote console connections to use [902] 902

Stopping internet superserver: xinetd.
Starting internet superserver: xinetd.
Configuring the VMware VmPerl Scripting API.

Building the VMware VmPerl Scripting API.

Using compiler “/usr/bin/gcc”. Use environment variable CC to override.

Installing the VMware VmPerl Scripting API.

The installation of the VMware VmPerl Scripting API succeeded.

Generating SSL Server Certificate

In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines] /var/vm

Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or ‘Enter’ to cancel: your VMware Server serial number

Starting VMware services:
Virtual machine monitor done
Virtual ethernet done
Bridged networking on /dev/vmnet0 done
Host-only networking on /dev/vmnet1 (background) done
Host-only networking on /dev/vmnet8 (background) done
NAT service on /dev/vmnet8 done

The configuration of VMware Server 1.0.0 build-28343 for Linux for this running
kernel completed successfully.

5 Installing The VMware Management Interface

The VMware Management Interface is a Web-based management tool that allows you to

  • monitor the state of virtual machines and the VMware Server host on which they are running.
  • control (power on, suspend, resume, reset and power off) the virtual machines on that host.
  • view details about each virtual machine, including system summary, hardware information, any connected users and a log of recent events.

(Please note: it cannot be used to create virtual machines. To do this, you must install the VMWare console (available for Windows and Linux) on a client PC.)

cd /tmp
tar xvfz VMware-mui-*.tar.gz
cd vmware-mui-distrib
./vmware-install.pl

Accept the end user licence:

Do you accept? (yes/no) yes

Thank you.

Installing the content of the package.

In which directory do you want to install the binary files?
[/usr/bin] /usr/bin

What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc] /etc

What is the directory that contains the init scripts?
[/etc/init.d] /etc/init.d

In which directory do you want to install the VMware Management Interface files?
[/usr/lib/vmware-mui] /usr/lib/vmware-mui

The path “/usr/lib/vmware-mui” does not exist currently. This program is going
to create it, including needed parent directories. Is this what you want?
[yes] yes

In which directory would you like to install the documentation files?
[/usr/lib/vmware-mui/doc] /usr/lib/vmware-mui/doc

The path “/usr/lib/vmware-mui/doc” does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes] yes

Before running VMware Management Interface for the first time, you need to
configure it by invoking the following command:
“/usr/bin/vmware-config-mui.pl”. Do you want this program to invoke the command
for you now? [yes] yes

The installation of VMware Management Interface 1.0.0 build-28343 for Linux
completed successfully. You can decide to remove this software from your system
at any time by invoking the following command:
“/usr/bin/vmware-uninstall-mui.pl”.

Before running VMware Management Interface for the first time, you need to
configure it by invoking the following command:
“/usr/bin/vmware-config-mui.pl”. Do you want this program to invoke the command
for you now? [yes] yes

Configuring httpd.conf to run Apache as:
User: www-data and Group: nogroup

Set the number of minutes before a http session times out. (This is the length
of time before someone connecting to VMware Management Interface will be logged
out) [60] 60

Generating SSL Server Certificate

Starting httpd.vmware: done
The configuration of VMware Management Interface completed successfully.

Create a directory for the VMware httpd:

mkdir /var/run/vmware/httpd
chown www-data:www-data /var/run/vmware/httpd

You will now be able to login the the VMware management interface with the URL:

https://192.168.0.100:8333/

To login use the username root and the password of your root system user.

This interface shows status information of the installed VM instances and you are able to start and stop VM instances:

To create new VM instances, use the VMware console which is availabe as Linux and Windows GUI application.

There are many ready-to-run appliances for the VMware server available, for example the ISPConfig webhosting appliance based on the HowtoForge perfect setup for Debian 3.1:

http://www.vmware.com/vmtn/appliances/directory/342

Many other appliances can be found in the VMWare Appliances directory:

http://www.vmware.com/vmtn/appliances/

6 Creating A Virtual Machine

We use the VMWare Linux or Windows GUI application to create a new virtual machine on our VMware server.

Login to your server with the IP address or hostname, the user root and the root password.

Click on New Virtual Machine and follow the whizard. The wizard asks you to select:

  • Operating system (Linux, Windows, Novell Netware, Solaris or other operating system)
  • Operating system version
  • Location and virtual machine name. The folder /var/vm that we created in the setup is preselected.
  • Networking: If you want the virtual machine to be part of the same network than the server itself, select bridged networking.
    If you want to use a virtual NAT, select Network address translation.
  • Enter the size of your virtual harddisk. I recommend to disable the option that creates the virtual harddisk in full size instantly, the harddisk will then grow with the data that you store inside up to the max. size you selected.
  • After you finished the VM creation wizard, put the boot disk of the operating system you want to install in the CD / DVD drive of your server and start the VM.

All trademarks belong to their respective owners. We thank VMware Inc. for the permission to write this Howto.

posted in Linux | 0 Comments

4th June 2007

INSTALACION DE XEN SOBRE UBUNTU LTS 6.0.6

How To Set Up Xen 3.0 From Binaries In Ubuntu 6.06 LTS (Dapper Drake)

Version 1.0
Author: Ásgeir Bjarni Ingvarsson <istari AT hlekkir DOT com>
Last Edited: June 13. 2006

This particular way of installing and configuring Xen is just the path of least resistance for me. There are many other possible ways of configuring the system.

1 Install a clean base server system.

Setup Ubuntu like you normally would. I have created 3 partitions on hda, but you can do it any way you like. Just keep your differences in mind when you edit the config files.

· hda1 is swap

· hda2 is 2 GB and mounted as /

· hda3 is the rest of the disk and mounted as /xen-images

2 Update the system and install Xen

2.1 Install Xen and configure it

Open a root shell so you don’t have to type sudo for every command.

sudo -s

Update the system and install nessecary packages.

apt-get update
apt-get upgrade
apt-get install iproute python python-twisted bridge-utils debootstrap

Download and extract the Xen 3.0 tarball from XenSource.

tar xvf xen-3.0.1-install-x86_32.tgz
cd xen-3.0.1-install
./install.sh

Check for error messages - it should say OK to all.

Next we create modules.dep and map files for the new kernel. (see /lib/modules for the correct kernel version)

/sbin/depmod -a 2.6.16-xen

Edit /etc/mkinitramfs/modules and append the following line:

loop max_loop=64

If you run out of loop devices later just increase max_loop and rebuild the initrd.

Create an initrd image. Use the same version number as before.

cd /boot
mkinitramfs -o initrd.img-2.6.16-xen 2.6.16-xen

Edit /boot/grub/menu.lst placing the following lines before the Automagic section

title Xen 3.0 / XenLinux 2.6
kernel /boot/xen-3.gz
module /boot/vmlinuz-2.6-xen root=/dev/hda2 ro
module /boot/initrd.img-2.6.16-xen

Make Xen start up and autostart selected guests when the system starts up. xend must start before, and must be stopped after xendomains.

update-rc.d xend start 30 2 3 4 5 . stop 31 0 1 6 .
update-rc.d xendomains start 31 2 3 4 5 . stop 30 0 1 6 .

Disable Thread-Local Storage (remember to check this after every update)

mv /lib/tls /lib/tls.disabled

2.2 The following workarounds may not be required later, but I had to do them.

Rename xen-backend.rules

mv /etc/udev/rules.d/xen-backend.rules /etc/udev/rules.d/92-xen-backend.rules

To make sure that /var/run/xenstored and /var/run/xend exist. Edit /etc/init.d/xend and insert the following lines after the check for /proc/xen/capabilities

if [ ! -d /var/run/xend ] ; then
mkdir -p /var/run/xend
fi

if [ ! -d /var/run/xenstored ] ; then
mkdir -p /var/run/xenstored
fi

Edit /etc/init.d/xendomains and change the LOCKFILE line to read

LOCKFILE=/var/lock/xendomains

2.3 All done for this part so reboot.

When the system is back up try the following command to verify that everything is ok.

xm list

You should see something similar to this:

Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 463 1 r—– 42.3

3 Configuring the guest domains

3.1 Create disk images and bootstrap them

Create a mountpoint for the images.

mkdir -p /xen-images/mnt

Create a 1 GB image file and 500 MB swap file, for larger images increase count.

dd if=/dev/zero of=/xen-images/guest_base.img bs=1024k count=1000
dd if=/dev/zero of=/xen-images/guest_base-swap.img bs=1024k count=500

Change permissions for the image files. No one should have access to your Domain-0 computer since that would compromise security for all of the guest domains, but this is a good idea anyway and doesn’t affect Xen.

chmod 640 /xen-images/guest_base*

Format guest_base.img as ext3 and then format guest_base-swap.img as swap. When it says “/xen-images/guest_base.img is not a block special device.” answer yes to proceed anyway.

mkfs.ext3 /xen-images/guest_base.img
mkswap /xen-images/guest_base-swap.img

Mount the guest image and bootstrap it. You should replace http://archive.ubuntu.com/ubuntu/ with a mirror that is closer to you.

mount -o loop /xen-images/guest_base.img /xen-images/mnt
debootstrap –arch i386 dapper /xen-images/mnt http://archive.ubuntu.com/ubuntu/

Copy your /etc/apt/sources.list to the new image

cp /etc/apt/sources.list /xen-images/mnt/etc/apt/

Copy the kernel modules.

cp -dpR /lib/modules/2.6.16-xen /xen-images/mnt/lib/modules/

Disable Thread-Local Storage.

mv /xen-images/mnt/lib/tls /xen-images/mnt/lib/tls.disabled

Configure networking for the guest by editing /xen-images/mnt/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# Uncomment this and configure after the system has booted for the first time
#auto eth0
#iface eth0 inet static
# address 192.168.0.101
# netmask 255.255.255.0
# broadcast 192.168.0.255
# gateway 192.168.0.1
# dns-nameservers 192.168.0.1

Create /xen-images/mnt/etc/hosts and make it look like this.

127.0.0.1 localhost localhost.localdomain
127.0.0.1 guest

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Create /xen-images/mnt/etc/hostname

echo guest > /xen-images/mnt/etc/hostname

Edit /xen-images/mnt/etc/fstab so it looks like this.

proc /proc proc defaults 0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda2 none swap sw 0 0

Unmount the image.

umount /xen-images/mnt

If you get this warning “umount: /xen-images/mnt: device is busy” don’t worry, it’s not important.

3.2 Boot up the base image to finalize the configuration

Create a config file for the guest /etc/xen/baseimage

# -*- mode: python; -*-
kernel = “/boot/vmlinuz-2.6.16-xen”
ramdisk = “/boot/initrd.img-2.6.16-xen”
memory = 128
name = “baseimage”
vif = ['bridge=xenbr0']
disk = ['file:/xen-images/guest_base.img,hda1,w','file:/xen-images/guest_base-swap.img,hda2,w']
ip = “192.168.0.101″
netmask = “255.255.255.0″
gateway = “192.168.0.1″
hostname = “baseimage”
root = “/dev/hda1 ro”
extra = “4″

Start the guest.

xm create baseimage -c

Login as root and set the root password.

Enable shadow passwords.

shadowconfig on

Create a backup of /etc/network/interfaces

cp /etc/network/interfaces /etc/network/interfaces.bak

Edit /etc/network/interfaces and put in correct values so you can access the Internet

Start networking.

ifup -a

Install packages (add ubuntu-desktop and more if you want).

apt-get update
apt-get install ubuntu-base configure-debian openssh-server

Disable Thread-Local Storage if it has been updated.

mv /lib/tls /lib/tls.disabled

Configure the system any way you like, I recommend that you try every menu item. You should do utils->console-data before utils->console-common.

configure-debian

Add the new user you created to /etc/sudoers

visudo

Stop networking.

ifdown -a

Replace /etc/network/interfaces with the backup copy.

mv /etc/network/interfaces.bak /etc/network/interfaces

You are now done setting up the base image so shut it down.

4 Creating your first guest domain

Make a copy of the base guest images.

cp /xen-images/guest_base.img /xen-images/guestdom1.img
cp /xen-images/guest_base-swap.img /xen-images/guestdom1-swap.img

Make a copy of /etc/xen/baseimage for the new guest.

cp /etc/xen/baseimage /etc/xen/guestdom1

Edit /etc/xen/guestdom1 and change name, disk and hostname to the following values.

name = “guestdom1″
disk = ['file:/xen-images/guestdom1.img,hda1,w','file:/xen-images/guestdom1-swap.img,hda2,w']
hostname = “guestdom1″

You will want to change the following files for each new guest you create.

· /etc/hostname

· /etc/hosts

· /etc/network/interfaces

To make the guest start up automatically and make Domain 0 wait for it before shutting down.

ln -s /etc/xen/guestdom1 /etc/xen/auto/

Or if you want to start and stop the guest manually.

xm create guestdom1

posted in Linux | 0 Comments