14 дек. 2010 г.

Новое в VirtualBox 4 beta

  • Копирование файлов с хоста в гостевую систему(жаль,что нет обратной функции):

  • VBoxManage copyto vmname|uuid [--username "name"] [--password "password"][--dryrun] [--recursive] [--verbose] [--flags ]

  • Обновление гостевых дополнений в госте с хоста(только для версии 4.0 и выше).

  • VBoxManage guestcontrol updateadditions vmname|uuid [--source "файл образа .ISO с гостевыми доплнениями"] [--verbose]

  • Проброс портов для NAT интерфейсов, теперь можно настраивать в диалоговом окне.


  • Изменились пути на каталоги, где храняться настройки ВМ, там же будут храниться образы дисков, т.е. все в одном месте: $HOME/VirtualBox VMs/ИмяВМ/ для linux.(Наконец то)


  • Импорт виртуальных машин в формате OVA: настройки и диски в одном сжатом файле.


  • Задание лимитов ввода/вывода(скорости обмена с виртуальными жесткими дисками и сетевых карт). Это уже enterprise
  • VBoxManage bandwidthctl uuid|vmname --name name [--add disk|network] [--limit "MB/s" [--delete]

  • Заявлена также поддержка (но как делается не нашел) задание лимитов CPU . Полезно, если ВМ будет сильно нагружать хост.


  • Заявлена поддержка функции изменения размера образов VDI и VHD (не нашел)
  • 7 дек. 2010 г.

    28 нояб. 2010 г.

    Скрипт перезапуска/приостановки работающих ВМ

    Источник http://tech.hj60.com/suspending-all-virtualbox-vms-easily.

    Если у вас одновременно работает несколько виртуальных машин на virtualbox, то этот сценарий поможет вам автоматически сохранять их состояние при запуске и включении хоста.

    #!/bin/bash
    # Save the state of all running VMs or start all saved VMs.
    # Сохраняет состояние всех работающих ВМ и запускает все сохраненные ВМ

    NO_ARGS=0
    E_OPTERROR=85

    if [ $# -eq "$NO_ARGS" ]
    then
    echo "Usage: `basename $0` save|start|status"
    exit $E_OPTERROR
    fi

    case "$1" in
    "save" )
    for vm in `VBoxManage -q list runningvms | cut -d"{" -f2 | cut -d"}" -f1`; do VBoxManage -q controlvm $vm savestate; done
    sleep 1s
    VBoxManage -q list -l vms | egrep -e '(^State|^UUID|^Name)'
    ;;
    "start" )
    VBoxManage list -l vms | egrep -e '(^State|^UUID)' >/tmp/vboxscript.$$
    export IFS=$'\n'
    for line in `cat /tmp/vboxscript.$$`
    do
    if [[ $line == UUID* ]]
    then
    unset STATE
    UUID=`echo $line | tr -s " " | cut -d" " -f2`
    elif [[ $line == State* ]]
    then
    STATE=`echo $line | tr -s " " | cut -d" " -f2-3 | cut -d"(" -f1`
    fi
    if [ "$STATE" = "saved " ]
    then
    nohup /usr/bin/VBoxHeadless -startvm $UUID >/dev/null 2>&1 &
    fi
    done
    unset IFS
    rm -f /tmp/vboxscript.$$
    sleep 10s
    VBoxManage -q list -l vms | egrep -e '(^State|^UUID|^Name)'
    ;;
    "status" )
    VBoxManage -q list -l vms | egrep -e '(^State|^UUID|^Name)'
    ;;
    esac