Jan.23

Cloud Computing with Proxmox VE

Cloud Computing with Proxmox VE

Proxmox Virtual Environment is an easy to use Open Source virtualization platform for running Virtual Appliances and Virtual Machines. Proxmox VE is an open source project, developed and maintained by Proxmox Server Solutions GmbH. Proxmox VE delivers a virtualization platform for software vendors and Open source projects for running their server software as a pre-configured Virtual Appliance on the Proxmox VE. Virtual Appliances are pre-installed, pre-configured and ready to use applications and software solutions, coming prepacked with an operating system in form of a virtual machine.

System requirements Proxmox VE

Recommended

  • Dual Socket, Quad Core CPU
  • CPU: 64bit (Intel EMT64 or AMD64), Multi core CPU recommended
  • Intel VT/AMD-V capable CPU/Mainboard (for KVM Full Virtualization support)
  • 8 GB RAM is good, more is better (grab as much as possible)
  • Hardware RAID with batteries protected write cache (BBU)
  • Fast hard drives, best results with 15k rpm SAS, Raid10
  • Two Gbit NIC (for bonding), additional NIC´s depending on the preferred storage technology

    Minimum (for testing)

    • CPU: 64bit (Intel EMT64 or AMD64)
    • Intel VT/AMD-V capable CPU/Mainboard (for KVM Full Virtualization support)
    • Minimum 1 GB RAM
    • Hard drive
    • One NIC

    Supported storage technologies (NAS/SAN)

    The following standard technologies are supported, if you are unsure which one to choose contact us.

    • Local storage (mandatory)
    • iSCSI
    • FC
    • NFS
    • DRBD
    • AoE
    • CIFS

    … and all other Debian capable solutions

     

    Downloads

    Proxmox VE 1.9 ISO Installer

    Proxmox VE 2.0 ISO Installer (beta3)

     

    Main Features

    Container and Full Virtualization

    Proxmox VE is optimized for performance and usability. For maximum flexibility, the following virtualization technologies are installed by the bare metal ISO-installer.

  1. Container Virtualization (OpenVZ)

This is the preferred technology for running Linux servers as it is the fastest approach. OpenVZ is container-based virtualization for Linux. OpenVZ creates multiple secure, isolated containers (otherwise known as CT, VEs or VPSs). Each container performs and executes exactly like a stand-alone server; a container can be rebooted independently and have root access, users, IP addresses, memory, processes, files, applications, system libraries and configuration files.

Currently all Virtual Appliances are OpenVZ based and are “production ready”.

For details see OpenVZ.

  1. Full Virtualization (KVM)

KVM (for Kernel-based Virtual Machine) is a full virtualization solution on x86 hardware containing virtualization extensions (Intel VT or AMD-V CPU is needed). Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc. KVM is a similar to XEN, but KVM is part of Linux and uses the regular Linux scheduler and memory management.

KVM is perfectly suited to unmodified operating systems including windows operating systems like Windows 2000, Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008.

For details see KVM.

  1. Paravirtualization (KVM)

KVM supports paravirtualization for device drivers to improve I/O performances. See Paravirtualized Network Drivers for Windows.

For all details see KVM.

Bare-metal ISO Installer

Proxmox VE installs the complete operating system and management tools in 3 to 5 minutes (depends on the used hardware).

“Bare-metal” means that you start from a empty server – there is no need to install a base operation system.

Including the following:

Please note, the complete server is used and all existing data is removed.

See Installation for more details.

Central Web-based Management

Proxmox VE is simple. There is no need to install a separate management tool, everything can be done via your web browser (IE6/7/8/9, Firefox 2/3/4, also others should work)

The web interface can be reached via https://youripaddress (default login is: root, the password is specified during the installation)

  • Integrated console view to the Virtual Machines
  • Seamless integration and management of Proxmox VE Cluster
  • AJAX technologies for dynamic updates of resources
  • Secure access to all Virtual Machines via SSL encryption (https); (Note: VNC console is not encrypted, work in progress)




Backup – Restore – Live Migration

Backup
with VZDump

VZDump is an utility to make consistent snapshots of running Virtual Machines (OpenVZ containers and KVM). It basically creates a tar archive of the Virtual Machines private area, which also includes the configuration files.

There are several ways to provide consistency:

  • stop: Stop the VE during backup (very long downtime)
  • suspend: Use suspend/resume (minimal downtime with OpenVZ, long downtime with KVM VMs)
  • snapshot: Use LVM2 (no downtime, online)

VZDump stores the backup on the disk in a single file. This file should go to a tape backup for archiving. You can copy the file directly to a remote storage for easy tape backup (e.g. on a windows file server).

For details regarding OpenVZ commandline version see Backup of a running container with vzdump

Also check out the man pages:

man vzdump

Web Interface

Proxmox VE provides a web interface to define the backup jobs. First step is to define a backup storage. Most people simply use a NFS share on their NAS/SAN. Simply select content ‘VZDump Backups’ when you configure the storage. See also Storage Model

Next you can define the backup job using that storage.

The resulting configuration is saved as cron job to ‘/etc/cron.d/vzdump’. That file is syncronized to all cluster nodes.

Restore with vzrestore and qmrestore

To restore a Virtual Machine, just copy the tar file to the host where you want to restore. Depending on the type of virtual machine, use ‘vzrestore’ to restore OpenVZ containers, or ‘qmrestore’ to restore KVM machines.

Example1: Restore the backup of KVM VM 555 (backup file: vzdump-qemu-555.tar) to CT 500

qmrestore vzdump-qemu-555.tar 500
Example2: Restore the backup of OpenVZ container CT 777 (backup file: vzdump-openvz-777.tar) to CT 600

vzrestore vzdump-openvz-777.tar 600

Example3: Restore the backup of KVM VM 555 (backup file: vzdump-qemu-555.tgz) to CT 500 in Storage with the Name raid1data

qmrestore –storage raid1data vzdump-qemu-555.tgz 500

Live Migration

Proxmox VE support live migration of Virtual Machines via web interface. To migrate from one physical host to another, you need at least two Proxmox VE servers.

 

Proxmox VE Cluster

Proxmox VE Cluster enables central management of multiple physical servers. A Proxmox VE Cluster consists of one master and several nodes (minimum is a master and one node).

Main features

  • Centralized web management
  • One login and password for accessing all nodes and guests
  • Console view to all Virtual Machines
  • Migration of Virtual Machines between physical hosts
  • Synchronized Virtual Appliance template store

Create a Proxmox VE Cluster

First, install two Proxmox VE servers, see Installation. Make sure that each Proxmox VE server has a unique host name, by default all server has the same host name.

Currently the cluster creation has to be done on the console, you can login to the Proxmox VE server via ssh.

All settings can be done via “pveca”, the PVE Cluster Administration Toolkit

USAGE: pveca -l # show cluster status

pveca -c # create new cluster with localhost as master

pveca -s [-h IP] # sync cluster configuration from master (or IP)

pveca -d ID # delete a node

pveca -a [-h IP] # add new node to cluster

pveca -m # force local node to become master

Define the master

Login via ssh to the first Proxmox VE server.

Create the master:

pveca -c

To check the state of cluster:

pveca -l

Add a node to an existing master

Login via ssh to a second Proxmox VE server. Please note, the node should not have any VM´s. (If yes you will get conflicts with identical VMID´s – to workaround, use vzdump to backup and to restore to a different VMID after the cluster configuration).

Join a node to the master:

pveca -a -h IP-ADDRESS-MASTER

To check the state of cluster:

pveca -l

Display the state of cluster:

pveca -l

CID—-IPADDRESS—-ROLE-STATE——–UPTIME—LOAD—-MEM—ROOT—DATA

1 : 192.168.7.104 M A 5 days 01:43 0.54 20% 1% 4%

2 : 192.168.7.103 N A 2 days 05:02 0.04 26% 5% 29%

3 : 192.168.7.105 N A 00:13 1.41 22% 3% 15%

4 : 192.168.7.106 N A 00:05 0.54 17% 3% 3%

Remove a cluster node

Through the Central Web-based Management move all virtual machines out of the node you need to remove from the cluster. Make sure you have no local backups you want to keep, and save them accordingly.

Log into the cluster master node via ssh. Issue a pceva command to identify the nodeID:

pveca -l

CID—-IPADDRESS—-ROLE-STATE——–UPTIME—LOAD—-MEM—DISK

1 : 172.25.3.40 M A 58 days 00:02 0.02 7% 75%

2 : 172.25.3.41 N A 57 days 22:42 0.02 2% 90%

3 : 172.25.3.39 N A 59 days 00:26 0.00 2% 14%

Issue the delete command (here deleting node #3):

pveca -d 3

If the operation succeeds no output is returned.

PVE cluster unconfigures the slave node and shortly it will not be visible into the Central Web-based Management.

Please note that the node will not see the shared storage anymore.

Upgrade a working cluster

NOTE: if you got a critical production system you should test upgrades in your test lab.

Here are two possible ways to perform cluster upgrades (new pve versions, etc), example for a simple two nodes cluster:

method A

If you want to keep the disruption to each vm as short as possible:

  1. Live Migrate all VMs to the master node
  2. Update the slave node.
  3. Reboot Slave node.
  4. One by One turn off a VM, offline migrate to updated node, turn it on on new node.
  5. After all vms are moved, update the master node and reboot it.
  6. Then live migrate some of the vms back to the master node where they belong.

This can also be done backwards, i.e update the master first and then the slave. Users report to have done this without issues. But it could be better to update the slaves first then the master.

method B

Users have also updated like this:

  1. turn off all the vms on a node.
  2. install updates
  3. reboot
  4. let VMs autostart or manually start them
  5. repeat process till all nodes are updated.

Working with Proxmox VE Cluster

Now, you can start creating Virtual Machines on Cluster nodes by using the Central Web-based Management on the master.

Troubleshooting

You can manually check the cluster configuration files on each node. Before you edit these files, stop the cluster sync and tunnel service via web interface.

nano /etc/pve/cluster.cfg

Also check if the following file are still up to date, if not because your keys got updated just remove/adapt it.

/root/.ssh/known_hosts

Delete and recreate a cluster configuration

Sometimes it’s quicker to delete and recreate your cluster configuration than it is to try and figure out what went wrong. The process includes stoping the cluster sync and tunnel service, deleting the existing cluster config and creating/joining the new cluster. The steps can be found below:

  • Note: If your ssh host keys have changed you may need to delete them on each host before you begin:

    rm /root/.ssh/known_hosts

  • Jot down the IP of the new master node.
  • Run on new master node:

    /etc/init.d/pvemirror stop

    /etc/init.d/pvetunnel stop

    rm /etc/pve/cluster.cfg

    pveca -c

  • Verify that the cluster has been created:

    pveca -l

  • Run on nodes you wish to add to the new cluster.
    • Note: Change IP-ADDRESS-MASTER to the IP of the new master node.

    /etc/init.d/pvemirror stop

    /etc/init.d/pvetunnel stop

    rm /etc/pve/cluster.cfg

    pveca -a -h IP-ADDRESS-MASTER

  • Verify that the node has been added to the new cluster:

    pveca -l

Local node already part of cluster

If you are getting the error “local node already part of cluster” and you have verified that the host name is different than any other node then you may have not properly indented you /etc/network/interfaces file. Example:

auto vmbr0

iface vmbr0 inet static

address 10.9.0.2

netmask 255.255.255.0

gateway 10.9.0.1

bridge_ports bond0.9

bridge_stp off

bridge_fd 0

Should be:

auto vmbr0

iface vmbr0 inet static

address 10.9.0.2

netmask 255.255.255.0

gateway 10.9.0.1

bridge_ports bond0.9

bridge_stp off

bridge_fd 0

Video Tutorials

Tutorials

  • Griffon’s IT Library – ProxMox Cluster Walkthrough

 

Virtual Appliances

Virtual Appliances can be downloaded directly via the Central Web-based Management

  • Additional information Virtual Appliances
  • All standard OpenVZ templates can also be used (manual upload necessary)

Video Tutorials

Updating of Old Containers’ Startup Scripts

As of Proxmox VE v1.8 with vzevents revision – pve-manager: 1.8-17 (pve-manager/1.8/5948), kindly update all OpenVZ containers that rely on file-rc to sysv-rc thus:

aptitude install sysv-rc insserv

This will ensure that they reboot immediately. This fixes the issue in this post.

Application Templates

SugarCRM

SugarCRM is the world’s leading provider of commercial open source customer relationship management (CRM) software for companies of all sizes. Sugar easily adapts to any business environment by offering a more flexible, cost-effective alternative than proprietary applications. SugarCRM’s open source architecture allows companies to more easily customize and integrate customer-facing business processes in order to build and maintain more profitable relationships.

Zenoss

Zenoss Core is an award-winning open source IT monitoring product that delivers the functionality to effectively manage the configuration, health and performance of networks, servers and applications through a single, integrated software package.

MediaWiki

MediaWiki is a wiki engine (a program for creating a collaboratively edited website).

MediaWiki v1.16.x

Mediawiki v1.16.x is an improved wiki engine (a program for creating a collaboratively edited website). It is built from scratch and not based on the old deb package but uses the same file paths.

Acquia Drupal

Acquia Drupal is a commercially supported distribution of the open source Drupal social publishing system. A packaged collection of some of the best software from the Drupal community, Acquia Drupal offers you an advanced starting point to quickly begin building Drupal websites.

Drupal

Drupal is a free software package that allows an individual or a community of users to easily publish, manage and organize a wide variety of content on a website. Tens of thousands of people and organizations are using Drupal to power scores of different web sites, including community web portals, discussion sites, corporate web sites, intranet applications, personal web sites or blogs, ….

Joomla!

Joomla! 1.6 is one of the most powerful Open Source Content Management Systems on the planet. It is used all over the world for everything from simple websites to complex corporate applications. Joomla! is easy to install, simple to manage, and reliable.

Joomla16

Joomla! v1.6 builds upon the success of Joomla! v1.5.x as the best Open Source Content Management Systems of choice. It is easy to install, simple to manage, and is becoming more reliable. This avatar brings with it fine grained ACLs, SEO, Speed, Power and Control of Options like never before.

Zimbra

Zimbra is a client and server platform for next-generation messaging and collaboration. Is a alternative for MS Exchange (Open Source and commercial versions available)

RT Request Tracker

RT is the leading open-source issue- and ticket-tracking system, providing enterprise-grade quality and reliability.

WordPress

WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability. WordPress is both free and priceless at the same time.

BlueOnyx

BlueOnyx is a Cobalt Clone Hosting Appliance. BlueOnyx is the successor to the NuOnce-BlueQuartz Appliance and is both free and priceless at the same time. Download from BlueOnyx Download

Care2x

Care2x is an Open Source Health care and Hospital Management Application.

eyeOS

eyeOS is the Cloud Computing Operating System. Work online – personally or collaboratively – with your files, office, calendar, contacts and much more. Your data is safe and always available –eyeOS is Free Software!

FrontAccounting

FrontAccounting is an entire ERP for an SME based on PHP / MySQL that means it is an accounts cum inventory cum manufacturing web based software operated solely through a browser. A Training Company with test data is available on first install and User types are Administrator, Accountant and Inquirer.

Moodle

Moodle is a Course Management System (CMS), also known as a Learning Management System (LMS) or a Virtual Learning Environment (VLE). It is a Free web application that educators can use to create effective online learning sites.

OpenGOO

OpenGOO is now Feng Office. It is a web based collaboration tool allowing businesses to manage project tasks, billing, documents, communication with co-workers, customers and vendors, schedule meetings and events, and share every kind of electronic information.

OrangeHRM

OrangeHRM is a Human Resource Management application that is web based and Open Source. It runs off a PHP / MySQL / Apache stack and has a clean interface. The official addon modules are not free though.

Prestashop

Prestashop is an e-Commerce solution / online shop sporting an elegant shopping cart with extensive backoffice and frontoffice features – free and Open Source – in rapid development based on PHP / MySQL / Apache stack.

SimpleInvoices

Justin Kelly’s Simple Invoices from down under is a superb Open Source PHP based Invoicing System supporting PDO, MySQL, Postgres and SQLite, avoiding spreadsheets and accessible from anywhere. You can create receipts, estimates, quotes and other document types. It supports products, tax rates, database backups, integrated database upgrades and tracks invoice payments with a slew of reports.

SimpleGroupWare

Simple-GroupWare and CMS is an open source enterprise groupware. It offers email, calendaring, contacts, tasks, document management, project management, synchronization with Outlook and cell phones, full-text search, extensions and many more. Written in PHP that combines standards like RSS, iCalendar, vCard, IMAP, POP3, SMTP, CIFS, CSV, WebDAV, LDAP and SyncML under one platform, it leverages sgsML for easy generation of new functionality.

vTigerCRM

vTigerCRM is a free and Open Source full featured CRM in active development. Sales Force Automation, Customer Support and Service, Marketing, Inventory, Activity and Security Management, Calendaring, EMail and PBX Integration are standard features. Many plug-ins, extensions and device interfaces are available.

PBX in a Flash

PBX in a Flash OpenVZ Template currently available for ProxMox from the PIAF Forums. Till we have our own….

FreePBX

FreePBX available as a openvz dump with installation instructions here: http://blog.wedovoice.com/projects/freepbx-for-proxmox-openvz/ Includes: – a standard FreePBX – a provision system – nginx + php-fpm instead of Apache – ntpd + dnscache

  • 2011-12-29 at the above site, the download link is broken. I got dropbox Error (404)

DebPBX

DebPBX is a platform of free software (licensed under GPLv2) based on Debian and Asterisk. It provides the function of a IP telephone system (PBX). Like any PBX, you can connect a number of phones to make calls to each other and even connect to a VoIP provider or to an ISDN (ISDN) basic and primary education. For more information visit our web site www.debpbx.org

Includes:

  • Debian v6.0.0 (Squeeze)
  • Asterisk 1.8.3
  • Dahdi 2.4.1+2.4.1
  • FreePBX 2.9beta2
  • Script installation addons

SMEServer KVM

X11 Terminal Server

Dolibarr ERP/CRM

Dolibarr ERP/CRM is a Web based OpenSource software to manage a professional or foundation activity (small and medium enterprises, freelancers) – free and Open Source – in rapid development based on PHP / MySQL / Apache stack. (compatible with PostgreSQL)

Operating System Templates

Debian 4.0 Standard

A small Debian Etch 4.0 system including all standard packages.

Debian 4.0 Standard (amd64)

A small Debian Etch 4.0 (64-bit) system including all standard packages. Download manually: debian-4.0-standard_4.0-5_amd64

Debian 5.0 Standard

A small Debian Lenny 5.0 system including all standard packages. This is the best supported and preferred OS template on Proxmox VE.

Debian 5.0 Standard (amd64)

A small Debian Lenny 5.0 (64-bit) system including all standard packages. Download manually: debian-5.0-standard_5.0-2_amd64

Debian 6.0 Standard

A small Debian Squeeze 6.0 system including all standard packages. This is the best supported and preferred future OS template on Proxmox VE.

Debian 6.0 Standard (amd64)

A standard Debian Squeeze 6.0 (64-bit) system including all standard packages. Download manually: debian-6.0-standard_6.0-4_amd64

Ubuntu Hardy Standard

A standard Ubuntu 8.04 system.

Ubuntu Hardy Standard (amd64)

A standard Ubuntu 8.04 (64-bit) system. Download manually: ubuntu-8.04-standard_8.04-3_amd64

Ubuntu Lucid Standard

A standard Ubuntu 10.04 system.

Ubuntu Lucid Standard (amd64)

A standard Ubuntu 10.04 (64-bit) system. Download manually: ubuntu-10.04-standard_10.04-4_amd64

Ubuntu Natty Standard

A standard Ubuntu 11.04 system. Download manually: ubuntu-11.04-standard_11.04-1_i386

Ubuntu Natty Standard (amd64)

A standard Ubuntu 11.04 (64-bit) system. Download manually: ubuntu-11.04-standard_11.04-1_amd64

CentOS 5 Standard

A standard CentOS 5 template.

CentOS 5 Standard (amd64)

A standard CentOS 5 (64-bit) template system including all standard packages. Download manually: centos-5-standard_5.6-1_amd64

CentOS 4 Standard

A standard CentOS 4 template.

CentOS 4 Standard (amd64)

A standard CentOS 4 (64-bit) template system including all standard packages. Download manually: centos-4-standard_4.9-1_amd64

Fedora 14 Standard

A standard Fedora 9 template.

Fedora 14 Standard (amd64)

A standard Fedora 14 (64-bit) template. Download manually: fedora-14-standard_14-1_amd64

 

 

source : http://pve.proxmox.com/wiki/Paravirtualized_Network_Drivers_for_Windows

Share this Story:
  • facebook
  • twitter
  • gplus

Leave a comment


*

Current day month ye@r *