Показаны сообщения с ярлыком virtualbox. Показать все сообщения
Показаны сообщения с ярлыком virtualbox. Показать все сообщения

суббота, 28 апреля 2012 г.

Хост VirtualBox на сервере CentOS без GUI



Т.к. репозитории CentOS не содержат пакетов VirtualBox, то RPM для RHEL5 берется с https://www.virtualbox.org/wiki/Linux_Downloads - каких-то невероятных зависимостей он не требует, только для установки модулей ядра необходимо иметь kernel-devel.
Ниже описывается работа с виртуальными машинами с помощью CLI утилиты VBoxManage. Подробная справка по ее опциям (на английском) имеется здесь: https://www.virtualbox.org/manual/ch08.html
Смотрим допустимые типы машин:
$ VBoxManage list ostypes
Создаем и регистрируем машину для solaris:
$ VBoxManage createvm --name sol11 --ostype OpenSolaris_64 --register --basefolder $HOME/vbox-sol11/
(последняя опция необязательна, но мне кажется, лучше всегда явно задавать, где будут храниться наши машины).
Какие ресурсы выделены машине по умолчанию, можно увидеть командой:
$ VBoxManage list -l vms
Наверняка нам захочется что-нибудь поменять. Придаем машине 2 процессора, 1 Гб памяти, системные часы, идущие по Гринвичу, и вторую сетевую карту типа bridge (первая типа nat создается автоматически):
$ VBoxManage modifyvm sol11 --memory 1024 --cpus 2 --rtcuseutc on --nic2 bridged --bridgeadapter2 eth1
(последняя опция указывает сетевой интерфейс хост-машины, к которому прицепится виртуальный интерфейс).
Если машин много, лучше смотреть настройки конкретной машины командой:
$ VBoxManage showvminfo sol11
Дисковый контроллер (в нашем случае - SCSI) добавляется командой:
$ VBoxManage storagectl sol11 --name scsi0 --add scsi
Создаем жесткий диск на 10 Гб (тип образа по умолчанию - vdi):
$ VBoxManage createhd --filename $HOME/vbox-sol11/sd0 --size 10240
и прицепляем его на контроллер:
$ VBoxManage storageattach sol11 --storagectl scsi0 --medium $HOME/vbox-sol11/sd0.vdi --port 1 --type hdd
Потом прицепляем образ загрузочного CD-ROM:
$ VBoxManage storagectl sol11 --name ide0 --add ide
(IDE контроллер пришлось создать, потому что диск типа dvddrive почему-то отказался присоединяться к SCSI)
$ VBoxManage storageattach sol11 --storagectl ide0 --medium $HOME/tmp/oi-dev-151a-text-x86.iso --device 0 --port 0 --type dvddrive
На время инсталляции придадим машине RDP-консоль:
$ VBoxManage modifyvm sol11 --vrde on --vrdeport 3389 --vrdeaddress 10.10.10.10
(две последних опции необязательны)
Для того, чтобы работал VRDP возможно придется установить Extension Pack - скачивается он там же, откуда мы брали rpm, и ставится командой:
$ VBoxManage extpack install
Теперь машину можно запускать:
$ VBoxManage startvm sol11 --type headless
Остановка машины:
$ VBoxManage controlvm sol11 poweroff
(еще возможные действия: acpipowerbutton, acpisleepbutton, pause, reset, resume, savestate)
Отцепить ненужный более cdrom можно командой:
$ VBoxManage storageattach sol11 --storagectl ide0 --port 0 --device 0 --medium none
(вместо none можно сделать emptydrive - такая операция допустима на запущенной машине).
Если понадобится проброс ssh c NAT-интерфейса на порт хост-машины (в данном случае 127.0.0.1:2222), то он делается так:

$ VBoxManage modifyvm sol11 --natpf1 sshd,tcp,127.0.0.1,2222,,22

среда, 5 ноября 2008 г.

Создание интерфейсов VLAN во FreeBSD 7.0 и Mandriva 2008.1



Задача - нужно создать два VLAN интерфейса (для определенности - номера VLAN: 62 и 99) на одной сетевой карте (пусть в Linux она будет eth0, во freebsd - em0). Кособокость обеих способов примерно одинакова, так что дальше нет ни слова пропаганды - просто констатация.

FreeBSD
Пересобираем ядро, добавив в конфиг строку
device vlan
или пишем в /boot/loader.conf
if_vlan_load="YES"
потом пишем в /etc/rc.conf такое:
cloned_interfaces="vlan62 vlan99"
ifconfig_vlan99="inet x.x.x.x netmask y.y.y.y vlan 99 vlandev em0"
ifconfig_vlan62="inet z.z.z.z netmask w.w.w.w vlan 62 vlandev em0"
после перезагрузки должны появиться интерефейсы vlan62 и vlan99

Mandriva
(аналогично все завелось на CentOS 5.2, в инете сообщалось, что та же схема работает и в других redhat-подобных дисрибутивах)
Должен быть установлен пакет, содержащий команду vconfig. В мандриве этот пакет звался vlan-utils и по умолчанию не был установлен - в CentOS 5.2 пакет vconfig стоял по умолчанию - ну там вообще много всего лишнего ;)
Короче говоря, делаем
$ which vconfig
и при отрицательном ответе хватаемся за urpmf (для мандривы) или yum search для CentOS.
Потом создаем файл /etc/sysconfig/network-scripts/ifcfg-eth0.62
в нем пишем такое:
DEVICE=eth0.62
VLAN=yes
BOOTPROTO=static
IPADDR=x.x.x.x
NETMASK=y.y.y.y
ONBOOT=yes
аналогично создаем и файл ifcfg-eth0.99
После команды
# /etc/init.d/network restart
у нас должны появиться интерфейсы eth0.62 и eth0.99
Для других семейств Linux привожу "сырые" команды оболочки (в самом крайнем случае, их можно и вписать в /etc/rc.local). Создание VLAN интерфейса:
# vconfig add eth0 62
удаление: (мне пригодилось и в мандриве ;)
# vconfig rem eth0.62

P.S. интерфейся Linux вида eth0.62 для комады sysctl будут выглядеть как eth0/62 - лишняя точка сбила бы команду с толку.
P.P.S. ежели используется VirtualBox, то следует заметить что на драйверах Intel PRO (em(4)) vlan не заведется - это не мной первым замечено - нужно использовать PCnet (le(4)).