VirtualBox одна VM на 2-х пользователей хоста

Модератор: Модераторы разделов

Modigar
Сообщения: 131

VirtualBox одна VM на 2-х пользователей хоста

Сообщение Modigar »

Добрый день!
Подскажите, возможно ли такое, что бы одна виртуальная машина работала на 2-х хостовых пользователей, при этом, если один выключает ее "с сохранением состояния на диск", то другой мог бы из под своего аккаунта восстановить это состояние?
PS: одномоментно работать они естественно не будут с ней.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4456
Статус: GNU generation
ОС: Debian GNU/Linux

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Rootlexx »

Поиском в Google пользоваться не пробовали?
Спасибо сказали:
apprentice
Сообщения: 595
ОС: Debian 6

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение apprentice »

Modigar писал(а):
07.10.2010 11:16
что бы одна виртуальная машина работала на 2-х хостовых пользователей,


Вы хотите что бы они работали по очереди?

Если да, то поместите виртуальную машину и ее диски в папку доступную обеим пользователям и назначите права доступа ко всем файлам. (например создайте группу пользователей этой виртуальной машины)
Спасибо сказали:
Modigar
Сообщения: 131

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Modigar »

apprentice писал(а):
07.10.2010 15:49
Вы хотите что бы они работали по очереди?

Если да, то поместите виртуальную машину и ее диски в папку доступную обеим пользователям и назначите права доступа ко всем файлам. (например создайте группу пользователей этой виртуальной машины)

Я вобщем то так и сделал, но весь вопрос в том, что если один пользователь ее выключит с сохранением состояния на диск, то только он может из этого состояния достать, а другой загружает ее с нуля, т.е. не может восстановить сохраненное другим пользователем состояние - в главном окне нет такого, что машина остановлена, там показывается что она выключена.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4456
Статус: GNU generation
ОС: Debian GNU/Linux

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Rootlexx »

Modigar
Прочие настройки VirtualBox сохраняются в профиле пользователя в каталоге ~/.VirtualBox, значит, нужно сделать весь этот каталог общим, а не только диски и саму машину.
Спасибо сказали:
Modigar
Сообщения: 131

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Modigar »

Rootlexx писал(а):
07.10.2010 19:13
Modigar
Прочие настройки VirtualBox сохраняются в профиле пользователя в каталоге ~/.VirtualBox, значит, нужно сделать весь этот каталог общим, а не только диски и саму машину.

Так мне и надо сделать так, что бы настройки брались из одного места для обоих пользователей, а не у каждого свои были. Ну и вопрос по поводу восстановления машины от другого пользователя актуален.
PS: В настройках обоих пользователей указываю одну и ту же папку с виртуальными машинами, но если под одним создать, то под другим она не отображается.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4456
Статус: GNU generation
ОС: Debian GNU/Linux

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Rootlexx »

Modigar писал(а):
07.10.2010 22:28
Так мне и надо сделать так, что бы настройки брались из одного места для обоих пользователей, а не у каждого свои были.

Примерный алгоритм:
  • Создайте каталог вне пользовательских, который и будет профилем VirtualBox для обоих пользователей, и обеспечьте им полный доступ.
  • В профилях пользователей создайте символические ссылки на этот каталог с именем, соответствующим имени каталога профиля VirtualBox.
  • Создавайте и используйте ваши виртуальные машины, располагая их в профиле пользователя. Реально располагаться они будут в общем каталоге.
Спасибо сказали:
Modigar
Сообщения: 131

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Modigar »

Rootlexx писал(а):
07.10.2010 23:10
Примерный алгоритм:
  • Создайте каталог вне пользовательских, который и будет профилем VirtualBox для обоих пользователей, и обеспечьте им полный доступ.
  • В профилях пользователей создайте символические ссылки на этот каталог с именем, соответствующим имени каталога профиля VirtualBox.
  • Создавайте и используйте ваши виртуальные машины, располагая их в профиле пользователя. Реально располагаться они будут в общем каталоге.

Хорошо быть умным...
Спасибо, все получилось, лучше некуда!
Спасибо сказали:
Modigar
Сообщения: 131

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Modigar »

Еще один баг вылез:
каждый раз при запуске VB она создает файл %mashine_name%.xml с правами пользователя, который ее запустил, на остальных пользователей стоит только чтение, поэтому при запуске от другого, ругается, что %mashine_name%.xml не доступен для изменения.
Как и где можно указать, что бы файл создавался с нужными правами?
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4456
Статус: GNU generation
ОС: Debian GNU/Linux

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Rootlexx »

Modigar писал(а):
08.10.2010 17:01
каждый раз при запуске VB она создает файл %mashine_name%.xls с правами пользователя, который ее запустил, на остальных пользователей стоит только чтение, поэтому при запуске от другого, ругается, что %mashine_name%.xls не доступен для изменения.

Разъясните, пожалуйста: если ВМ каждый раз создаёт новый файл, то как при запуске от другого пользователя ВМ может ругаться на права? - ведь она должна создать этот файл с новыми правами! Или всё же этот файл создаётся лишь раз, и тогда достаточно дать ему права на запись для всех пользователей?
Если всё же всё происходит так, как вы говорите, то можно попробовать сделать так: создать группу пользователей, добавить в неё обоих, а VirtualBox запускать так:

Код: Выделить всё

sg группа -c virtualbox

Или же можно изменить umask для VirtualBox:

Код: Выделить всё

umask 0000; virtualbox
- правда, есть вероятность, что ВМ сама установит нужные права на файл после создания, проигнорировав тем самым значение umask.
Спасибо сказали:
Modigar
Сообщения: 131

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Modigar »

Rootlexx писал(а):
08.10.2010 17:19
Modigar писал(а):
08.10.2010 17:01
каждый раз при запуске VB она создает файл %mashine_name%.xls с правами пользователя, который ее запустил, на остальных пользователей стоит только чтение, поэтому при запуске от другого, ругается, что %mashine_name%.xls не доступен для изменения.

Разъясните, пожалуйста: если ВМ каждый раз создаёт новый файл, то как при запуске от другого пользователя ВМ может ругаться на права? - ведь она должна создать этот файл с новыми правами! Или всё же этот файл создаётся лишь раз, и тогда достаточно дать ему права на запись для всех пользователей?
Если всё же всё происходит так, как вы говорите, то можно попробовать сделать так: создать группу пользователей, добавить в неё обоих, а VirtualBox запускать так:

Код: Выделить всё

sg группа -c virtualbox

Или же можно изменить umask для VirtualBox:

Код: Выделить всё

umask 0000; virtualbox
- правда, есть вероятность, что ВМ сама установит нужные права на файл после создания, проигнорировав тем самым значение umask.

Под одним пользователем создает файл, а под другим пользователем этот файл не доступен для редактирования, следовательно, другая копия VB, запущенная от другого пользователя не может работать с ним.
Файл либо создается каждый раз новый (старый удаляется), либо правится старый и у него правятся еще и права.
umask не помогло
изменение группы пользователей тоже не помогло, т.к. полные права ставятся виртуалбоксом только владельцу, остальным - только чтение.
есть вариант изменить скрипт запуска VB, но в скриптах я не силен, и куда chmod вставлять не знаю

Код: Выделить всё

PATH="/usr/bin:/bin:/usr/sbin:/sbin"
if [ "$1" = "shutdown" ]; then
    SHUTDOWN="true"
elif ! lsmod|grep -q vboxdrv; then
    cat << EOF
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (`uname -r`) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /etc/init.d/vboxdrv setup

         You will not be able to start VMs until this problem is fixed.
EOF
elif [ ! -c /dev/vboxdrv ]; then
    cat << EOF
WARNING: The character device /dev/vboxdrv does not exist. Try

           sudo /etc/init.d/vboxdrv restart

         and if that is not successful, try to re-install the package.

     You will not be able to start VMs until this problem is fixed.
EOF
fi

if [ -f /etc/vbox/module_not_compiled ]; then
    cat << EOF
WARNING: The compilation of the vboxdrv.ko kernel module failed during the
         installation for some reason. Starting a VM will not be possible.
         Please consult the User Manual for build instructions.
EOF
fi

SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
if [ -z "$SERVER_PID" ]; then
    # Server not running yet/anymore, cleanup socket path.
    # See IPC_GetDefaultSocketPath()!
    if [ -n "$LOGNAME" ]; then
        rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1
    else
        rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1
    fi
fi

if [ "$SHUTDOWN" = "true" ]; then
    if [ -n "$SERVER_PID" ]; then
        kill -TERM $SERVER_PID
        sleep 2
    fi
    exit 0
fi

APP=`which $0`
APP=`basename $APP`
APP=${APP##/*/}
case "$APP" in
  VirtualBox)
    exec "/usr/lib/virtualbox/VirtualBox" "$@"
   ;;
  VBoxManage)
    exec "/usr/lib/virtualbox/VBoxManage" "$@"
   ;;
  VBoxSDL)
    exec "/usr/lib/virtualbox/VBoxSDL" "$@"
   ;;
  VBoxVRDP)
    exec "/usr/lib/virtualbox/VBoxHeadless" "$@"
   ;;
  VBoxHeadless)
    exec "/usr/lib/virtualbox/VBoxHeadless" "$@"
   ;;
  vboxwebsrv)
    exec "/usr/lib/virtualbox/vboxwebsrv" "$@"
   ;;
  *)
    echo "Unknown application - $APP"
   ;;
esac
Спасибо сказали:
Modigar
Сообщения: 131

Re: VirtualBox одна VM на 2-х пользователей хоста

Сообщение Modigar »

Вроде как поборол:
создал файлик исполняемый VirtualBox_multiuser, в нем вызов самого виртуалбокса и потом применение прав на папку

Код: Выделить всё

VirtualBox
chmod -R 777 /home/VIRTUALBOX

короче говоря, он переделывает права на файлы, созданные в этой сессии, т.е. на необходимый мне %mashine_name%.xml
Протестил, под обоими юзерами работает, не глючит.
Спасибо сказали: