GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  REX::COMMANDS::VIRTUALIZATION (3)

.ds Aq ’

NAME

Rex::Commands::Virtualization - Virtualization module

CONTENTS

DESCRIPTION

With this module you can manage your virtualization.

Version <= 1.0: All these functions will not be reported.

All these functions are not idempotent.

SYNOPSIS



 use Rex::Commands::Virtualization;

 set virtualization => "LibVirt";
 set virtualization => "VBox";

 use Data::Dumper;

 print Dumper vm list => "all";
 print Dumper vm list => "running";

 vm destroy => "vm01";

 vm delete => "vm01";

 vm start => "vm01";

 vm shutdown => "vm01";

 vm reboot => "vm01";

 vm option => "vm01",
       max_memory => 1024*1024,
       memory    => 512*1024;

 print Dumper vm info => "vm01";

 # creating a vm on a kvm host
 vm create => "vm01",
    storage    => [
      {
        file  => "/mnt/data/libvirt/images/vm01.img",
        dev   => "vda",
      }
    ];

 print Dumper vm hypervisor => "capabilities";



EXPORTED FUNCTIONS

vm($action => CW$name, CW%option)

This module only exports the vm function. You can manage everything with this function.

EXAMPLES

    Creating a Virtual Machine

Create a (VirtualBox) VM named vm01 with 512 MB ram and 1 cpu. One harddrive, 10 GB in size beeing a file on disk. With a cdrom as an iso image and a natted network. The bootorder is set to dvd.



 vm create => "vm01",
    storage    => [
      {
        file  => "/mnt/data/vbox/vm01.img",
        size  => "10G",
      },
      {
        file => "/mnt/iso/debian6.iso",
      }
    ],
    memory => 512,
    type => "Linux26",
    cpus => 1,
    boot => "dvd";



Create a (KVM) VM named vm01 with 512 MB ram and 1 cpu. One harddrive, 10 GB in size beeing a file on disk. With a cdrom as an iso image and a bridged network on the bridge virbr0. The Bootorder is set to cdrom.



 vm create => "vm01",
    boot => "cdrom",
    storage    => [
      {
        size  => "10G",
        file  => "/mnt/data/libvirt/images/vm01.img",
      },

      {
        file    => "/mnt/data/iso/debian-6.0.2.1-amd64-netinst.iso",
      },
    ];



This is the same as above, but with all options in use.



 vm create => "vm01",
    memory  => 512*1024,
    cpus    => 1,
    arch    => "x86_64",
    boot    => "cdrom",
    clock   => "utc",
    emulator => "/usr/bin/qemu-system-x86_64",
    on_poweroff => "destroy",
    on_reboot  => "restart",
    on_crash   => "restart",
    storage    => [
      {  type  => "file",
        size  => "10G",
        device => "disk",
        file  => "/mnt/data/libvirt/images/vm01.img",
        dev   => "vda",
        bus   => "virtio",
        address => {
          type    => "pci",
          domain  => "0x0000",
          bus    => "0x00",
          slot    => "0x05",
          function => "0x0",
        },
      },
      {  type    => "file",
        device  => "cdrom",
        file    => "/mnt/data/iso/debian-6.0.2.1-amd64-netinst.iso",
        dev    => "hdc",
        bus    => "ide",
        readonly => 1,
        address  => {
          type     => "drive",
          controller => 0,
          bus      => 1,
          unit     => 0,
        },
      },
    ],
    network => [
      {  type   => "bridge",
        bridge  => "virbr0",
        model  => "virtio",
        address => {
          type    => "pci",
          domain  => "0x0000",
          bus    => "0x00",
          slot    => "0x03",
          function => "0x0",
        },
      },
    ],
    serial_devices => [
      {
        type => tcp,
        host => 127.0.0.1,
        port => 12345,
      },
    ];



Create a (Xen/HVM) VM named vm01 with 512 MB ram and 1 cpu. One harddrive, cloned from an existing one.



 vm create => "vm01",
    type  => "hvm",
    storage    => [
      {
        file    => "/mnt/data/libvirt/images/vm01.img",
        template => "/mnt/data/libvirt/images/svn01.img",
      },
    ];



This is the same as above, but with all options in use.



 vm create => "vm01",
    memory => 512*1024,
    cpus  => 1,
    boot  => "hd",
    clock  => "utc",
    on_poweroff => "destroy",
    on_reboot  => "restart",
    on_crash   => "restart",
    storage    => [
      {  type  => "file",
        size  => "10G",
        device => "disk",
        file  => "/mnt/data/libvirt/images/vm01.img",
        dev   => "hda",
        bus   => "ide",
        template => "/mnt/data/libvirt/images/svn01.img",
      },
      {  type    => "file",
        device  => "cdrom",
        dev    => "hdc",
        bus    => "ide",
        readonly => 1,
      },
    ],
    network => [
      {  type   => "bridge",
        bridge  => "virbr0",
      },
    ],
    type => "hvm";



Create a (Xen/PVM) VM named vm01 with 512 MB ram and 1 cpu. With one root partition (10GB in size) and one swap parition (1GB in size).



 vm create => "vm01",
    type  => "pvm",
    storage    => [
      {
        file   => "/mnt/data/libvirt/images/domains/vm01/disk.img",
        dev    => "xvda2",
        is_root => 1,
      },
      {
        file  => "/mnt/data/libvirt/images/domains/vm01/swap.img",
        dev   => "xvda1",
      },
    ];



This is the same as above, but with all options in use.



 vm create => "vm01",
    type  => "pvm",
    memory => 512*1024,
    cpus  => 1,
    clock  => "utc",
    on_poweroff => "destroy",
    on_reboot  => "restart",
    on_crash   => "restart",
    os       => {
      type  => "linux",
      kernel => "/boot/vmlinuz-2.6.32-5-xen-amd64",
      initrd => "/boot/initrd.img-2.6.32-5-xen-amd64",
      cmdline => "root=/dev/xvda2 ro",
    },
    storage    => [
      {  type  => "file",
        size  => "10G",
        device => "disk",
        file  => "/mnt/data/libvirt/images/domains/vm01/disk.img",
        dev   => "xvda2",
        bus   => "xen",
        aio   => 1, # if you want to use aio
      },
      {  type  => "file",
        size  => "4G",
        device => "disk",
        file  => "/mnt/data/libvirt/images/domains/vm01/swap.img",
        dev   => "xvda1",
        bus   => "xen",
        aio   => 1, # if you want to use aio
      },
    ],
    network => [
      {  type   => "bridge",
        bridge  => "virbr0",
      },
    ];



    Start/Stop/Destroy

Start a stopped vm



 vm start => "name";



Stop a running vm (send shutdown signal)



 vm shutdown => "name";



Hard Stop a running vm



 vm destroy => "name";



    Delete



 vm delete => "name";



    Modifying a VM

Currently you can only modify the memory.



 vm option => "name",
      max_memory => 1024*1024, # in bytes
      memory    => 512*1024;



    Request information of a vm



 vm info => "name";



    Request info from the underlying hypervisor



 vm hypervisor => "capabilities";



Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 REX::COMMANDS::VIRTUALIZATION (3) 2016-03-07

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.