Создание виртуальной машины VirtualBox с Centos 6.X. в командной строке linux
Имеем ноутбук, подключенный по WI-FI. На него нужно установить виртуальную машину с Centos. Доступа к управлению WI-FI точкой доступа нет.
Задаем переменную с именем создаваемой виртуальной машины, чтобы в дальнейшем лишний раз не подставлять данное значение в команды.
# su - vmadm
$ vboxmanage --version
4.3.28r100309
$ vm=vm_serv_1_centos_66
$ echo $vm
vm_serv_1_centos_66
Создаем каталоги для виртуальной машины и для snapshots
$ mkdir -p ${VM_HOME}/${vm}/snapshots
Создание и регистрация виртуальной машины:
Узнать список поддерживаемых операционных систем
$ VBoxManage list ostypes
$ VBoxManage createvm \
--name ${vm} \
--ostype RedHat_64 \
--basefolder ${VM_HOME}/${vm} \
--register
Должно появиться сообщение:
Virtual machine 'vm_serv_1_centos_66' is created and registered.
Устанавливаем планку оперативной памяти:
$ VBoxManage modifyvm ${vm} --memory 1024
Подключаю видеокарту на 32 MB:
$ VBoxManage modifyvm ${vm} --vram 32
Снимаю sound карту, вытаскиваем дисковвод:
$ VBoxManage modifyvm ${vm} --floppy disabled --audio none
Подключаю контроллер жестких дисков (SATA):
$ VBoxManage storagectl ${vm} \
--name "SATA Controller" \
--add sata \
--controller IntelAhci
Если понадобится удалить:
$ VBoxManage storagectl ${vm} --name "SATA Controller" --remove
Создание и подключение жестких дисков:
Создаю виртуальные жесткие диски. Размер (size), рекомендуется задавать согласно имеющихся ресурсов. Иначе возможны проблемы и крах виртуальной машины):
$ cd ${VM_HOME}/${vm}/${vm}
$ VBoxManage createhd \
--filename ${vm}_dsk1.vdi \
--size 40960 \
--format VDI \
--variant Standard
Подключаю диски к SAS контроллеру:
$ VBoxManage storageattach ${vm} \
--storagectl "SATA Controller" \
--port 0 \
--type hdd \
--medium ${vm}_dsk1.vdi
Подключаю IDE контроллер к которому будет позднее подключен DVD-ROM:
$ VBoxManage storagectl ${vm} \
--add ide \
--name "IDE Controller"
Подключаю к IDE контроллеру DVD образ инсталлируемой операционной системы:
$ VBoxManage storageattach ${vm} \
--storagectl "IDE Controller" \
--port 0 \
--device 0 \
--type dvddrive \
--medium ~/ISO/CentOS-6.6-x86_64-bin-DVD1to2/CentOS-6.6-x86_64-bin-DVD1.iso
Определяем порядок устройств, с которых будет произведена попытка стартовать систему:
$ VBoxManage modifyvm ${vm} \
--boot1 disk \
--boot2 dvd
Определяем каталог для снапшотов:
$ VBoxManage modifyvm ${vm} \
--snapshotfolder ${VM_HOME}/${vm}/snapshots
Подключение сетевых интерфейсов:
Мне понадобился 1 адаптер с NAT, чтобы компьютер мог выходить в интернет.
$ VBoxManage modifyvm ${vm} \
--nictype1 82540EM \
--nic1 nat
И понадобился 1 hostonly адаптер для подключения к виртуальной машине по SSH с хоста.
$ VBoxManage modifyvm ${vm} \
--nictype2 82540EM \
--nic2 hostonly \
--hostonlyadapter2 vboxnet0
ifconfig на хост машине должен выводить vboxnet0.
vboxnet0 - виртуальный адаптер хостовой машины.
Если виртуального адаптера нет, нуно его самостоятельно создать.
$ VBoxManage hostonlyif create
$ vboxmanage list hostonlyifs
Name: vboxnet0
GUID: 786f6276-656e-4074-8000-0a0027000000
DHCP: Disabled
IPAddress: 192.168.56.1
NetworkMask: 255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:00
MediumType: Ethernet
Status: Down
VBoxNetworkName: HostInterfaceNetworking-vboxnet0
Присвоить ip, если у него нет.
$ VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
Стартовать, если нужно
$ sudo ifconfig vboxnet0 up
Если что-то пошло не так, можно удалить созданный интерфейс командой:
$ VBoxManage modifyvm ${vm} --nic2 none
Предоставим возможность подключения к машине по RDP:
$ VBoxManage modifyvm ${vm} \
--vrde on \
--vrdemulticon on \
--vrdeauthtype null \
--vrdeaddress 192.168.1.5 \
--vrdeport 3389
Здесь мы указываем:
–vrdeaddress - ip адрес машины, на которой установлен vitrualbox
–vrdeauthtype null - аутентификация не требуется.
–vrdemulticon on - разрешено множественное подключение к виртуальным машинам.
–vrdeport порт к которому можно будет подключиться при старте виртуальной машины.
Показать результат созданной виртаульной машины:
$ VBoxManage showvminfo ${vm}
ВИРТУАЛЬНАЯ МАШИНА ГОТОВА ДЛЯ ИНСТАЛЛЯЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ
Стартуем виртуальную машину с возможностью подключения по RDP:
$ VBoxHeadless --startvm ${vm} &
Или
$ vboxmanage startvm ${vm} -type headless &
(В centos лучше запускать с nohup $ nohup vboxmanage startvm ${vm} -type headless &, иначе при закрытии сессии, вируальная машина будет убита).
Посмотреть стартованные виртуальные машины можно командой:
$ vboxmanage list runningvms
Подключиться к виртуальной машине:
Если работаете в linux, подключиться к виртуальной машине можно например, с помощью remmina, rdesktop
$ sudo apt-get install -y rdesktop
$ rdesktop \
-r sound:local \
-k common \
-g 1600x1024 \
192.168.1.5:3389
Иногда следует использовать и другие ключи:
-f полноэкранный режим. Для выхода из него CTRL+ALT+ENTER
-k en-ru указать явно раскладку клавиатуры.
rdesktop - всевозможные ключи:
http://manpages.ubuntu.com/manpages/lucid/man1/rdesktop.1.html
В Windows для этого вполне подойдет Remote Desktop Connecton (mstsc.exe)
Далее я обычно нажимаю tab [Enter] и дописываю linux text [Enter]
Могут понадобиться следующие команды:
Постинсталляционные донастройки после инсталляции операционной системы
-
Disable SE если он не нужен.
sed -i.bkp -e “s/SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config
-
Настройка сетевых интерфейсов.
Разумеется, для начала их нужно активировать и прописать нужные конфиги.
Получилось так, что имеем 2 Интерфейса. Одновременно работает только 1.
Удаляем ненужный и прописываем нужный. По умолчанию, должен использоваться NAT интерфейс.
$ route -n
$ route delete default gw 192.168.56.1 eth1
$ route add default gw 10.0.2.2 eth0
Чтобы после каждой перезагрузки не делать эти же команды каждый раз. (Не заработало у меня)
# vi /etc/sysconfig/static-routes
any -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.2.2 eth0