OVH Community, your new community space.

Using Proxmox at OVH


Myatu
22-09-2011, 18:10
Whoop! Slightly outdated thread that's been dug up

You need to obtain a failover IP from OVH *AND* assign a Virtual MAC to it (all done through the OVH Manager - see http://help.ovh.co.uk/DedieMac).

Then, when you create or modify your Windows VM, make sure the virtual network card uses the same "Virtual MAC" as the MAC ID (you can overwrite what Proxmox has generated) and is bridged to the "vmbr" (Bridge) connected to the outside world (vmbr0 generally).

Do not assign the failover IP on the host node (Proxmox), but do this in Windows (the virtual machine) according to this guide: http://help.ovh.co.uk/BridgeClient

Rudde
21-09-2011, 18:19
Hello, I have a windows VM running on proxmox now, I only have one IP to my kimsufi server and was wondering how to configure the network? I want it to be available to the net as a web server and some other ports. How? Not I only get network to work in NAT mode but then I can't really get it to be a server..

zimsters
02-10-2009, 10:52
ah sorry - i HAD put host_ip/32 not failover. Just typed it in wrong in the post

Ended up giving up. this was a vmware migrated box so i literally just reversed it and put it back on my vmware box, and it worked straight away (original configuration, not the above).

kro
02-10-2009, 10:50
zimsters wrote:
>> post-up ip r a /32 dev eth0


This is not what I wrote. I wrote this:

post-up ip r a /32 dev eth0
--
Felix
OVH Team

zimsters
30-09-2009, 17:01
interesting point - this is a ubuntu 8.10 box. on a similar box i have that works, the interfaces file is practically empty - no eth0 settings. figured it may be something to do wtih NetworkManager, followed instructions here http://ubuntuforums.org/showthread.php?t=974382.

Doesn't fix it still. i don't get why the interfaces file is being ignored. where is it getting its settings from?

running ifconfig interestingly reveals:

inet addr:failover bcast:94.255.255.255 mask:255.255.255.255

failovers fine but that bcast looks very wrong. and even if i change the ip in my interfaces file, do a network restart, this ip stays there.

WTF.

zimsters
30-09-2009, 16:41
ok my new one looks like this:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address
netmask 255.255.255.255
post-up ip r a /32 dev eth0
post-up ip r a default via
upon network restart i get
rtnetlink answers: file exists.

tried rebooting. no luck.

kro
30-09-2009, 16:14
zimsters wrote:
>> > /etc/network/interfaces:
>> >> auto lo
>> >> iface lo inet loopback
>> >>
>> >> auto eth0
>> >> iface eth0 inet static
>> >> address
>> >> netmask 255.255.255.255

>> post-up ip r a /32 dev eth0
>> post-up ip r a default via

> sorry, not sure where to put those two lines - if i type it in bash it
> says post-up command not found, and as far as i know that's not valid
> syntax for the interfaces file?


just add them to the /etc/network/interfaces file, so that it looks like above.
that means you also have to remove that "gateway" line - just like above.
--
Felix
OVH Team

zimsters
30-09-2009, 11:08
Quote Originally Posted by kro
zimsters wrote:
> /etc/network/interfaces:
>
>> auto lo
>> iface lo inet loopback
>>
>> auto eth0
>> iface eth0 inet static
>> address
>> netmask 255.255.255.255

post-up ip r a /32 dev eth0
post-up ip r a default via
--
Felix
OVH Team
sorry, not sure where to put those two lines - if i type it in bash it says post-up command not found, and as far as i know that's not valid syntax for the interfaces file?

kro
30-09-2009, 10:44
zimsters wrote:
> /etc/network/interfaces:
>
>> auto lo
>> iface lo inet loopback
>>
>> auto eth0
>> iface eth0 inet static
>> address
>> netmask 255.255.255.255

post-up ip r a /32 dev eth0
post-up ip r a default via
--
Felix
OVH Team

zimsters
30-09-2009, 10:29
Quote Originally Posted by Neil
My mistake you are trying to setup it all up in Proxmox, you need to look at the bottom of this guide, http://help.ovh.co.uk/Proxmox#link5

followed this:
On the guest, if it's Linux:
# ifconfig eth0 YOUR_IP_FAILOVER/32 up # configure interface
# ip route add default dev eth0 # add default route
# echo "nameserver 213.186.33.99" > /etc/resolv.conf # configure DNS^

restarted network, get same siocaddrt no such process error.

my interfaces output is identical to the one posted above.

zimsters
30-09-2009, 10:25
/etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address
netmask 255.255.255.255
gateway failovera.failoverb.failoverc.254
i don't have a conf.d folder hence no net file.

Neil
30-09-2009, 10:23
My mistake you are trying to setup it all up in Proxmox, you need to look at the bottom of this guide, http://help.ovh.co.uk/Proxmox#link5

Neil
30-09-2009, 10:06
What is your:
/etc/network/interfaces and /etc/conf.d/net ?

zimsters
30-09-2009, 09:58
the xxx.xxx.xxx are the first 3 parts of the failover ip right?
i.e. if failover is a.b.c.d, you're saying gateway should be a.b.c.254?

when i put the added line:
gateway a.b.c.254

into my interfaces, and restart network, error is "siocdelrt: no such process". shows this twice and then failed to bring up eth0.

Neil
30-09-2009, 09:49
What are you setting for the gateway? It should be xxx.xxx.xxx.254 .

zimsters
30-09-2009, 09:16
guys i'm having some issues setting up an ip on a fully virtualized ubuntu host. so far haven't had any issues assigning ips on windows or linux but this one is just haunting me.

steps taken:

host:
ip route add dev vmbr0

guest:
- tried changing settings in network settings (ubuntu desktop, has gui). it updates, but no network connectivity.
- if i go to edit /etc/network/interfaces, the file previously doesn't show network settings. i've put in :
iface eth0 inet static
address
netmask 255.255.255.255 (tried 255.255.255.0 too)

if i put in network / gateway in here it throws an error when i restart the network.

anyway, if i restart the network after the above, once again no connectivity. if i try adding ip route add default via dev eth0 i get an rtnetlink: no such process error. have tried using the route add command too.

any suggestions?

Myatu
24-09-2009, 01:02
Add port 23 as well...

Nuend0
24-09-2009, 00:09
unfortunatly i spoke to soon
i can now connect to browse the ftp but try and open a data socket it's rejected and control log shows data connection is coming from failover ip
when connecting via ftp to another server i see that i connect using the main server ip as it should - any clues?

freshwire
23-09-2009, 12:34
You should thank the person I copied it from

Nuend0
23-09-2009, 12:25
nice 1 monkey - would never have guessed it to be that simple
works a charm

freshwire
23-09-2009, 03:57
You can manually force the outgoing IP on the host. If the host is linux:

Code:
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 21 -j SNAT --to 

Nuend0
22-09-2009, 23:07
ok after spending hours & hours getting the shorewall setup working i discovered it's not an ideal setup for me with only private ip's assigned to my guest (i kinda need 3 public ip's assigned in windows - it's complicated so plz don't ask why)

what i'm askin for help here with is now i've got my windows guest running and the failover ip's pointing directly to it using:
# ip add route xxx.xxx.xxx.xxx dev vmbr0
but because this is not the main ip i cannot acess the ftp for reasons discussed many times over in these forums so i won't go there.
with only 100GB allowance with the servers now (not nearly enuf to make full vm container backups )i was wondering if there was any easy way to route the ftp connection from the guest via the main ip (without shorewall) so i could backup only the files & folders i really need to?

also has anyone got a good link on how to use bind for the n00b? using win dns just now but would like the main system handling my dns's for many obvious reasons any cannot work it out enuf to be confident in changing the files.

cheers in advance

*edit*
plus anyone got a guide to run ftp in the shell to backup a very small container that won't grow more then 10GB ever straight to the ftp backup?

gigabit
11-09-2009, 23:07
The VT technology isnt windows specific, its for running entirely contained machines (even linux).

elvis1
11-09-2009, 21:05
Quote Originally Posted by Myatu
Sorry, no. But that only eliminates a fully virtualised server under Proxmox... (so no Windows). It, and OpenVZ, would still be able to run multiple Linux containers.
who needs windows? I could perfectly use centos (not used to it at the time being but not that I canīt handle :P ) for my needs

so that crappy VT technology is windows spocific?

Myatu
11-09-2009, 09:14
Quote Originally Posted by elvis1
noob question here: do atoms have Intel's VT tech? I am willing to virtualize a handful of them
most likely it does not
Sorry, no. But that only eliminates a fully virtualised server under Proxmox... (so no Windows). It, and OpenVZ, would still be able to run multiple Linux containers.

elvis1
11-09-2009, 06:24
noob question here: do atoms have Intel's VT tech? I am willing to virtualize a handful of them
most likely it does not

Myatu
09-09-2009, 14:50
Ah! Sorry for not understanding I trying to figure this one out, because the "REDIRECT" you've used should basically all that's needed. But I'm running into the same issue... Hmm...

Darren
09-09-2009, 07:08
Sorry I was not too clear there. I'm trying to establish a forward proxy http, outgoing traffic from the server are a proxied for the client connection.

So, currently it would appear that outbound traffic from a KVM does not seem to be being evaluated by the shorewall rules as I'm unable to route this through to the proxy.
(As the connection will be established from a site hoted on a web server within the KVM machine)
So my understanding was that all outbound traffic would be evaluated by shorewall but I do not seem to be able to trap the outbound IIS traffic to direct to a proxy. Perhaps a proxy within windows may be easier or try another firewall setup.

Myatu
08-09-2009, 19:26
I'm getting a bit confused, sorry... I ate some bad bread last night

A) Do you need: Internet user -> Proxy -> The windows Web server inside a VM? Or
B) do you need: a local user -> Proxy -> Any public web server not hosted by you?

If' it's A, then you're looking for a reverse proxy (and there's quite a few options for you, including Squid itself [though not as "transparent"])

Darren
08-09-2009, 18:32
I wanted a proxy that would enable all traffic from a hosted website to apss through, and as shorewall documented squid with it I tried that. (not that familia with linux environment) Do you know of a proxy that works well with shorewall? I do not want to enforce a manual connection from the browser to the proxy though?

Myatu
08-09-2009, 17:57
Be careful with Squid's transparent proxy feature and Proxmox. They don't get along well (it does some funky stuff with your network stack).

Why do want a transparent proxy publicly accessible on port 80 though? Anyone can use your proxy to visit any other website, including the kind of sites you'd rather not want to spend time on... Or are you looking to use it as a reverse proxy?

Darren
08-09-2009, 17:37
Anyone have a Proxmox with Shorewall setup? I have a web server running on a windows kvm and am unable to get a site on the webserver to be routed through the shorewall rules (I have a squid proxy running on the firewall and I want route the outbound traffic through that).
Have the http_port 3128 transparent set and an entry in the rules file for
REDIRECT dmz 3128 tcp www
Now I've tries various permutation of DNAT and Redirects but with no joy. Anyone know if for some reason the IIS web server would be routed around the shorewall rules?

zimsters
02-09-2009, 16:34
works like a charm again

it was memory. i tried two things - decreasing memory by 512mb which made everything stable. but didn't want to deal with that memory loss so increased my paging file size by 512mb and increased the VPS back to original figure.

it took a few minutes to fill up the paging file again, but once it all settled loads are back to insanely low and everything's stable - a reboot is FASTER with this increased page file versus if i lower the RAM, so i'm sticking with the larger paging file

Myatu
02-09-2009, 15:33
The host node will indeed start swapping memory, yes. When the system has 4GB of RAM, out of that around 3.7GB will be available for actual use as some regions are used for system devices.

Try reducing the available memory assigned to the 3GB guest by at least 512 MB (so 2.5 GB allocated) and see if this increases the stability.

Also, in Windows itself, look in the Event Manager (control panel, administrative tools, events) to see if any fatal errors occurred. Some things to consider are: emulated disk(are you using IDE? If so, is Windows trying to use uDMA?), emulated video (ie., Cirrus Logic), network driver (ie., Realtek 3189 or Intel E1000).

Process of elimination, unfortunately...

zimsters
02-09-2009, 15:06
guests are windows

no overselling - system has 4gb ram, i have a vps with 3gb ram, another with 512mb. assuming the host os uses 512 or less. even if it doesn't, maybe a bit of swapping would occur (default build has a gig of swap space) but shouldn't be enough to shut down a host!

Myatu
02-09-2009, 14:57
Zimster: Over-allocation of resources is #1 suspect when this happens. If the guest is Linux based, enter it (either with SSH or vzctl) and type:

Code:
cat /proc/user_beancounters | more
You probably want to widen the terminal screen as far as possible

What you need to look for is in the very last column - it should be 0. If not, then it means errors were encountered. Ie, if you get it in the row for "privvmpages", then it ran out of (virtual) memory.

zimsters
02-09-2009, 14:15
guys, weird issue with proxmox. a guest machine of mine keeps powering off. no warning, no error, no blue screen. it just turns off. Any idea how to troubleshoot this issue?

Myatu
01-09-2009, 09:49
TCP 3389 should be enough, although it'll try UDP first (so you could add UDP as well).

If I remember correctly, the credentials are based off the domain. So your remote computer (used to connect to the RDP) should be on the same domain.

Darren
01-09-2009, 08:49
I've nearly got this working as needed, but I would like to establish a remote desktop connection to the KVM server I've installed with windows 2008. I have:
1) Enabled remote desktop in windows (which opens the firewall in windows also)
2) added the following to the shorewall firewall I am runnign on the proxmox host :
DNAT net dmz:10.0.1.101 tcp 3389 - 91.121.220.xxx

Any ideas if anything else maybe required to enable this ? Its states when I try to establish a connectio that the credentials used are incorrect (but root and passowrd for server)?

Myatu
29-08-2009, 16:14
Darren, the router/firewall setup as described is quite concise and solves the OVH/MAC issue.

My reference to the MAC was regarding the "hardening" section, which allows you to implement a method that will only accept certain IP addresses per MAC address (for "venet" network device [bridged] that is). So in a worst-case scenario where someone breaks into a container with a "venet" network device, then any changed IPs will be rejected so it cannot pretend to be another container IP-wise.

Darren
29-08-2009, 09:54
Myatu,
if you have any pointers on what else maybe be required to get this setup it would be most useful, you mention the MAC issue?

DedicatedPros
28-08-2009, 22:18
Pretty sure it was Ashley too

gigabit
28-08-2009, 22:13
Ashley?

freshwire
28-08-2009, 21:55
I don't know.. who was the host ?

Myatu
28-08-2009, 18:54
Humm, what happened to the Wiki anyway?

I'll rewrite that article anyway, I forgot the part of obtaining the MACs for KVMs through the shell...

Darren
28-08-2009, 15:44
thats great , thanks

freshwire
28-08-2009, 15:33
Here is a cache (note it will expire in 14days).

http://temp.myxcp.net/files/14d/ovhwiki-cache.html

Darren
28-08-2009, 10:41
The following link is down, does anyone happen to have a copy of this they could post for me please?
http://www.ovhwiki.com/index.php/Fir...r_with_Proxmox

thanks

NetSage
17-08-2009, 19:26
Once again thanks gigabit. Anything to worry about with processors?

gigabit
17-08-2009, 19:19
You could, but it would be very bad on perofrmance. If you have 8GB id give each virtual machine 3GB (if youre only having 2).

NetSage
17-08-2009, 19:01
Ok, I'm getting a server with on other person. we get 8gb so I was wondering could I set both of set ups for 8gb or could this cause problems when we both try and use it?

Myatu
14-08-2009, 20:05
The swap within Windows or Swap on the Proxmox host itself?

gerardjm
14-08-2009, 12:42
Great tutorial, but I have a question, now I have a server with 8Gb of ram, and 2 KVM windows 2003 x64 machines, one with 3Gb assigned and other with 2Gb, algo have a 1 windows 2003 x32 with 1Gb, I have 2 Gb free but I notice that the swap bar always is at 100%, and the syslog giveme the advise that out of memory and close one VM what i can do?

regards,

Neil
22-05-2009, 14:48
Quote Originally Posted by BiagioParuolo
see proxmox v.1.2

Including:

* Based on new Debian Lenny (Debian 5.0)
* New KVM with many improvements (kvm-85)
* New Kernel (still 2.6.24 based but with a lot of backported drivers)
* Update to aoe6-71
* Update to drbd-8.3.1
* Include HighPoint RocketRAID 3xxx/4xxx Controller Driver
* Update to busybox 1.14.0
* Use busybox mdev as firmware loader
* Compiled with gcc 4.3.2 (default on Debian Lenny)
* Load virtio_blk (if you run Proxmox VE inside Proxmox VE as a KVM guest)
* New OpenVZ vzctl (mainly bug fixes)
* Vncterm: better terminal emulation
* Everything updated to Debian Lenny
* Many bug fixes

then Lenny is compatible with libvirt..
Yes, if you want to upgrade you can follow the instructions here, http://travaux.ovh.net/?do=details&id=3077

BiagioParuolo
21-05-2009, 08:26
see proxmox v.1.2

Including:

* Based on new Debian Lenny (Debian 5.0)
* New KVM with many improvements (kvm-85)
* New Kernel (still 2.6.24 based but with a lot of backported drivers)
* Update to aoe6-71
* Update to drbd-8.3.1
* Include HighPoint RocketRAID 3xxx/4xxx Controller Driver
* Update to busybox 1.14.0
* Use busybox mdev as firmware loader
* Compiled with gcc 4.3.2 (default on Debian Lenny)
* Load virtio_blk (if you run Proxmox VE inside Proxmox VE as a KVM guest)
* New OpenVZ vzctl (mainly bug fixes)
* Vncterm: better terminal emulation
* Everything updated to Debian Lenny
* Many bug fixes

then Lenny is compatible with libvirt..

kro
19-05-2009, 14:12
Myatu wrote:
> NETWORKING


with a quick one-liner:

C:\Windows\System32\netsh.exe int ip set address "Local Area Connection" static $FAILOVER-IP 255.255.255.255 $FAILOVER-IP 1
--
Felix
OVH Team

ictdude
12-05-2009, 14:26
Quote Originally Posted by RikT
w00t next server i have thinks me gonna try this
Its great if it works but you also can have problems if the Intel - VT is not enabled. For full KVM virtualisation this most be enabled in the bios and the server must support this function. If not you cant install from iso. So also no Windows server. I believe minimal server is SP bestoff server.

See my problems. Hope you dont run in to this

http://forum.ovh.co.uk/showthread.php?t=1930&page=2

Xen and Proxmox example if Intel Vt dont work...

Update:

Ovh did resolve the problem today It was not easy i guess. Now i know
what steps you have to do and how to trouble shoot. All respect go to Ovh and the support engineers. thnx Ovh for not giving me up

RikT
10-05-2009, 16:12
w00t next server i have thinks me gonna try this

Seedbox Paradis
10-05-2009, 10:21
Damn, great guide

wackomoo
09-05-2009, 21:16
Wow, great thread! :O

Myatu
09-05-2009, 18:21
Example: Installing Windows 7 RC 1 within a Proxmox VM.

Following is an example on how to install Windows 7 RC 1 as the guest OS in Proxmox. It can be adapted for other operating systems, if desired.

Microsoft has released this particular version for public beta testing on May 5th 2009 (April 30th for MSDN and Microsoft TechNet subscribers) and you can download your personal copy, along with a product registration key, from http://www.microsoft.com/windows/win.../download.aspx

Obtaining the ISO Image

Simply follow the instructions from Microsoft's website, which will include giving a basic amount of information about yourself, requestion a registration key (displayed immediately after registration) and the download of an ISO image.

Once you have obtained the ISO image, you must first upload it to your Proxmox host. Follow the instructions regarding Additional Templates described earlier, using the Upload function on the Local tab.

You can also use alternative methods, including FTP or wget (depending on how you obtained the ISO image), and saving it to /vz/template/iso on the Proxmox host.

Creating the VM

Pay attention to the explanation given in Installing a guest OS using KVM. You will need to use the following settings for the given fields:
  • Type: Fully Virtualized
  • Installation Media: (the ISO image you have uploaded)
  • Name: (any name you desire)
  • Disk Space: 32 GB
  • Memory: 1024 MB
  • Disk Type: IDE
  • CPUs: 1 (or 2)
  • Guest Type: Windows 2008
  • Network: Bridge (vmbrX)
  • Network Card: rtl8139
Note: It is important that you have at least 1024 MB of RAM available - prevent overallocation!

Select Create and allow the creation process to finish.

Installing Windows 7

From the Virtual Machine lists, select the VM you have just created specifically for Windows 7 (it should not be running yet). Select the Start button (from the selection of Start, Shutdown, Stop and Remove buttons) and give it a brief moment (the Start button will become Restart).

You can now use the Open VNC Console option, which is located almost directly underneith those buttons. This will open a new browser window and will give you a "virtual monitor".

This virtual monitor (the VNC console) supports full graphics and therefore you should be seeing the animated Windows logo during initial loading, followed by this screen:


The mouse is also supported within the VNC console, so you are now on your way to continue the installation of Windows 7 by following the instructions on the screen.

Tip: Use the "Custom Installation", not the "Update" option when given by the Windows 7 installer.

Once the installation has finished, you can remove the CD, or better said, set the CD-ROM device to only cdrom device instead of containing an ISO image. This can be done from where you opened the VNC console as described above, but selecting the Hardware tab near the top of the page. This can also be done while the VM is actively running.

You should now have Windows 7 installed. You can continue using the provided VNC Console from Proxmox to access it, or you can configure the network settings in Windows manually (providing the proper gateway, etc.).

Networking

For additional information in setting up networking in Proxmox in general, including the ability for containers to communicate with each other or from the outside world, I recommend visiting this website:

VM-Firewall - http://www.fridu.org/fulup-posts/40-...ation-firewall

Pay particular attention to the OpenVZ example given on this website, as well as the posted comments.

If done correctly, you can use the Windows RDP protocol (ie, Windows Remote Desktop provided with Vista) to access your new Windows 7 desktop!

Myatu
09-05-2009, 17:41
Additional Templates

By default, the OVH Proxmox installation contains a number of templates for the guest OS. There are two main methods of adding more templates, depending on your needs.

The first method can be accessed from within the Proxmox Web console. You select the Appliance Templates menu option on the left-hand side. The Local tab displays the templates which are currently available to you, seperated by container templates (OpenVZ templates) and VM Templates (ISO images). You can upload your own templates / ISO images from this same page.

The Download tab, when clicked, provides you with additional templates from Proxmox. These include updated OS distributions or entire, functional mail server or other types of servers. Simply select one of the templates for more details and optionally download it to your local host.

You can also create your own templates, using the tools provided by Proxmox (see http://pve.proxmox.com for more details).

Alternatively, you can access the templates folder from within the shell, to use shell commands such as wget to download, for example, ISO images of OS distributions. These templates are located in /vz/template/iso of the host machine.

Myatu
09-05-2009, 17:40
Installing a guest OS using KVM

The process of installing a guest OS using a KVM, or a Fully Virtualized Machine, is similar to creating installing a guest within a container, as described earlier. Nevertheless, there are some key differences, which will be discussed here.

Configuration Portion

The Installation Media is a drop down list with several options. By default, it is a cdrom device, emulating a drive without any CD inserted (empty). You can select an ISO image which will be used as the inserted cdrom in said device. More ISOs can be added, and will be discussed later.

The Disk Space is allocated in the same way as a container - only the portion used gets allocated on the physical disk, however you can overallocate space (more than what's physically available). The storage method on the physical disk differs however - it uses a single "qcow" file containing the disks' contents, whereas containers use folders directly accessible from the host.

You can only specify Memory, and not Swap memory. The full amount specified here will be allocated on the host's physical memory as well.

Disk Type provides three options on what of interface should be emulated, by default IDE. The SCSI and VIRTIO options are generally incompatible with most OSes, aside from Linux. Hence it ought to be best to leave this as IDE unless you can acquire the appropriate drivers required during installation of the guest OS.

The CPUs field provides the number of (emulated) CPUs to the guest OS, and does not in particular have to correspond with the amount of CPUs present on the host. These are equivalent to CPU units within containers (an advanced option), limiting the amount of host (physical) CPU activity.

The Guest Type should be a close match to the guest OS that will be installed (for example, for Windows 7 RC1 you would choose Windows 2008). Various settings, such as the emulated BIOS, will be tweaked to provide maximum compatibility.

Network Portion

The Bridge depends on the number of bridges installed on the host, by default only one usually named "vmbr0" and NAT. You will be required to specify the IP address and other details from within the installed guest OS, unless DHCP is enabled on the host.

Proxmox can also emulate a plethora of network devices, by default set as an RTL8139 (RealTek). Most guest OSes have drivers available for this or the E1000 network device and can configure themselves automatically. The other devices listed may require driver disks for the guest OS.

VIRTIO

A special note is that VIRTIO stands for Virtual(ized) IO and can be selected for the Disk and Network fields. VIRTIO is specific to the VM and provides a faster performance. However, these are dependent on specific drivers - one option is to change these values once you have installed the drivers in the guest OS (ie., Windows).

Myatu
09-05-2009, 17:39
Installing a guest OS using Containers

First you need to log into your Proxmox console using your web browser. The URL generally looks like https://nsXXXXXX.ovh.net (where X is your server's number). The default username is "root" and the password whichever was assigned to you by OVH.

From the Home screen, which provides a quick overview of the system status, on your left-hand side you will find the Virtual Machines menu option. You select this to view, create and remove Containers/VMs.

Configuration Portion

From Virtual Machines screen, select the Create tab, found near the top. By default, the configuration specifies Container (OpenVZ) as the Type, which is what you will use for this.

Following you will find a drop-down field for Template. You can select from a list of OS distributions, which are Proxmox/OpenVZ compatible - for example centos-5.1-i386-minimal. Adding more OS distributions will be discussed later.

The Hostname field specifies a unique name which helps you recognize the container. This hostname is also used for IP functions.

A container has both the Memory and Swap field (specified in Megabytes), and a little care should be used with this. The container, due to virtualization of diskspace, will NOT have a swap space mounted. Instead, it will only have virtual RAM - the total of what you will specify in the Memory and Swap fields.

So if you were to specify 512 for Memory and 512 for Swap, the OS within the container would see 1024 MB of RAM. There are several issues that arise from this.

First, because there's no swap space mount, this is the only memory a container will have available (advanced users will overcome this, surely). Therefore, it it required more memory, other things would have to be purged from RAM or alternatively - and unfortunately - crash the container.

Second is the difference between Memory and Swap. What you specify in Memory is a guaranteed amount of RAM memory on the host that can be allocated. Anything that the OS within container requests over this amount, will be allocated on the host's swap space mount. This could potentially reduce performance if the container would continuously request more than its guaranteed allocated Memory (RAM) space.

Lastly, the Memory (RAM) space is not immediately allocated on the host. It is therefore possible to assign more Memory (RAM) than what is physically present on the host. However, should the containers all use up their allocated Memory, and it exceeds physical capacity on the host, containers will begin to fail. Careful planning should be made with the Memory and Swap two fields!

The Password fields assign the specified password to the root account for the container.

The VMID is a unique number assigned to the container (Proxmox automatically assigns a number, however you can override this). This number is primarily used for additional tools, such as Proxmox's backup utilities and shell commands.

A Cluster Node can be specified if you have more than one Proxmox hosts linked together. In this case, the main Proxmox host can create a container on another host.

The Start at Boot option ensures the container is immediately started along with the host itself. For example, upon reboot of the host, the container will start as well.

The Disk Space is specified in Gigabytes, and is what the container will see as the available disk space (single mount only). Like with the Memory and Swap fields, some care should be taken with this field, as the amount of disk space is not fully allocated upon creation. It simply permits the container to use "up to" the specified amount. If you were to allocate more disk space than what's physically available on the host - either per container or all containers combined - you run the risk of running out of physical space before you run out of virtual space.

Network Portion

Proxmox provides two Network Types. Virtual Network or Bridged Network. The Virtual Network option (venet), is the default and most common option, creating a point-to-point connection between the host and this particular container. You do not need to do anything but assign an IP address in this instance.

The other option, Bridged Network (vethX or vmbrX), is bridged between the physcal Ethernet devices and the container, with its own MAC address. You are required to modify the gatway, etc., once the container has been created and is running (from within the container).

The DNS domain is more commonly known as the "Search domain". Any DNS lookups for domains that are not a FQDN will use this to create a FQDN.

The first and second DNS fields depend on your host setup. Proxmox assigns the same values the host is using (OVH's DNS server), however you may be required to change this if you use your own / internal DNS server.

Once you have entered the desired values in these fields, click the Create button at the bottom of these fields and a new container will be created for you.

Starting and accessing your container
The first time, you will need to start your container manually. From the Virtual Machines screen, select the List tab. You can use the quick menu, by clicking the arrow at the left of your container's VMID and selecting Start. Alternatively, you can click on the container's name and click the Start button found on the status page.

To access your container, you can use SSH or use the provided Console function in Proxmox (accessed the same way as described above).

Myatu
09-05-2009, 17:38
Foreword

As you may have noticed, OVH offers Proxmox as one of the available virtualization options. Proxmox combines the best of two worlds: Container Virtualization and Virtual Machines.

Container Virtualization, provided by OpenVZ, permits multiple instances of the same OS to run in individual spaces, or "containers". Each such container is isolated from other containers, with its own memory and disk space. However, it shares common functions with the main OS, such as the kernel.

Although this results in reduced resource requirements and a higher overall performance per container, said containers can only contain an OS distribution that makes use of these common functions (the kernel).

For example, CentOS and Debian are two different OS distributions, but share the same Linux kernel, therefore will work well. Windows on the other hand uses a very different kernel, and would not work.

Virtual Machines (VM), provided by QEMU/KVM in Proxmox, emulates hardware - in whole an entire computer system. This allows you to install any arbitrary OS, though at the cost of additional resources and performance compared to Container Virtualization. Windows, Linux and other operating systems will be able to run on the same host system without any (major) issues.

Please note that your dedicated server must support Intel's VT or AMD's SVM in order to create and use Virtual Machines - this technology may not be available on all the servers provided by OVH, or requires it to be enabled. Please ask in one of these forums or contact OVH directly if you're not sure a particular dedicated server supports this technology.

Proxmox does a wonderful job of managing both types of virtualization from a single host (or a cluster of hosts). You can combine a mixture of Containers and VMs on the same host, which was previously a difficult task - both from the OS-development as well as the administrative perspective.

This guide is split into multiple sections (more to follow).