Планета Calculate

Облако тэгов

blog wiki qutim bonding bond канал calculate2 ldap cds mail hdd smart flashplayer alsa db маршрутизатор iptables полезное новости optimization emerge grub grub2 загрузка загрузчик перенесено cls CDS домашний сервер linux tbn calculate livecd cld uptime calculate linux bsa games templates шаблоны vpn tun tap ssh доступ удаленная сеть pptp samba winbind calculate-sources kernel update LVM ПО оптимизация репозиторий portage сеты EAPI 2 release ДНК DNA calculate 2.2 fonts шрифт сглаживание CLDX packages overlay CLD Calculate Gnome Desktop Office CLDG cldg gentoo postfix mailman maillist разработка kde и многопоточный звук CLS irc профиль пользователя рассылка wget многопоточная закачка calculate-install пресса news press screenshot gnome win7 theme Windows 7 установка calculate-install-gui developers костыли birthday серые листы почта Spamassassin twitter iphone интернет blueman bluetooth benchmark benchmarking facebook GSC CSS sony vaio template CDS dns dhcp wi-fi network XFCE autologin nouveau book install syslog authentication internet USE meta package builder recordmydesktop pitivi ffmpeg ubuntu debian windows stage desktop кеширование binary CMC BINHOST BugTracker live-flash MultiTail udev bittorrent acl tracker mirrorselect vim bash-completion помощь участие распространение openldap weechat binhost torrent mirror PowerTOP Midnight Commander bash командная строка mp3 cp1251 UTF-8 dropbox kde xfce textile dwm chromium интервью elogv udisks udisks-glue ccze grc most tail handbook calculate utilities make.conf man apvlv pdf djvu umd plugn #calculatelinux euse openrc NetworkManager dns python cairo-dock glx-dock windows 7 rtorrent rutorrent flags strategy X Xorg ati ati-drivers 11.6 udisks ntfs-3g team jabber pastebin video donation Gnome3 canto ncurses RSS reader cmc lirc ПДУ xbmc Audio sound pulseaudio history foto VirtualBox Calculate Linux world openbox xchat tint tint2 slim feh obconf obmenu xxkb nm-applet автологин брелок bug autounmask package unmasking nut lighttpd ups atheros9285 atheros asus Zen оптимизация ядра lvm raid btrfs p2p linuxdcpp Calculate Utilities перемещаемые профили xorg установка linux настройка linux оптимизация linux asus n10j двойная загрузка atom n270 dhcp KDE MidnightCommander kde vlc smplayer mplayer настройка цветов монитора настройка цветов фотоаппарата настройка цветов принтера настройка цветов сканера цветовой профиль icc locale localepurge Atheros Calculate Linux Enlightenment E17 Calculate Calculate E17 mc swap ParaType font глобальное меню git ускорение keyboard layout pwkl proxy profile E17 backdor vulnerability безопасность firefox звук hdmi TV mouse клавиатура мышка радио mpg123 ppp0 net ядро xsel gnome3 Скоростной алгоритм сжатия LZ4 acoola Calculate USB Creator видео screencast 1C postgresql apache pam security pxe aufs calculate3 midori кодировка CP1251 Summer Camp beta начало блог описание python3 Icon programming установка Icon в Calculate фидонет фидо linux icon распространение программ утилитки на Icon nano подсветка синтаксиса создание подсветки синтаксиса день программиста ratigan монитор экран разрешение persistence persistence-mode liveusb livedvd remoteapp freerdp w2k3 w2k8 keyexec radeon AMD pf-kernel pre code documentation форматирование текста fontconfig lcdfilter fonts шрифты DPI qrencode qr-code xfce cl-console-bg screensaver caffeine курсор мыши unclutter steam valve objecticon сборка из исходников mencoder Firefox ext4 e4rat gnome 2 tuxonice hibernate uefi сайт github dvcs Либрусек MyRuLib Библиотека Книги сервер xen виртуализация google talk-plugin dmix звуковые карты rip GPT EFI CL14 SSD производительность обмен опытом mate cldm alpha shorewall firewall clementine dmidecode tools CSC dhcpcd networking pgo АТС asterisk revision Tor lautre lm_sensors monitoring temperature cl-update-profile minicom 3G 4G LTE Huawei cl cpu family utilities eudev systemd cl-kernel браузер tweaks RT zswap uksm nexus android bootchart OpenRC systemd-udevd new MATE dconf features CLDM abi_x86_32 kde5 KDE5 Plasma CLSK freshplayerplugin otter QupZilla openssh ControlMaster Снобизм XZ kernek qupzilla calculate-utils работа вакансия программист android kde mtp ebuild CLSL день рождение CLDL CLDC Cinnamon calculate linux antivirus free помощь проекту calculate utils реестр icons browser cl-builder Compose unicode ini.env su sudo CL17 план plan luks cryptsetup codelite cpp support forum форум lto howto дизайн Timeless тема gcc power energy saving CLC LXC LXD distro container telegram repo libvirt kvm qemu rdp automagic softraid muqss pae x86 markdown dnscrypt server vps openvpn calculate-access lxc-desktop CCDX xmpp reestr nextcloud zstd LXQt CLDXE xpak firmware instagram plymouth matrix IRC Matrix XMPP bridge

Настройка запуска VirtualBox-машин демоном в режиме headless

Добавил(а) Iurii Blokhin больше 13 лет назад

Некоторое время назад столкнулись с задачей сделать виртуальную машину, которая будет подниматься как сервис на одном из серверов.

Для реализации этой задачи нам нужен Virtualbox с поддержкой Headless. Ставим либо app-emulation/virtualbox-bin, либо app-emulation/virtualbox. На virtulbox-bin версии 4.1.12 столкнулись с проблемой отсутствия звука, потому мы использовали ту версию, что полностью собирается из исходников.

echo "app-emulation/virtualbox headless extensions alsa" >> /etc/portage/package.use/custom
emerge -a app-emulation/virtualbox

После того, как мы установили Virtualbox, добавим /etc/conf.d/modules модули необходимые для работы виртуальных машин: vboxdrv vboxnetflt vboxnetadp. Чтобы не перезагружать компьютер, а работать прямо сейчас выполним: modprobe -a vboxdrv vboxnetflt vboxnetadp

Теперь нам необходимо создать пользователя, от которого мы будем запускать нашу виртуальную машину и производить все последующие действия и перейдем на выполнение команд от этого пользователя.

useradd vbuser -m -G audio,cdrom,video,cdrw,users,vboxusers
su vbuser
cd

Теперь приступим к созданию и настройке виртуальной машины.

VBoxManage createvm --name "winxp" --register

Потом мы задаем настройки для этой машины. Сеть делаем в режиме бриджа, чтобы машина имела свой собственный ip в сети.

VBoxManage modifyvm "winxp" --memory "512" --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0

Создаем виртуальный жесткий диск размером 10Гб и устанавливаем его первым для нашей машины.

VBoxManage createhd --filename "WinXP.vdi" --size 10000
VBoxManage storagectl "winxp" --name "IDE Controller" --add ide --controller PIIX4
VBoxManage storageattach "winxp" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "WinXP.vdi" 

Включаем звук.

VBoxManage modifyvm "winxp" --audio alsa

Теперь подключаем cd-образ, с которого мы будем ставить систему:

VBoxManage storageattach "winxp" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /full/path/to/iso.iso

Теперь попробуем запустить нашу виртуальную машину, если все настроено нормально, то мы увидим строчки с копирайтами и информацию о том, на каком порту поднят RDP для доступа к виртуальной машине.

VBoxHeadless --startvm "winxp" 

Нормальный запуск выглядит следующим образом.

Oracle VM VirtualBox Headless Interface 4.1.12_Gentoo_
(C) 2008-2012 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3389.

Теперь используя net-misc/rdesktop подключаемся к нашей машине rdesktop host:3389 и производим установку системы.

Порт VRDP можно поменять следующим образом.

VBoxManage modifyvm "winxp" --vrdeport 3390

В случае, если на машине несколько сетевых интерфейсов, то можно указать на каком из них будет подниматься VRDP.

VBoxManage modifyvm "winxp" --vrdeaddress 192.168.1.51

Теперь настало время настройки автозапуска виртуальной машины. Для этого нам понадобится несколько файлов:
Приложенный файл virtualbox.winxp содержит в себе настройки для запуска виртуальной машины. Его следует разместить в папке /etc/conf.d/

В данном файле мы указываем от какого пользователя, какую машину и как именно будем запускать.

# Username to start vbox as, must be part of vboxusers group.
VM_USER="vbuser" 

# Virtual Machine Name
VM_NAME="winxp" 

# Shutdown Method: pause|resume|reset|poweroff|savestate|acpipowerbutton|acpisleepbutton
VM_SHUTDOWN="savestate" 

# Nice Priority: -20 (most favorable scheduling) to 19 (least favorable)
VM_NICE=0

Файл virtualbox следует сделать исполняемым и разместить в папке /etc/init.d/ - это демон для запуска виртуальных машин.

Остались финальные штрихи: создаем символическую ссылку для демона запуска и добавляем его в автозагрузку.

ln -s /etc/init.d/virtualbox /etc/init.d/virtualbox.winxp
rc-update add virtualbox.winxp default

Теперь виртуальная система будет стартовать при запуске и к ней можно будет подключиться по RDP.

virtualbox (3,41 КБ)

virtualbox.winxp (317 байта)


Комментарии

Comment

Добавил(а) radcat none больше 13 лет назад

Большое спасибо, используем headless и Ваша статья помогла решить некоторые вопросы

Comment

Добавил(а) Михаил Гагауз около 13 лет назад

Интересна статья.
Когда-то пробовал
virtualbox USE="headless vboxwebsrv"
сходу не разобрался и оставил попытки.
Вы не пробовали разобраться с vboxwebsrv?

PS
Решил погуглить. Похоже сам себе нашел ответ
и он даже в портежах есть

# eix phpvirtualbox
* app-emulation/phpvirtualbox
     Available versions:  (4.1.7) ~4.1.7
        {{vhosts}}
     Homepage:            http://phpvirtualbox.googlecode.com
     Description:         Web-based administration for VirtualBox in PHP

Comment

Добавил(а) Сергей Моложников около 13 лет назад

За статью огромное спасибо
только у меня вопрос
как подсадить драйвера на сетевую если винда 2008 не видит сетивых драйверов(решение это нужно поставить драйвера на AMD PCNET Family Ethernet Adapter (PCI))
и у Вас мышка нормально в рдп работает у меня она то подвисает то притормаживает (проблему мыши решил добавлением Guest Additions драва на сетевую так и не могу решить )...
был бы очень признателен помощи.
подключение общей папки
незабываем тушить
VBoxManage controlvm testmachine poweroff
VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "/home/vbuser/общая папка" --automount

Спасибо!